⚡ 智能电表RTOS移植与优化
30章
📘 从零到实战 · 友好色系
🎓
嵌入式进阶 · 2025
1
01
课程导论
智能电表行业背景 · RTOS选型分析 · 学习路径
2
02
硬件平台认知
ARM Cortex-M0+/M3 · 外设资源 · 开发板介绍
3
03
开发环境搭建
Keil MDK / IAR · 工程模板 · J-Link配置
4
04
RTOS内核原理
任务调度 · 状态机 · 上下文切换
5
05
FreeRTOS源码结构
tasks.c · queue.c · 移植层文件
6
06
移植第一步:portmacro.h
数据类型 · 堆栈方向 · 临界区宏
7
07
移植第二步:port.c
启动任务 · PendSV · SysTick配置
8
08
移植第三步:FreeRTOSConfig.h
任务优先级 · 堆大小 · 时钟节拍
9
09
任务创建与管理
xTaskCreate · 参数传递 · 删除/挂起
10
10
任务间通信-队列
xQueueSend/Receive · 串口数据分发
11
11
信号量
二值/计数/互斥 · 优先级反转
12
12
事件组
xEventGroupCreate · 事件位 · 同步模式
13
13
任务通知
xTaskNotifyGive · 轻量级通信
14
14
软件定时器
xTimerCreate · 自动重载 · 定时服务
15
15
内存管理
heap_1~5 · 内存碎片 · 动态分配策略
16
16
低功耗Tickless
configUSE_TICKLESS_IDLE · 待机切换
17
17
中断管理
中断嵌套 · 临界区 · 延迟优化
18
18
智能电表任务划分
计量采集 · LCD · 通信 · 按键
19
19
计量芯片驱动移植
ADE7758/RN8302 · SPI · 校准
20
20
LCD驱动移植
SSD1306/ST7735 · 字库 · 菜单框架
21
21
Flash存储管理
W25Q64 · FATFS · 掉电保护
22
22
通信协议栈
Modbus RTU · DL/T645 · MQTT
23
23
系统启动流程
Bootloader · OTA · CRC安全启动
24
24
性能优化-任务栈
栈溢出检测 · uxTaskGetStackHighWaterMark
25
25
性能优化-调度延迟
中断响应 · 调度锁 · 优先级反转
26
26
性能优化-代码尺寸
编译优化 · LTO · 无用代码裁剪
27
27
调试与诊断
SystemView · 任务监控 · 断言
28
28
可靠性设计
看门狗 · HardFault定位 · 冗余
29
29
EMC与抗干扰
软件滤波 · 看门狗防死机 · 电源监测
30
30
综合实战
完整固件开发 · 联调 · 课程总结