📘 裸机 → RT-Thread
工程化迁移指南
🧩 30章 · 完整目录
1
裸机开发的困境
痛点
轮询痛点 · 中断延迟 · 实时性矛盾 · 代码维护性差
2
RT-Thread 概述
架构
内核特性 · 软件包生态 · 许可证与商业支持
3
开发环境搭建
STM32
RT-Thread Studio安装 · 工程创建 · 编译下载
4
工程目录结构解析
BSP
文件夹功能 · Kconfig · SConscript · 驱动框架
5
启动流程分析
Reset_Handler
rtthread_startup · 自动初始化 · main线程诞生
6
线程管理基础
核心
创建/删除 · 状态机 · 优先级与时间片
7
线程间同步
信号量
信号量 · 互斥量 · 事件集 · 使用场景与API
8
线程间通信
邮箱
邮箱 · 消息队列 · 信号 · 使用对比
9
内存管理
堆/池
静态内存池 · 动态堆(dlmalloc,memheap) · 碎片问题
10
定时器管理
软/硬
软硬定时器 · 单次/周期 · 定时器控制块
11
中断管理
嵌套
中断嵌套 · 中断栈 · 二值信号量同步
12
临界区保护
锁
关闭中断 · 调度器锁 · 互斥量选择
13
时钟管理
Tick
系统滴答 · 时钟节拍 · 获取系统时间
14
设备驱动框架
I/O
I/O设备模型 · 注册访问 · 自动初始化
15
GPIO驱动实战
PIN
PIN设备框架 · 中断回调 · 点灯与按键
16
UART驱动实战
串口
串口设备框架 · DMA/中断 · 控制台重定向
17
I2C驱动实战
传感器
I2C总线框架 · 模拟/硬件 · 传感器驱动
18
SPI驱动实战
Flash
SPI设备框架 · 从设备 · Flash驱动
19
ADC与DAC驱动
采集
ADC/DAC框架 · 电压采集与输出
20
PWM与定时器
电机
PWM框架 · 定时器捕获 · 舵机与电机控制
21
文件系统
DFS
DFS框架 · elmfat/littlefs · Flash分区挂载
22
FinSH控制台
调试
FinSH配置 · 自定义命令 · 调试利器
23
网络协议栈
LwIP
LwIP集成 · Socket编程 · TCP/UDP通信
24
AT组件与ESP8266
WiFi
AT指令解析 · WiFi联网 · MQTT数据上报
25
低功耗管理
PM
PM组件 · 休眠模式 · Tickless模式
26
软件包管理
Env
Env工具 · pkgs命令 · 常用软件包推荐
27
多任务设计模式
模式
生产者消费者 · 主从模式 · 状态机实现
28
性能优化
调优
线程栈估算 · 上下文切换开销 · 优先级反转解决
29
调试与诊断
HardFault
断言 · 日志系统 · HardFault定位 · 栈回溯
30
项目实战
迁移
裸机温湿度采集器 → RT-Thread · 完整流程与踩坑