0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

谷歌公布并开源Pigweed 嵌入式库的集合

汽车玩家 来源:开源中国 作者:懒猫 2020-03-21 09:41 次阅读

谷歌于 1 月下旬曾向 USPTO(美国专利及商标局)递交了名为 “Pigweed” 的新商标申请。根据申请内容来看,Pigweed 商标涵盖“计算机操作软件”。当时,人们猜测这是一款新的操作系统商标,但并未有任何相关信息提供。

昨日,谷歌毫无征兆地公布并开源了 Pigweed。与之前的猜想不同,这是一个嵌入式库(或模块)的集合。使用 Pigweed 模块可以在 32 位微控制器( 即嵌入单电路芯片中的小型计算机)上实现更快、更可靠的开发。

Pigweed 提供的模块可满足嵌入式开发人员的广泛需求。从整个生命周期来看,Pigweed 从设置,到开发,再到代码提交,都能够有效提高嵌入式开发的效率。谷歌以上述开发过程为轴,围绕这几个方面分别介绍了 Pigweed 的一些模块。

嵌入式空间中的经典挑战是减少从运行 git clone 到在设备上执行二进制文件的时间。对于生产嵌入式项目,往往通常需要一整套工具。而Pigweed 能够通过虚拟环境提供简化设置的工具,具体来说,Pigweed 的 pw_env_setup 模块中的引导脚本可设置当前的 shell 以访问一组标准化工具——包括 Python 3.8、clang 格式以及 ARM 编译器。所有这些都是在虚拟环境中完成的,因此无需修改系统的默认环境。

在典型的嵌入式开发中,即使添加很小的更改也需要一些额外的手动步骤。而Pigweed 的 pw_watch 模块直接解决了这种效率低下的问题,它提供了一个监视者(watcher),该监视者可以在保存文件时自动调用构建,还可以运行受代码更改影响的特定测试。这大大缩短了更改的编辑——编译——刷新——测试(edit-compile-flash-test)周期。

这些测试都是自动完成的,用户无需离开自己的代码编辑器。此外,还可以使用 pw_target_runner 模块在多个设备上并行运行测试,从而节省更多时间。

团队开发代码需要强调一致性,然而,设置 lint、配置代码格式以及添加自动的提交前检查等通常会使这项工作无限期延迟。这时,Pigweed 的 pw_presubmit 模块可派上用场。它会基于用户可能已经使用的工具提供现成的 Lint 集成套件,并预先配置好,可以立即供微控制器开发人员使用。

至于该项目为什么取名为“Pigweed”,谷歌给出了解释:“Pigweed,又称amaranth ,是一种营养丰富的谷物和绿叶沙拉菜,也是一种快速生长的杂草。”Pigweed 项目团队希望名字有趣,又能反映项目本身的成长,就像快速生长的杂草Pigweed 一样。

目前,Pigweed 已提供了不少模块,后续将会有更多模块被添加进来。需要注意的是,它仍处于早期开发阶段,目前不适合用于生产。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7487

    浏览量

    151020
  • 嵌入式
    +关注

    关注

    5068

    文章

    19013

    浏览量

    303074
  • 谷歌
    +关注

    关注

    27

    文章

    6141

    浏览量

    105068
收藏 人收藏

    评论

    相关推荐

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入到某种设备或系统中,以实现特定功能的计算
    的头像 发表于 10-16 10:14 480次阅读

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要功能是根据需要管理和控制设备
    的头像 发表于 09-30 10:05 360次阅读

    一种常用嵌入式开发代码

    使用开源协议:GPL-2.0varch简介varch(we-architecture,意为我们的框架)是嵌入式C语言常用代码模块,包含了嵌入式
    的头像 发表于 09-04 08:06 372次阅读
    一种常用<b class='flag-5'>嵌入式</b>开发代码<b class='flag-5'>库</b>

    七大嵌入式GUI盘点

    的桌面开发工具,该工具允许开发人员在桌面上设计其GUI生成GUIX代码,然后可以将其导出到目标。 嵌入式系统通常资源有限,包括内存、处理能力和存储空间。因此,要仔细评估 GUI 的资源需求,并进
    发表于 09-02 10:58

    名单公布!【书籍评测活动NO.42】 嵌入式Hypervisor:架构、原理与应用

    嵌入式Hypervisor的架构、设计与实现、高级应用和未来规划。阅读本书,不仅提升读者对嵌入式Hypervisor的认知,还能助力汽车、航空航天等高安全需求行业打造适用的产品,构建
    发表于 08-23 15:17

    RT-Thread出席第六届中国嵌入式技术大会,共话嵌入式操作系统与智能工业

    第六届中国嵌入式技术大会将于8月27-28日在深圳会展中心(福田)1号馆举行。本届大会以“AI与开源,开启嵌入式系统智能新时代”为主题,聚焦人工智能与嵌入式应用、
    的头像 发表于 08-03 08:35 362次阅读
    RT-Thread出席第六届中国<b class='flag-5'>嵌入式</b>技术大会,共话<b class='flag-5'>嵌入式</b>操作系统与智能工业

    如何成为一名嵌入式C语言高手?

    高手需要掌握C语言基础、了解嵌入式系统的硬件架构和工作原理,通过实践项目提升技能,积极参与开源项目和技术社区。持续学习和自我提升是成为嵌入式C语言高手的关键。相信通过不断努力和实践,
    发表于 04-07 16:03

    如何成为一名嵌入式C语言高手?

    高手需要掌握C语言基础、了解嵌入式系统的硬件架构和工作原理,通过实践项目提升技能,积极参与开源项目和技术社区。持续学习和自我提升是成为嵌入式C语言高手的关键。相信通过不断努力和实践,
    发表于 03-25 14:12

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案。嵌入式系统是一种为特定应用而设计的计算机系统,它通常包括处理器、内存、外设接口等组件,并且被嵌入到更大的设备或系统中,
    的头像 发表于 03-15 14:29 1189次阅读

    fpga是嵌入式

    FPGA(现场可编程门阵列)不是嵌入式系统,但FPGA在嵌入式系统中有着重要的应用。
    的头像 发表于 03-14 17:19 2138次阅读

    嵌入式人工智能的就业方向有哪些?

    。 国内外科技巨头纷纷争先入局,在微软、谷歌、苹果、脸书等积极布局人工智能的同时,国内的BAT、华为、小米等科技公司也相继切入到嵌入式人工智能的赛道。那么嵌入式AI可就业的方向有哪些呢? 嵌入
    发表于 02-26 10:17

    基于Rust的嵌入式符合ACID的键值数据

    surrealkv -- 基于 Rust 的 low level、版本化、嵌入式、符合 ACID 的键值数据
    的头像 发表于 12-28 11:29 855次阅读

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不一样,所以我整理了一下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 627次阅读
    <b class='flag-5'>嵌入式</b>软件工程师常用的

    什么是嵌入式系统?嵌入式系统的具体应用

    嵌入式,一般是指嵌入式系统。用于控制、监视或者辅助操作机器和设备的装置。
    的头像 发表于 12-20 13:33 2388次阅读

    嵌入式C语言的结构特点

    过程中,不论是基于寄存器开发还是基于开发,深入理解和掌握嵌入式C语言的函数、指针、结构体是学习STM32的关键。嵌入式C语言的结构特点如下。 (1)程序总是从main函数开始执行,语句以分号“;”结束,采用/ … /或//做注
    的头像 发表于 11-24 16:16 638次阅读
    <b class='flag-5'>嵌入式</b>C语言的结构特点