现在随着市场竞争力的增加,这给我们开发人员增加了不少压力,要在短时间内开发出稳定、搞质量的软件。这时我们就需要给我们经常使用的硬件平台搭建软件框架了。
当然我这里对MCU的资源是有一定要求的,如果是那种玩具或者资源很少的MCU来说就不合适了,那种级别很低的MCU完成的事也不多,只要模块封装好了(不管是C语言还是汇编语言)基本上都会比较快。
进入正题,如何搭建框架?当然这是我理解的框架,欢迎大家指导和讨论。
框架嘛就像做房子,我们要分层:分层的顺序为:config层、device层、tools层、PCB层、application层。
config层:主要为分配和配置MCU资源,对于需要使用的资源就开放,不需要使用的就屏蔽。
device层:这层主要是管理MCU的资源,采取一些小技巧就可以将MCU的同一种性质硬件集中管理,例如timer,一个MCU内可能有好几个timer,尽管他们的寄存器地址不一样,我们可以采用表驱动法来集中管理。
tools层:这层为所有MCU通用的工具层,这层如果封装好后,以后其他MCU平台可以直接存放进去。这层包含了常见通用的滤波、加密,通信逻辑处理机制、外围设备驱动等,这部分封装好就要看模块封装了。
PCB层:这层是与我们使用的具体的MCU引脚相关了,引脚资源集中分配,对于IO口操作全部写成函数接口形式,如果我们做相识或者硬件版本升级的项目时,我们只需要保证这层没有错就可以了,功能模块需要变动。
Application层:这层其实也可以封装的,对于某一种行业,例如工业控制中的某一种机器,该机器的功能驱动部件无论升级或者其他,运用层的功能模块可以一个个封装,若以后机器的执行机构发生变化而控制逻辑没有发生变化,则我们的运用层只需要更改执行机构驱动层,而我们的逻辑控制层就不需要变动,这样便加快了开发速度,也一步步积累了稳定运行的代码。
若每一种MCU平台我们都对其经行了这样的整理,我们的开发将会越来越快、稳,减小我们的压力,也会逐步看到我们的积累。
用户1397208 2013-4-9 22:40
用户1633841 2013-3-30 16:07
用户1601010 2013-3-26 17:22
用户1602177 2013-3-22 16:49