主控:AT32F415CBT7
中间件:RT-Thread_Nano
理由:
AT32F415CBT7:体积小,主频高,资源丰富。
| 类别 | 参数/资源 | 详细说明 |
|---|---|---|
| 内核 | CPU架构 | ARM® 32位 Cortex®-M4 |
| 最高主频 | 150 MHz | |
| DSP指令集 | 支持 | |
| FPU | 支持 | |
| 存储 | Flash | 128 KB |
| SRAM | 32 KB | |
| 启动程序区 | 18 KB | |
| 安全库(sLib) | 支持指定区域代码保护(仅可调用不可读取) | |
| 电源与温度 | 工作电压 | 2.6V ~ 3.6V |
| I/O耐压 | 几乎所有I/O口可容忍5V输入 | |
| 工作温度 | -40°C ~ +105°C(工业级) | |
| 时钟 | 外部高速晶振 | 4 ~ 25 MHz |
| 内部高速RC | 48 MHz(25°C精度±1%,-40~105°C精度±2%) | |
| 外部低速晶振 | 32.768 kHz | |
| 内部低速RC | 40 kHz | |
| PLL | 可倍频至150 MHz | |
| 模拟外设 | ADC | 1个12位,2 MSPS采样率,多达16个外部输入通道 |
| 比较器 | 2个轨到轨模拟比较器 | |
| 温度传感器 | 内置 | |
| 内部参考电压 | 内置 | |
| 定时器 | 高级定时器 | 1个16位,7通道,带死区控制和PWM输出 |
| 通用定时器 | 5个16位 + 2个32位 | |
| 看门狗定时器 | 2个(独立看门狗 + 窗口看门狗) | |
| 系统滴答定时器 | 24位递减计数器 | |
| ERTC | 增强型RTC,带亚秒级精度及硬件日历 | |
| DMA | DMA通道 | 14通道(2个DMA控制器各7通道) |
| I/O | GPIO数量 | 最多55个快速I/O端口 |
| 外部中断 | 所有GPIO可映射到16个外部中断 | |
| 通信接口 | USART/UART | 5个(3个USART + 2个UART) |
| I²C | 2个,支持SMBus/PMBus | |
| SPI/I²S | 2个(可复用为I²S) | |
| CAN | 1个(CAN 2.0B主动) | |
| USB OTG | 1个全速Device/Host控制器 | |
| SDIO | 1个 | |
| 调试 | 调试接口 | SWD + JTAG |
| 封装 | 封装形式 | LQFP48(7×7 mm) |
中间件:RT-Thread_Nano
基础资源与内核占用对比
| 对比维度 | RT-Thread Nano | FreeRTOS(标准内核) |
|---|---|---|
| Flash 占用 | 2.5~5KB,仅纯内核调度组件 | 6~10KB,内核代码更精简紧凑 |
| 最小 RAM 开销 | 约 1.5KB(2 个基础任务运行)RT-Thread | 低至 0.5~1KB,极致内存优化能力更强 |
| 调度机制 | 抢占式 32 级优先级,支持动态调整任务优先级;同优先级时间片轮转 | 抢占式 32 级优先级,不支持动态修改优先级;同优先级时间片轮转 |
| 内核定位 | 国产极简 RTOS 内核,可无缝升级完整版 RT-Thread(FinSH / 文件系统 / 网络) | 纯调度内核,无扩展组件,所有外设、协议栈需第三方自行集成 |
| 适配芯片 | Cortex-M0/M3/M4/M7、RISC-V,国产 AT32/GD32 原生适配完善 | 全系列 ARM、RISC-V,海外芯片生态更成熟 |
2. 核心功能与任务通信对比
表格
| 功能模块 | RT-Thread Nano | FreeRTOS |
|---|---|---|
| 任务管理 | 任务创建 / 删除 / 挂起 / 延时;空闲钩子、任务切换钩子;统一tick系统计时 |
任务创建 / 删除 / 挂起 / 延时;空闲钩子;系统滴答计时;API 命名风格更简洁 |
| 同步互斥组件 | 信号量、互斥锁、消息队列、事件集、邮箱(全套 5 种通信方式)RT-Thread | 信号量、互斥锁、队列、二进制信号量;无原生事件集、邮箱,需自行封装 |
| 内存管理 | 自带rt_malloc/rt_free动态堆分配,配置简单 |
提供pvPortMalloc/vPortFree,堆配置需修改底层文件 |
| 软件定时器 | Nano 可额外开启软件定时器组件 | 原生内置软件定时器,开箱即用 |
| 调试工具 | Nano 可快速移植 FinSH 串口命令行(查看任务、内存、打印日志)RT-Thread | 无内置命令行调试,只能靠串口打印、硬件调试器 |
3. 移植、文档与生态对比
表格
| 对比维度 | RT-Thread Nano | FreeRTOS |
|---|---|---|
| 移植难度 | 仅适配 SysTick 定时器,Keil 可一键导入软件包;国产 MCU(AT32)配套例程多 | 仅适配 SysTick,全球通用移植文档,STM32 原厂 SDK 深度预装 FreeRTOS |
| 文档语言 | 全中文官方教程、国内社区活跃,国产芯片问题答疑完善 | 主流英文文档,中文资料多为社区分享,国产 MCU 教程较少 |
| 扩展能力 | 一键升级完整版 RT-Thread,可叠加文件系统 DFS、LwIP 网络、设备驱动框架、GUI、软件包管理 | 内核无扩展体系,文件系统、网络、驱动框架全部需要第三方开源库拼接 |
| 开发工具 | 配套 RT-Thread Studio 可视化配置,Keil/IAR 均支持 | 无专属 IDE,仅依托 Keil、IAR、STM32CubeMX 等第三方工具 |
4. 授权、商用与适用场景
表格
| 对比维度 | RT-Thread Nano | FreeRTOS |
|---|---|---|
| 开源协议 | Apache 2.0,商用免费,产品闭源无需公开代码 | MIT 协议,完全免费商用,无版权约束;AWS 商业扩展库需遵循附加条款 |
| 低功耗适配 | 空闲钩子直接对接 MCU 停机 / 待机模式,国产低功耗例程丰富 | 空闲钩子支持低功耗,海外低功耗方案案例更多 |
| 最佳适配场景 | 国产 MCU(AT32/GD32)工控、传感器、后期可能拓展网络 / 存储的项目;需要串口命令行调试 | 极致小 RAM/Flash、低成本传感器节点;纯裸机多任务调度、无复杂扩展需求;STM32 海外量产项目 |