高度嵌入(有限的代码和内存大小)项目对代码组织提出了独特的挑战。
我见过很多完全没有组织的项目。(主要是硬件工程师,根据我的经验,他们通常不关心代码的非功能方面。)
但是,我一直在尝试相应地组织我的代码:
- 硬件特定(驱动程序,初始化)
- 特定于应用程序(不太可能被重用)
- 可重复使用,独立于硬件
对于每个模块,我都尝试将目的保持在这三种类型中的一种。
由于嵌入式项目的规模有限和对性能的重视,它经常保持这种组织。
在某些情况下,我当前的项目是在具有 8k 闪存和 256 字节 RAM 的 MSP430 上的有限 DSP 应用程序。