写点什么

谷歌开源面向设备开发人员的微控制器模块集 Pigweed

  • 2020-03-27
  • 本文字数:1356 字

    阅读完需:约 4 分钟

谷歌开源面向设备开发人员的微控制器模块集Pigweed

近日,谷歌开源了 Pigweed,这是一个为使用 32 位设备的开发人员设计的一个微控制器模块集。其目的是使人们可以更快、更可靠的开发微控制器 — 即嵌入在单个电路芯片中的小型计算机。假设它能像宣传的那样,那么 Pigweed 可以在智能家居、制造业、机器人、汽车、甚至电信等一系列行业中加速硬件的发展。



图片来源:Khari Johnson / VentureBeat


1 月下旬,谷歌向美国专利商标局申请了 Pigweed 的商标,文件显示,该项目将涉及“计算机操作软件”。有些人将其理解为类似于谷歌Fuchsia的新操作系统,但在一篇博文中,谷歌明确表示,Pigweed 只是一个微控制器库的集合。


Pigweed 附带的工具通过虚拟环境提供了简化的设置。Pigweed pw_env_setup 模块中的引导脚本设置了当前的 shell,使其能够访问一组标准化的实用程序——包括 Python 3.8、clang-format 和 ARM 编译器——所有这些都不需要修改系统的默认环境。



Pigweed 支持分布式测试,以及预配置的代码格式化,并集成了预提交检查。在代码编辑器中,pw_watch 模块提供了一个监视程序,该程序在保存文件时会自动调用构建,并运行受代码更改影响的测试,缩短更改的编辑-编译-刷写-测试周期。例如,pw_watch 可以在构建受影响的库和二进制文件、将测试刷写到目标设备并运行特定的单元测试之前检测文件更改。


Pigweed 的pw_target_runner模块在多个设备上并行运行测试,而它的 pw_pressubmit 模块基于预先配置好的、供微控制器开发人员使用的工具,提供了现成的 linter 套件(用于分析源代码以标记错误和 bug 的工具)。Pw_tokenizer在编译时将字符串转换为二进制标记,从而使日志记录在闪存、RAM 和 CPU 使用方面的开销更少。Pw_bloat为输出二进制文件生成内存报告,从而向开发人员提供有关更改对内存影响的信息。



以下是在最初的 Pigweed 版本中包含的其他模块列表:


  • Pw_string:这个模块提供了 C++风格字符串操作的灵活性和安全性,但没有动态内存分配,对二进制大小的影响更小。

  • Pw_unit_test:一个建立在嵌入式友好的原语之上的模块,它不使用动态内存分配。它可以通过实现测试事件处理程序接口来用于移植到新的目标平台。

  • Pw_kvs:一种集成了损耗平衡的闪回持久化存储的键值存储实现;一个面向嵌入式设备文件系统的轻量级替代品。

  • Pw_cpu_exception_armv7m:ARM Cortex-M 的底层硬件故障处理程序;处理程序用汇编语言编写单元测试,以验证嵌套硬件故障处理。

  • Pw_protobuf:面向 wire 格式的协议缓冲区实现的早期预览。


到目前为止,Pigweed 源码是在 Apache 2.0 许可下提供的。谷歌警告说,它仍处于早期开发阶段,目前不建议用于生产。


那么,“Pigweed”这个名字的起源是什么呢?谷歌指出,这是一种营养丰富的谷物和绿叶沙拉,也是一种快速生长的杂草。在开发最终成为 Pigweed 的项目时,这家科技巨头想要找一个有趣、好玩且能反映 Pigweed 生长过程的名字。


谷歌写道:“团队一开始会使用一个吸引他们眼球的模块,如果一切顺利,他们很快就会开始使用更多的模块。我们正在继续改进并添加新的模块。我们希望嵌入式社区的其他人能够发现这些模块对他们的项目有帮助。”


本文最初发布于 VentureBeat 博客,经原作者授权由 InfoQ 中文站翻译并分享。


延伸阅读:


https://venturebeat.com/2020/03/19/google-open-sources-pigweed-microcontroller-modules-for-32-bit-devices/


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-03-27 07:00930
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 493.7 次阅读, 收获喜欢 1967 次。

关注

评论

发布
暂无评论
发现更多内容

基于OLT(实体、关系、标签)建模方法论的最佳实践 | StartDT Tech Lab 08

奇点云

浅谈对象体系 | StartDT Tech Lab 07

奇点云

【数据库】数据库访问控制策略包含哪些?都一样吗?

行云管家

数据库 阿里云

Go- 文件读写-2

HelloBug

文件读写 Go 语言

如何从业务中抽取出通用性模板或框架-通用权限管理框架

张音乐

Java 设计模式 9月日更

运维工程师主要是做什么的?和网络工程师有啥区别?

行云管家

云计算 运维 网络 IT运维

CSS架构之tool层

Augus

9月日更

Go- 数据格式解析

HelloBug

json xml Go 语言 gob

浅谈单点登录SSO实现方案 | StartDT Tech Lab 06

奇点云

市值管理机器人特点简析,交易所刷交易量机器人搭建

量化系统19942438797

市值机器人 市值管理

ipfs矿机挖矿原理是什么?ipfs矿机怎么搭建?

ipfs矿机挖矿原理是什么 ipfs矿机怎么搭建

开源贡献分享:从网关内服务健康检查说起 | StartDT Tech Lab 09

奇点云

玩转TypeScript 工具类型(上)

有道技术团队

typescript 大前端 客户端

模块7

脉动

模型工厂,让AI算法触手可达 | StartDT Tech Lab 05

奇点云

灰度再度增持!!!Filecoin可投资吗?Filecoin值得投资吗?

区块链 分布式存储 IPFS 投资filecoin filecoin值得投资吗

华为云GaussDB(for Redis)发布全新版本,两大核心特性正式亮相

华为云数据库小助手

性能调优 GaussDB GaussDB ( for Redis ) 华为云数据库

详解微信异步队列 MQ 2.0 的功能优化及拓展思路

OpenIM

【VueRouter 源码学习】第六篇 - 路由匹配的实现

Brave

源码 vue-router 9月日更

模块七作业

Clarke

SEO行业的困境:转型还是夹缝中求生存

石头IT视角

浪潮云洲×明风机械:让工业“哑设备”发声

浪潮云

云计算

如何拥有自己的openLooKeng?超详细的安装配置指导看这里

openLooKeng

TCP传输控制协议(二)

姬翔

9月日更

Android | 音视频方向进阶路线及资源合集

轻口味

android 音视频 9月日更

博睿数据亮相 2021 服贸会,以智能运维赋能数字化体验

博睿数据

弱网下的极限实时视频通信

声网

音视频 编码 极限视频通信

狂刷《Java权威面试指南(阿里版)》,冲击“金九银十”有望了

Java 编程 架构 面试 程序人生

为什么行业老大经常和老二合并?

石云升

市场垄断 9月日更

实时移动通信中基于时空域联合约束的低照度视频增强技术

OpenIM

openLooKeng+Ranger+LDAP 认证鉴权能力演示

openLooKeng

大数据 openLooKeng Ranger

谷歌开源面向设备开发人员的微控制器模块集Pigweed_AI&大模型_KYLE WIGGERS_InfoQ精选文章