探索modm:一站式嵌入式库生成器
模组化模组(modm)是一个强大的C++23库生成工具,专为定制您的嵌入式设备而设计。它为您提供了从启动代码到硬件抽象层(HAL),再到通信协议和外部设备驱动的全方位自定义服务。借助modm,您可以根据需求对每一个环节进行微调,确保代码在资源受限的环境中依然高效运行。
主页: modm.io 安装: 查看安装指南 示例: 浏览示例 深入学习: 了解modm 创建自定义项目: 开始自定义项目
我们的持续集成系统保证了每次贡献的质量,并且我们重视测试以确保modm的稳定。此外,我们还设有论坛供讨论,和技术博客记录更大的设计概念。
- 发现问题?提交issue
- 有疑问?我们可能已有答案
- 需要新功能?写下来推动发展
- 想要贡献?阅读贡献指南并打开PR
modm优化于苛刻的欧宝竞赛环境,比赛中我们的机器人需要在100秒内自主可靠地运行,因此它需要满足高可靠性、低内存消耗、可预测的程序流程以及极强的可移植性。
功能亮点
-
现代化的C++23面向对象API。
-
支持大量Microchip、STMicroelectronics和Raspberry Pi的AVR和ARM Cortex-M微控制器。
-
构建系统无关性:可以选择SCons、CMake、Makefile或自定义构建系统。
-
数据驱动的、针对特定目标的模块化HAL生成,利用lbuild代码生成器。
-
HAL中无动态内存分配,整体RAM消耗极低。
-
可高度配置的模块,带有详细文档和默认设置。
-
多种接口和驱动程序,包括GPIO、外部中断、IO扩展器、ADC、DAC、比较器、UART、I²C、SPI、CAN和以太网等。
-
强大的调试/日志系统,支持IOStream和printf接口。
-
合作式protothreads和可恢复函数。
-
合作式纤维和调度器。
-
用于AVR的轻量级libstdc++实现部分功能。
-
实用的过滤器、插值和几何算法。
-
轻量级单元测试系统(适用于AVR)。
-
数百个测试以确保正确性。
-
集成了多个第三方软件库:
- [FreeRTOS][] 和 [FreeRTOS+TCP][] 操作系统
- [CMSIS][] 和 [CMSIS-DSP][] 接口
- [ETL][]: 嵌入式模板库
- [TinyUSB][]: USB 主机/设备栈
- [FatFS][]: FAT/exFAT 文件系统
- [ROSserial][]: 嵌入式ROS客户端
- [CrashCatcher][]: 硬件故障报告
- [printf][]: 小型printf实现
- [Nanopb][]: 嵌入式Protocol Buffers
- [LVGL][]: 嵌入式图形库
微控制器支持
modm可以为以下厂商的 3734 款微控制器创建HAL:
- STMicroelectronics STM32: 2929 款
- Microchip SAM: 416 款
- Microchip AVR: 388 款
- Raspberry Pi: 1 款
为了详细了解每个设备支持的外围驱动,请参阅modm的设备驱动发现页面。
无论是初创项目还是大型企业,modm都是您在嵌入式开发领域中的理想伙伴。其高效的API、广泛的硬件支持和灵活的配置选项,都能帮助您快速构建可靠且高效的系统。现在就开始探索modm,让您的嵌入式项目更上一层楼!