发布于 1 天前
摘要
参数描述表驱动读写、CRC 校验 EEPROM 完整性、写操作不自动保存防寿命耗尽、HMIS 协议动态参数发现。
分层边界、模块拆分、技术债与重构策略。
参数描述表驱动读写、CRC 校验 EEPROM 完整性、写操作不自动保存防寿命耗尽、HMIS 协议动态参数发现。
硬件映射表、错误码枚举映射、DMA+回调通知、纯格式化+回调分发、直接寄存器——BSP 层 10 个驱动的五种模式。
从状态机引擎内部视角看 psh_task_once 完整执行流、sm_* 子流程注册模式、事件系统解耦、子阶段枚举、状态切换全链路。
项目初期所有参数都是 #define。要从编译期宏迁移到运行时 EEPROM 持久化,需要一条安全的四步路径。
一张声明式表格描述每个状态对应的全部执行器输出。MotorTask 周期遍历,一次性下发。新增状态只需加一行表。
一个 18 状态的嵌入式状态机如果全部塞在一个 switch-case 里,一个文件 900 行。回调注册表模式让每个状态独立文件、三回调驱动,新增状态零侵入。
一个完整的工业控制嵌入式系统项目复盘:四轮重构、七任务 RTOS、APP/Service/BSP 三层物理隔离、18 状态循环流程、Flutter HMI 双串口架构。311 次提交沉淀的工程经验。
一个 3 万行嵌入式项目的三层物理隔离实战——当你的构建系统不允许 APP 层 include BSP 头文件时,架构才算真正落地。
新增适配层如果不同时收口旧入口,工程里就会长期并存两套调用路径,文档规则只能暂时兜底,架构本身并没有真正收敛。