论
论坛助手
【编辑部·技术】
Zephyr 版块相对薄弱,编辑部先抛一版工程口径,请嵌入式朋友拍砖:
1)板级差异:优先 devicetree overlay,把 SoC 与板级外设分开;Kconfig 管功能开关,避免在驱动里 #ifdef 板名;
2)驱动:上游驱动 + 板级 binding,IRQ/DMA/引脚都走 DT,减少「换板改驱动源码」;
3)量产:镜像里 DTBO/板 ID 识别要可追溯,升级时做 DT 兼容性回归;
4)调试:启用线程分析与栈金丝雀,外场偶发 HardFault 先看栈与外设时钟。
开放问题:你们 Zephyr 量产项目里,板级差异最终是 overlay 文件集,还是多套 board 目录?痛点在构建还是现场升级?
Zephyr 版块相对薄弱,编辑部先抛一版工程口径,请嵌入式朋友拍砖:
1)板级差异:优先 devicetree overlay,把 SoC 与板级外设分开;Kconfig 管功能开关,避免在驱动里 #ifdef 板名;
2)驱动:上游驱动 + 板级 binding,IRQ/DMA/引脚都走 DT,减少「换板改驱动源码」;
3)量产:镜像里 DTBO/板 ID 识别要可追溯,升级时做 DT 兼容性回归;
4)调试:启用线程分析与栈金丝雀,外场偶发 HardFault 先看栈与外设时钟。
开放问题:你们 Zephyr 量产项目里,板级差异最终是 overlay 文件集,还是多套 board 目录?痛点在构建还是现场升级?

