郝强
Research and Application of Embedded Software Development Method
HAO Qiang
(Department of Computer Science, Jinan Vocational College, Jinan 250014, China)
【摘 要】嵌入式软件是计算机中常用到的软件,目前被广泛应用在社会生产和生活的各个领域。嵌入式软件相比于其他软件具有较多的优势,如软件代码规模小、反应速度快,不仅可以在很大程度上提高软件开发的效率,还能够满足软件设计的基本要求。论文首先分析了嵌入式软件开发的方法,阐述了嵌入式软件的主要开发技术,探索了嵌入式软件的开发环境,最后谈论了嵌入式软件开发流程。
【Abstract】Embedded software is often used in computer software, is widely used in the social production and life of various fields. Compared with other software, embedded software has many advantages, such as small software code size and fast response speed, which can not only greatly improve the efficiency of software development, but also meet the basic requirements of software design. This paper firstly analyzes the development methods of embedded software, expounds the main development technologies of embedded software, explores the development environment of embedded software, and finally discusses the development process of embedded software.
【关键词】嵌入式;软件开发;计算机技术;开发环境
【Keywords】embedded; software development; computer technology; development environment
【中图分类号】TP311.5 【文獻标志码】A 【文章编号】1673-1069(2020)05-0176-02
1 引言
嵌入式软件目前已经被广泛应用到各个领域,如航空航天、医疗卫生、电子通讯、汽车电子控制、网络电视、智能手机、智能家电等。嵌入式软件的发展已经有了很长的一段历史,初期的应用主要集中在军事、航空以及工业控制等领域。20世纪90年代以后,信息技术和互联网技术获得不断的发展,嵌入式软件开始被应用到人们的生活中[1]。同时,嵌入式系统具有专业性、实时性的特点,作为比较常规性的软件,其也具有着一定的特殊性。在开发嵌入式软件时,需要遵循一定的开发原则,并依照相应的流程,设计出科学合理的嵌入式软件开发方案,以确保软件质量和效率。
2 嵌入式软件开发方法
嵌入式软件的开发方法主要有三种,分别是结构化设计方法、面向对象设计方法以及基于构件的设计方法。
2.1 结构化设计方法
嵌入式有多个设计方法,而结构化的设计方法是比较广泛应用的一种设计方法,相比于其他设计方法,这种设计方法有着一定的优势[2]。结构化的方法还可以分为两种类型,分别是单任务结构化设计方法以及多任务的结构化设计方法。单任务结构方法的核心是遵循结构化的设计原则,对每个事件进行有序的处理,之后再循环调用各个模块;多任务的结构化设计方法,是先对模块进行划分,再进行综合。这些模块需要被综合分配到多个任务中去,并在多任务的环境下运行[3]。这种设计方法对硬件性能要求比较高。
2.2 面向对象设计方法
面向对象设计方法符合人们的思考方式,与多任务的设计方法有着较大的区别。面向对象设计方法,会将操作的数据放于实体中进行密封。如果想要访问对象,就要借助于信息。这样的设计方式,安全系数比较高。同时面向对象的设计方法能够对大规模的应用模式进行捕捉,在一定程度上,增强了软件系统结构的重用性,在实现软件的维护性、重用性以及拓展性方面有着较大的作用。
2.3 基于构件的设计方法
立足于构件化的设计方法更加重视构建对软件的重要性,重视软件的体系结构。那么这种设计方法具有一定的独特性,强调构件的实现目的所运用的方法和手段。其独立性、重用性是构件的两个突出的特点。重用性反映了构件对于软件的重要性,构件实现目的手段则反映了它的独立性特点[4]。
3 嵌入式软件的主要开发技术
嵌入式软件的开发技术主要有两种,分别是交叉开发技术和IP构件技术,这两种技术是目前比较常用的开发技术[5]。
3.1 交叉开发技术
与其他的计算机软件相比,嵌入式软件并不是完全进行自主开发的。在进行嵌入式软件开发中,目标机需要与宿主机之间进行任务的相互分配。编译、链接、定址等是宿主机需要完成的任务,而嵌入式软件的实际运行平台则是目标机[6]。开展编译、链接以及定址的过程能够将应用程序转变成相应的二进制代码,这些代码能够在目标机上开展工作。编译过程是由交叉编译器来完成的,在编译中,会形成一些目标文件,而通过链接过程,将编译中的目标文件变成指定的目标文件。定址就是将物理存储器地址指定到目标文件相对偏移处。通过这一系列的过程,最后在目标机上进行软件的运行工作。
3.2 IP构件技术
构件技术也就是我们所说的组件技术。IP构件库技术作为嵌入式软件的开发技术之一,应用越来越广泛。IP核(Intellectual Property KernelS)是单一芯片系统的核心,而单一芯片系统(SOC, SystemonChip)也是嵌入式系统实现的最好方式。IP核包含了软件核、硬件核以及固件核的内容。硬件核也被称为MPU核或者是DSP核,软件核即是代码单元。
4 嵌入式软件的开发环境
嵌入式软件一般是在交叉的开发环境下进行的,这样的运行环境能够让软件开发过程中更加稳定、可靠和安全,在很大程度上提升了软件开发的质量和效率,同时也使得软件开发的难度和程度大大降低。嵌入式软件的交叉開发环境,反映了用于编译、链接、调试应用程序的代码环境,与运行应用程序的代码环境是有差异的,且在不同的设备装置上存在。其中,宿主机是用于编译、链接、调试环境的工具设备,目标机则负责代码的运行。
宿主机与目标机共同构成了交叉开发环境,且两者之间存在着逻辑上的链接和物理上的链接。物理链接就是通过物理线路,通过串口、以太网口,与OCD的方式相链接;逻辑链接则是宿主机与目标机之间的通信链接,这种通信链接是通过通信协议实现的。宿主机被用于计算机的嵌入式系统的开发。众所周知,计算机软件的资源比较丰富,桌面操作系统较为强大,开发工具多种多样。这些都能为宿主机中的编译、链接、调试、测试等提供较好的支持。目标机则是为软件运行提供工作环境,它的主要作用是对宿主机发出的指令进行接收、读取和执行,如对内存进行读取写入,再将运行的结果传达给宿主机,配合宿主机各个程序的工作。嵌入式软件的开发过程需要由物理链接与逻辑链接得以实现。
5 嵌入式软件开发流程
通常情况下,嵌入式软件的开发与其他软件开发的流程存在着很大的相似性,过程主要由五部分构成,它们是需求分析、总体规划设计、详细设计、程序编码和程序测试。在软件开发的起始阶段,应该对市场的需求进行调研和分析,并结合所获取的市场信息,对所执行的项目编写相应的建议书,并认真研究项目的可行性,之后进行项目任务书的发布,并组建相应的开发队伍;对项目的总体规划,需要建立在对软件需求分析的基础之上,并做好风险控制,编制项目计划时,以确保嵌入式软件开发的合理性和科学性;关于系统的设计工作,需要对评审结果进行充分的分析,并且编制有效的软硬件设计文档;当嵌入式软件总体设计工作完成后,则要进入程序编码阶段的工作,并依据一定的程序,对之后的工作进行测试以及调试。同时,嵌入式软件的开发,需要结合软件开发的具体情况,选择合理的开发工具,确保软件开发的质量和效率。
6 结语
总而言之,嵌入式软件有着较多的优势,目前被广泛应用到社会的各个领域中,逐渐普及开来,有着广阔的发展前景。嵌入式软件有着多种开发方法,主要的开发设计方法有结构化设计方法、面向对象设计方法以及基于构件的设计方法。嵌入式软件的开发流程主要有需求分析、总体规划设计、详细设计、程序编码和程序测试。通过这五个过程,实现嵌入式软件开发进程。而在具体的开发过程中,需要结合软件和市场的实际情况,确保嵌入式软件的整体质量和效果的提升。
【参考文献】
【1】杨明东.嵌入式软件开发平台中的文件系统封装机制[J].信息通信,2018(05):6.
【2】王浩,吴晓玲.基于组件的嵌入式软件开发方法相关分析[J].信息与电脑(理论版),2018(17):41-42.
【3】张迪.嵌入式软件开发的关键技术[J].电子技术与软件工程,2017(4):55.
【4】殷静,罗西,杭佳祺.如何做好嵌入式软件开发测试[J].数字技术与应用,2017(8):214-215.
【5】王涛.嵌入式软件技术现状及发展前景[J].中国新通信,2017,19(20):40.
【6】刘玉军,冯飞,曹乐.一种航空机载嵌入式软件安全性评价方法研究[J].计算机测量与控制,2020,28(3):255-259.