📘 STM32 → NuttX 迁移 裸机→RTOS 实战

🎯 30章 · 从入门到贡献
01
从超级循环到任务调度,理解NuttX的任务、信号量、队列等核心概念。
02
在Ubuntu/Linux下搭建NuttX编译环境,配置工具链,理解Makefile系统。
03
NuttX源码目录布局、Kconfig配置系统、Board层、Chip层、Driver层的关系。
04
编写LED闪烁任务,理解任务创建、优先级、任务栈配置。
05
将裸机GPIO初始化代码迁移到NuttX,使用GPIO驱动框架。
06
从轮询/中断方式迁移到NuttX串口驱动,理解字符设备模型。
07
将裸机定时器配置迁移到NuttX定时器驱动,使用PWM输出。
08
将裸机ADC采集代码迁移到NuttX,使用ADC驱动框架。
09
将裸机I2C读写迁移到NuttX,理解I2C驱动框架和总线锁定。
10
将裸机SPI通信迁移到NuttX,理解SPI驱动框架和片选管理。
11
从NVIC直接配置迁移到NuttX中断管理,理解中断嵌套和优先级。
12
将裸机DMA传输代码迁移到NuttX,使用DMA驱动框架。
13
任务调度、内存管理、IPC机制异同,帮助FreeRTOS开发者。
14
理解VFS层,挂载SPI Flash、SD卡,实现文件读写。
15
配置lwIP,实现TCP/UDP通信,迁移裸机网络代码。
16
配置USB设备模式,实现CDC ACM虚拟串口或MSC存储。
17
配置USB主机模式,驱动USB键盘、鼠标或U盘。
18
使用NX图形引擎,驱动LCD屏幕,实现简单GUI。
19
配置音频驱动,实现音频播放和录音功能。
20
使用传感器驱动框架,集成加速度计、陀螺仪等。
21
配置电源管理,待机/休眠/停止,降低系统功耗。
22
独立看门狗和窗口看门狗,系统异常复位和故障恢复。
23
NSH命令行、系统日志、断言、栈溢出检测等。
24
任务栈优化、中断延迟、内存池、缓存一致性。
25
在STM32H7等双核芯片上配置SMP,多核任务调度。
26
在NuttX中调用裸机汇编代码,处理关键时序任务。
27
编写引导加载程序,实现固件升级和双备份启动。
28
使用测试框架,编写驱动和应用层单元测试用例。
29
综合案例:智能家居网关,整合WiFi、MQTT、传感器。
30
提交补丁、参与代码审查、获取技术支持。