原创 搭建MCU框架—提升软件质量和开发速度(原创)

2013-3-22 16:48 1558 15 19 分类: 消费电子

       现在随着市场竞争力的增加,这给我们开发人员增加了不少压力,要在短时间内开发出稳定、搞质量的软件。这时我们就需要给我们经常使用的硬件平台搭建软件框架了。

      当然我这里对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平台我们都对其经行了这样的整理,我们的开发将会越来越快、稳,减小我们的压力,也会逐步看到我们的积累。

 

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户1397208 2013-4-9 22:40

至少我现在是这样做的,目前在dspic和瑞萨MCU、51上都是可行的,不过还是需要针对不同的MCU做出修改,因为有的MCU资源实在是有限,当然每个人都有自己的开发方式,只要自己觉得OK就可以了,软件结构嘛自然是重要,但是把过多的精力放在这里就不合适了。

用户1633841 2013-3-30 16:07

有死板硬套的嫌疑!

用户1601010 2013-3-26 17:22

做这个估计不太现实,原因:MCU系统是非常个性化的系统,不能套用PC的哪一套,需要量身定做; 一般需求出来的时候,我们就已经知道硬件系统了,几乎是条件反射; 软件架构嘛,可能要考虑一下,主要是各个模块的实现方式,有没新的东西; 本人是做嵌入式开发的,软硬件均涉及,包含了单人可以完成的,或是上百人协作的手机项目;

用户1602177 2013-3-22 16:49

这样的整理确实很棒,也为新手们提供很好的指导~~多谢分享~~
相关推荐阅读
用户1397208 2014-06-10 00:14
学习更新记录
1.2014.6.9今天重新捡起了FPGA的学习,熟悉了开发流程,实现点灯。...
用户1397208 2014-02-14 12:52
评论:@武晔卿 博客中提到的“电路设计中的电阻与电压问题”
积累...
用户1397208 2013-03-19 16:28
MCU模块包装和软件分层思想(原创)
       做MCU开发已经快将近三年了,多多少少理解了一些东西,我现在来讲讲关于如何封转模块和如何合理的分层。         从学MCU开始,就从论坛上和身边的学长听到了“模块化”一...
用户1397208 2012-02-13 19:29
评论:@实践求真知 博客中提到的“硬件测试中的一些陷阱”
好文章,收藏...
EE直播间
更多
我要评论
4
15
关闭 站长推荐上一条 /3 下一条