很多初学者在刚开始只知道不断写程序,而没有过多的去思考软件程序的架构,又或者它们都是在别人现有的架构上进行代码编写。我觉得还是学会一点代码层级思想挺特别重要:
对于嵌入式编程来说是更加重要。尤其是最近在换平台移植代码时体会更深:
大体上我将代码分为五个部分:
一,硬件驱动层;
二,功能模块层;
三,应用接口层;
四,业务逻辑层;
五,应用层;
硬件驱动层:
主要是对CPU上的外设进行设置编写各个片内外设模块功能。(例:IIC,UART,ADC,GPIO,DAC,CAN,音视频控制器)
功能模块层:
主要是对外设的功能模块进行程序编写。(例:eeprom,pll,led,....)
应用接口层:
主要是对硬件驱动层跟功能模块层进行接口封装。其实这一层应该是在立项的时刻就应该做好的,接下来就是第一个工程师对每一个接口进行编写代码。
业务逻辑层:
利用接口将各个小功能进行实现为下一层提供相应接口,这个层也是在立项时就应该做好的事。这样可能加快项目处理。
应用层:
APP
其实个人认为还应该在每一层里面加一个额外的内层,就是测试层,写各种测试代码方便每一个测试。尤其是当要换岗时方便其它人测试。和上手。对于已经有框架来说,我们更应该了解项目的框架,方便自己上手快。