微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 浅谈嵌入式软件系统设计中的正交性

浅谈嵌入式软件系统设计中的正交性

时间:08-05 来源: 点击:

图5 FaultSPI任务调用方式




  (1) 方便单元测试

  在整个软件开发周期中,软件的测试工作占据着相当重要的比例,甚至会超过整个周期的50%。倘若等到所有代码都编写完成之后才开始测试工作,那么,软件系统不同层面以及各个任务模块中的众多Bug,常常会使程序员无法理清思路,从而不能判断问题的根源。所以在进行系统集成测试之前,应该将各个模块的Bug减少到最低,这也就需要在编写各个模块时,进行有效的单元测试。而保证单元测试顺利有效进行的前提是,该模块有很高的独立性,这也正是正交性解决的问题。图6所示为嵌入式软件系统的测试流程。

图6 嵌入式软件系统测试流程



  (2) 更易于维护

  常常有软件系统维护的人员发现了系统存在的问题,却不敢轻易改动,特别是系统底层部分。原因很简单:系统一直运行良好,没有出错,而且由于没有完整的文档说明,担心改动之后会出现新的问题。这种忧虑折射出的是:程序员对眼前软件系统是否具备较好正交性的疑虑。所以一个具有较好正交性的嵌入式软件系统,能够让软件维护人员更快、更顺利地接手,提高维护效率的同时保证很高的正确性。

  (3) 便于移植

  硬件的更新速度相当之快,要降低产品升级成本、加快升级速度,必须让软件系统具备很好的可移植性,特别是嵌入式软件系统中与硬件没有直接关联的应用层部分。一个正交嵌入式系统正好从垂直方向保证了系统各层之间的独立性,很好地将应用层与物理层分离开来。

  (4) 便于协同开发

  DSP与ARM较传统MCU的优势之一,是使用了流水线技术,使指令能并行执行。对于软件,同样希望能并行协同开发。正交嵌入式系统各个模块相互独立,只要定义好各模块的接口,软件开发人员并不需要等待其他模块完成就能开展工作。图7所示为正交嵌入式软件系统的开发模式。

  正交的嵌入式软件系统,能够非常方便地将系统分为互不干扰的独立模块。每个软件开发人员或开发团队负责不同的模块,并行地开展工作。开发人员在开发过程中能够互相沟通(如图7中虚线箭头所示),甚至可以随时协助同伴攻克难题。

图7 正交软件系统开发模式





  3 小结

  在众多研究领域,人们很早就开始借助正交性思想来帮助解决种种问题。从欧氏空间线性变换到经典力学中物体受力分析,从傅里叶变换到信号处理,从小波分析到地震勘探、量子场论、信号处理(包括图像和语音)、机械故障诊断以及JPEG2000标准的制定。这些都是借助正交性思想,将对象分成多个相对独立的部分,进而对各部分单独进行研究,从而化繁为简。在嵌入式软件设计中,也存在类似的思想,正交的嵌入式软件系统能够降低系统各模块间的依赖性,从而使系统更易于维护、方便测试,也更加容易实现系统的移植。从软件开发过程的角度来看,正交性思想还能够帮助研发团队并行作业、协同开发,减少了等待时间,大大提高开发效率,因此该思想值得软件设计人员探讨和利用。

李兴鹤(硕士),主要研究领域为嵌入式系统、RFID技术、变频技术、电梯控制系统;
古俊银(博士、高级工程师),主要研究领域为变频驱动技术、新能源技术、嵌入式系统;
宋吉波(工程师),主要研究领域为变频驱动技术、嵌入式系统、电梯控制系统;
马艳玲(硕士、软件工程师)、
吴芸(软件工程师),主要研究领域为嵌入式系统,变频技术。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top