📡 芯片固件开发·OTA升级
30章实战
⚡ 友好色系
01
固件开发概述
架构·环境搭建·IDE·交叉编译链·调试器
02
芯片启动流程
BootROM·启动模式·UART/SPI/NAND·向量表
03
链接脚本与内存布局
.lds编写·段分配·堆栈·MPU
04
外设驱动开发 (GPIO/UART)
寄存器映射·GPIO·UART轮询/中断
05
外设驱动开发 (SPI/I2C)
SPI主从·I2C总线·时序分析
06
外设驱动开发 (定时器/PWM)
系统滴答·通用定时器·PWM占空比
07
中断系统与异常处理
向量表重定向·优先级·嵌套·临界区
08
DMA数据传输
DMA原理·内存/外设传输·CPU协同
09
RTOS移植与任务管理
FreeRTOS移植·任务创建/删除·调度
10
RTOS同步与通信
信号量·互斥锁·消息队列·事件组
11
固件日志系统设计
串口日志·等级分级·环形缓冲区·低功耗
12
固件参数存储与管理
Flash抽象·CRC32·磨损均衡·备份恢复
13
通信协议栈实现 (物理层)
基带信号·前导码·帧同步·CRC
14
通信协议栈实现 (链路层)
MAC管理·帧封装·ARQ重传
15
通信协议栈实现 (网络层)
IP精简·路由表·分片重组
16
AT指令解析器设计
AT语法·状态机·参数提取·响应
17
固件安全机制
Secure Boot·AES加密·防回滚·JTAG熔丝
18
在线升级 (OTA) 方案概述
OTA流程·差分/全量·升级策略
19
OTA升级存储布局
A/B分区·恢复分区·升级标志位
20
OTA升级通信协议
包格式·分片传输·断点续传·完整性
21
OTA升级客户端实现
下载·校验·写入Flash·版本切换/回滚
22
OTA升级服务器端设计
升级包生成·版本管理·灰度发布
23
固件调试与性能分析
GDB·Profiling·栈溢出·内存泄漏
24
低功耗固件设计
睡眠模式·唤醒源·时钟门控·DVFS
25
固件单元测试与集成测试
CUnit·Mock·硬件在环HIL
26
持续集成与自动化构建
Jenkins/GitLab CI·静态分析·Coverity
27
固件版本管理与发布
Git分支·语义化版本·发布说明·签名
28
量产烧录与测试
烧录工具·产测固件·校准·序列号
29
现场问题排查与修复
日志分析·远程诊断·热补丁·回滚
30
综合实战项目
NB-IoT模组固件·集成所有模块·OTA演示