开发过程
单元测试¶
Unity [MIT]¶
https://github.com/ThrowTheSwitch/Unity A Test Framework for C
libcheck [LGPL]¶
https://github.com/libcheck/check 又一个单元测试框架 for c
cmocka [Apache]¶
https://github.com/clibs/cmocka cmockery的一个fork,单元测试框架,提供了好用的mock功能。
Debug相关¶
CmBacktrace [MIT]¶
https://github.com/armink/CmBacktrace ARM Cortex-M 系列 MCU 错误追踪库
EasyLogger [MIT]¶
https://github.com/armink/EasyLogger 日志库
emlog [GPL]¶
https://github.com/nicupavel/emlog linux上一个体积永不增长的日志文件
zlog [LGPL]¶
https://github.com/HardySimpson/zlog 高性能的C日志库,POSIX
pipelog [自定协议,无限制]¶
http://cognitivedissonance.ca/cogware/pipelog/ posix兼容,可以用pipe存储到一个体积永不增长的ring buffer文件中,如:
$ xxx_prog |pipelog /tmp/xxx.log
工具链¶
crosstool¶
http://crosstool-ng.org
交叉编译工具链构建工具
buildroot¶
https://buildroot.org/ linux根文件系统生成
包管理和构建系统¶
xpack - The xPack Build Framework¶
xPacks are general purpose versioned software projects, built on top of the highly successful npm packages in the Node.js JavaScript ecosystem. xPacks do not introduce a new package format, but use exactly the same format as npm packages, and can be stored in the same repositories.
利用npm包管理器来管理c/c++项目依赖
clib¶
Package manager for the C programming language.
Basically the lazy-man's copy/paste promoting smaller C utilities, also serving as a nice way to discover these sort of libraries. From my experience C libraries are scattered all over the web and discovery is relatively poor. The footprint of these libraries is usually quite large and unfocused. The goal of clibs
is to provide stand-alone "micro" C libraries for developers to quickly install without coupling to large frameworks.
Conan¶
https://conan.io/index.html Conan, the C / C++ Package Manager for Developers The open source, decentralized and multi-platform package manager to create and share all your native binaries.
xmake¶
https://xmake.io/ 基于lua描述构建过程的构建系统
scons¶
https://scons.org/ 使用python的构建系统
虚拟机¶
The xPack QEMU Arm¶
https://xpack.github.io/qemu-arm
xPack为ARM开发而做的QEMU分支
性能测试¶
coremark¶
https://github.com/eembc/coremark
可用于MCU的性能基准测试