制定流程
一个小项目,往往一个人就搞定了,那这个人就是隐性的架构师:哪里资源怎么分配、如何才是最佳使用方式。
一个大项目,需要多个团队协作开发自己擅长的模块,可能大家只关心自己的功能实现,没有统筹全局:性能,寿命,对其他模块的影响,等等。这需要一个统一的规则来约束,否则就自顾自地的,没有大局观。
列举当前问题
实际开发中,缺乏统一管理的例子太多了,导致问题频发,问题发生后再调查,大家都很疲惫。下面总结下能想到的点,以求触类旁通,提高效率。
信息打印
为了存储mcu侧的log,mcu端把信息通过SPI把log上传到soc端存储成dlt。那么如果不管理打印信息的API,就会影响SPI带宽,导致正常功能不正常。
- 提供的设计的串口打印API要有等级控制 debug、info、warning、error、。。。
- 各模块应严格按照 相应等级调用API
- 检查dlt
NVM存储
nvm把数据存在 EEPROM或Data Flash里,但 它们都是有擦写寿命的,不能一直写。
- NVM API里要有log输出(info),能知道哪个模块调用了
- 原则上,除了Odo 1KM调用一次外,其他的数据只有在 power on -> off时再保存
- 禁止周期调用
- 检查 log
