谷歌开源 Pigweed,用于提升嵌入式开发效率
谷歌于 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 已提供了不少模块,后续将会有更多模块被添加进来。需要注意的是,它仍处于早期开发阶段,目前不适合用于生产。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
谷歌宣布彻底取消 I/O 2020
谷歌今日发文宣布,彻底取消今年的开发者大会(即 I/O 2020),且不会以任何方式举行,包括线上。 年度开发者大会原定于 5 月 12 日至 14 日在加利福尼亚山景城的海岸线露天剧场举行。3 月初,谷歌曾发公告宣布取消现场会议,同时表示正在探索其他方式进行活动。 新的决定可能与加州前一天新出台的“宅家”政策有关,谷歌在推文中提到,这符合湾区当地政府的 “shelter in place” 要求。 人们担心这也会对 Android 和其他产品的进展带来影响,谷歌回应说,会通过社区论坛和开发者博客共享正在进行的 Android 更新。 “目前,我们所有人最能做的就是将注意力集中在帮助人们应对我们都面临的新挑战上”,谷歌称。“我们将继续竭尽所能,以帮助我们的社区保持安全、知情和联系。”
- 下一篇
跟随上游项目节奏,微软 Edge 团队宣布暂停更新 Microsoft Edge
微软在今日置顶的推特表示,考虑到当前形势,Edge 团队将与Chromium 项目的开发节奏保持一致,暂停将稳定通道更新至Edge 81。当然这并不代表团队会暂停 Microsoft Edge 的开发,他们仍会致力于对 Edge 80 进行持续的安全性和稳定性更新。更多信息请等待下周分享。 由于新冠疫情在全球范围内的影响,谷歌已于前天宣布暂停 Chrome 和 Chrome OS 的版本更新,但会优先考虑与安全相关的所有更新,这些更新将包含在 Chrome 80 中。至于 Chrome 81,这种中断状态只要没宣布结束,谷歌不会发布更新。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6