高度嵌入(有限代码和ram大小)项目为代码组织带来了独特的挑战.
我见过很多没有组织的项目.(主要是硬件工程师,根据我的经验,他们通常不关心代码的非功能方面.)
但是,我一直在尝试相应地组织我的代码:
特定硬件(驱动程序,初始化)
特定应用(不太可能重复使用)
可重复使用,硬件独立
对于每个模块,我尝试将目的保持为这三种类型之一.
由于嵌入式项目的规模有限以及对性能的重视,通常会保留这个组织.
在某些情况下,我目前的项目是MSP430上的有限DSP应用程序,具有8k闪存和256字节RAM.
我已经在各种目标微处理器(包括MSP430)上编写和维护了多个嵌入式产品(30多个和计数).我最成功的"经验法则"是:
尝试尽可能模块化通用概念(例如,从应用程序代码中单独的驱动程序代码). - 它使项目的维护和重用/移植更容易在未来的另一个目标微型.
不要一开始就担心优化代码.尝试首先解决域的问题并优化第二个. - 你的目标微处理器可以处理比你想象的更多"东西".
努力确保可读性.虽然大多数嵌入式项目似乎都有较短的开发周期,但项目的寿命通常比您预期的要长,而另一个开发人员无疑必须使用您的代码.