嵌入式培训
达内IT学院
400-996-5531
嵌入式软件与通用软件的不同在于,嵌入式应用软件高度依赖于目标应用的软硬件环境,软件的部分功能函数由与处理器密切相关的汇编语言完成,可移植性差。一般嵌入式应用软件追求正确性、实时性,编译效率高的汇编语言有时是必需的。这些导致应用软件的可移植性大打折扣,因此必须关注嵌入式应用软件的可移植性和可重用性。
一个运行良好的嵌入式软件或其中的部分子程序可能在今后的开发中被应用于类似的应用领域。原有的代码已被反复应用和维护,具有更好的稳定性。在原有的代码上进行移植将会缩短开发周期,提高开发效率,降低开发成本,因此移植原有的代码非常必要。
在嵌入式软件的开发过程中,在确保软件的正确性、实时性的前提下,必须关注软件的可移植性和可重用性。
可移植性和可重用性的程度应该根据实际的应用情况来考虑。因为嵌入式应用软件有自身的很多特点。追求过高的可移植性和可重用性可能会恶化应用软件的实时性和增加软件的代码量,这对于资源有限的嵌入式应用环境是得不偿失的。但仍然可在资源有限、满足系统需求的情况下,尽可能把可移植性和可重用性作为第二目标,致力于开发正确性、实时性、代码量、可移植性和可重用性相对均衡的嵌入式软件应用软件。
采用下面的方法可以提高应用软件的可移植性和可重用性。
1.多级高级语言,少用或者不用汇编语言
在资源有限的嵌入式系统中,汇编语言的使用是必不可少的。例如,用高效,简洁的汇编语言编写的启动代码能大大缩短程序的运行时间,并节约程序运行空间。汇编语言作为一种低级语言,可很方便地完成对硬件操作方面还是很有优势的。但正因为如此,使得汇编语言不具备通用性、模块化,所以高度是不可移植的。在嵌入式软件应用中应尽可能少的使用汇编语言,而改用移植性好的高级语言进行开发,能有效地提高应用软件的可移植性和可重用性。编译技术的进步使得用C和GNU的gcc编译器产生的可执行代码与汇编产生的代码在执行效率和代码量上都相差不大。现在用于嵌入式系统开发的高级语言编译器都提供灵活、高效的选项,以适应开发人员嵌入式开发代码编程进而调试需求。
2.将不可移植部分局域化
对于相对软件进行移植中的程序设计人员来说,如果应用软件的各个地方都散步着不可移植的代码,就必须从软件中一一找出它们,然后修改,这将是一件费时又费力的事情,而且这种修改也非常容易导致问题。为了提高代码的可移植性和可重用性,提高移植的效率,可把不可移植代码的通过宏定义和函数的形式,分类集中于某几个特定的文件之中。这样对不可移植代码的使用就可转换成函数和宏定义的使用,在以后的移植过程中,既有利于迅速地对要修改的代码进行定位,又可方便地进行修改,最后检查整个程序中修改的函数和宏对前后代码是否有影响。
3.提高代码的可重要性
进行嵌入式软件开发时,应把提高代码的可重用性作为一个目标并为之花费时间和心血。聪明的程序设计人员在进行项目开发时,一般都不从零开始,而是首先找一个功能相似的程序进行研究,在考虑这个程序代码是否能够重用。在嵌入式软件开发过程中,有意识的提高代码的可重用性,不断积累可重用的软件资源,这对开发人员的软件设计是十分有益的。
提高软件的可重用性有很多办法。例如,可以更好地抽象软件的函数,使它更加模块化,功能更专一,接口更简洁明了,为比较常用的函数简历库等;应对软件开发过程中常用的设计方法和好的设计思路进行总结,形成良好的编程习惯,并最终形成自己的软件设计模式。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved