littlebot
Published on 2025-04-18 / 0 Visits
0

【源码】基于CC++等多语言的嵌入式开发工具集Pigweed

项目简介

Pigweed是一个开源项目,专注于为嵌入式系统开发提供一系列库和工具。该项目致力于在小内存、无MMU的32位微控制器(例如STMicroelectronics STM32L452、Nordic nRF52832)上实现更快速、更可靠的开发。目前项目处于早期开发阶段,仍在持续发展并添加新模块。

项目的主要特性和功能

  1. 高效开发工具pw_watch模块类似于Web开发的文件系统监视器,保存代码时可立即编译、烧录和运行测试。结合GN构建系统,仅运行受文件更改影响的测试,支持多设备分布式运行测试。
  2. 代码质量保障pw_presubmit模块提供高质量的预提交检查工具,pw format命令可统一格式化C、C++、Python、GN和Go等多种语言的代码。
  3. 跨平台环境搭建pw_env_setup可在Mac、Windows和Linux上解决嵌入式开发工具套件配置问题。利用Chrome包装系统CIPD引导Python安装并创建虚拟环境,工具安装在工作区,不影响系统。
  4. 嵌入式测试支持pw_unit_test是与Google Test广泛兼容的可移植库,基于嵌入式友好原语构建,不使用动态内存分配,易于移植到新目标平台,结合Pigweed构建系统可灵活开发和测试代码。
  5. 其他实用模块pw_cpu_exception_armv7m提供ARM Cortex - M的硬件故障处理;pw_polyfill提供兼容C++11和C++14的C++17标准库组件;pw_minimal_cpp_stdlib提供Pigweed所需的部分C++17标准库原语;pw_tokenizer用32位令牌替换日志语句中的字符串常量以节省资源;pw_kvs是带磨损均衡的闪存持久化键值存储实现;pw_protobuf是面向线格式的协议缓冲区实现。

安装使用步骤

假设你已经下载了本项目的源码文件: 1. 搭建开发环境,请访问入门指南,按照其中的说明安装必要的工具,如Git、Python等,以及Pigweed库。 2. 目前完整文档需自行构建,构建方法可参考入门指南。 3. 根据项目需求使用各个模块的功能,如使用pw_watch进行代码开发时的实时编译测试,使用pw_presubmit进行代码预提交检查等。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】