单片机常规分为底层、驱动、应用,一般三层结构即可满足需求,下面捋一捋之间的定义和关系:
一、底层:所谓底层,即和硬件打交道的,比如温度采集,DA输出,UART,CAN,以太网,LCD等等,都属于硬件操作范畴,行业统称为“板级支持包”(BSP),往往分工较细的公司这部份任务属于硬件组的工作,所需做到的就是"不用别人管里面怎么回事,你拿到接口就完了,硬件不关你啥事";
二、驱动层:即Driver,驱动起到呈上启下的桥梁作用,对上为应用层提供有效数据,对下完成硬件初始化配置,有效数据提取等,这块工作一般由驱动工程师完成;
三、应用层:即APP,例如跑个花样流水灯,显示一个处理过的图片,完成一些算法工作等,大部分逻辑性、策略性、业务性的内容往往都会体现再应用层里面。
OK!单片机的三层定义介绍完毕,讲讲今天的重点,怎么把这些模块实现空间上的独立?
我遇到过很多工程师,往往一个人把以上工作全部搞定,不可谓不强悍。But,这种模式遇到新项目将会面临重新再搞一遍,涉及驱动调整,底层调