项目简介
Pigweed是一个开源项目,专注于为嵌入式系统开发提供一系列库和工具。该项目致力于在小内存、无MMU的32位微控制器(例如STMicroelectronics STM32L452、Nordic nRF52832)上实现更快速、更可靠的开发。目前项目处于早期开发阶段,仍在持续发展并添加新模块。
项目的主要特性和功能
- 高效开发工具:
pw_watch
模块类似于Web开发的文件系统监视器,保存代码时可立即编译、烧录和运行测试。结合GN构建系统,仅运行受文件更改影响的测试,支持多设备分布式运行测试。 - 代码质量保障:
pw_presubmit
模块提供高质量的预提交检查工具,pw format
命令可统一格式化C、C++、Python、GN和Go等多种语言的代码。 - 跨平台环境搭建:
pw_env_setup
可在Mac、Windows和Linux上解决嵌入式开发工具套件配置问题。利用Chrome包装系统CIPD引导Python安装并创建虚拟环境,工具安装在工作区,不影响系统。 - 嵌入式测试支持:
pw_unit_test
是与Google Test广泛兼容的可移植库,基于嵌入式友好原语构建,不使用动态内存分配,易于移植到新目标平台,结合Pigweed构建系统可灵活开发和测试代码。 - 其他实用模块:
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】