制定流程

一个小项目,往往一个人就搞定了,那这个人就是隐性的架构师:哪里资源怎么分配、如何才是最佳使用方式。
一个大项目,需要多个团队协作开发自己擅长的模块,可能大家只关心自己的功能实现,没有统筹全局:性能,寿命,对其他模块的影响,等等。这需要一个统一的规则来约束,否则就自顾自地的,没有大局观。

列举当前问题

实际开发中,缺乏统一管理的例子太多了,导致问题频发,问题发生后再调查,大家都很疲惫。下面总结下能想到的点,以求触类旁通,提高效率。

信息打印

为了存储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