摘要:嵌入式系统开发技术伴随着信息产业和集成电路的高速发展而快速的进步,于此同时电子产品的大量走进人们的生活,使得嵌入式系统的应用也变的越发的广泛。本文将会对嵌入式系统开发技术进行简要的分析并说明嵌入式系统和一般的操作系统在处理方法和处理过程方面的不同;还将对嵌入式系统开发的相应技术进行相关的介绍,对嵌入式系统开发技术中的一些简单技巧进行相应的阐述;最后说明嵌入式系统开发技术的综合应用。
关键词:嵌入式系统;开发技术;应用
在当今时代因为信息产业和集成电路高速发展已经进入信息化时代,在信息化时代中嵌入式系统已经越发的重要,同时嵌入式系统也已经在科学研究、工程设计、商业文化、人们的日常生活方面都有着广泛的应用。随着现在手机产品和数码产品的进一步的普及和推广嵌入式系统开发技术将会更加快速的发展,也会更加广泛的被应用。
1嵌入式系统概述
嵌入式系统主要是分为操作系统和相应的硬件两部分,嵌入式系统和其他操作系统的一些区别主要是体现在嵌入式系统的运行环境和相应的运用上。本文将主要对嵌入式系统的处理器、微内核结构、任务调度、硬实时和软实时、内核加载方式、内存管理进行简要分析。嵌入式系统的处理器主要有三种:嵌入式微处理器、嵌入式DSP、嵌入式微控制器。其中微处理器就相当于计算机中的CPU,微处理器主要是配置在主板上以便于达到体积小、低能耗的优越性能;嵌入式DPS主要是对离散的时间信号进行处理计算,从而可以提高编译效率;嵌入式微控制器俗称单片机,是一种集CPU、存储器、外设与一体的集成电路。嵌入式系统一般都是采用微内核结构,让内核只是提供基本的功能,这样就可以使系统可以更为方便的进行裁减,方便用户更加合理的选配相应的组件。嵌入式系统一般是可以支持多任务的,任务之间通过CPU进行切换和调度,任务根据需要有着各自的优先级,现阶段嵌入式系统对不同的优先级任务进行基于优先级的抢占调度法、对相同优先级的任务进行时间片轮换调度法。
嵌入式系统有专门的实时系统,主要分为硬实时和软实时:硬实时要求系统必须在相应的时间中完成相应的任务,系统必须满足相应的系统响应时间;软实时则只要系统能够尽快的将所有的任务完成,只要所用的时间足够短就好。嵌入式系统的内核可以直接在Flash上进行运行,也可以直接在内存中进行运行,现在很多嵌入式系统采用的是Flash运行,虽然内存运行的速度更快,但是Flash运行更加的便捷。嵌入式系统的内存管理多数是没有针对MUU的处理器设计的,所以嵌入式系统采用的多是实存储器管理策略,对内存的访问不经过MUU直接进行地执行上输出,这些访问地址都是物理地址,同时很多嵌入式系统缺乏对内存空间的保护。因此作为嵌入式系统的开发人员在进行嵌入式系统的开发时必须要参与到内存的管理中去,要在编译内核时清楚的知道系统的开发板有多少内存,并且由此进行相应的应用程序的编写。
2嵌入式系统开发技术
针对嵌入式系统开发技术的研究,本文将主要从嵌入式系统的开发过程、嵌入式系统平台移植软件这两个主要的方面进行介绍,其中嵌入式系统平台移植软件是关键的环节又涉及到字节顺序、字节对齐、位段、代码优化等问题。首先介绍嵌入式系统的开发过程,在嵌入式系统的开发过程中分为宿主机和目标机,宿主机进行编译、链接、定址过程,目标机作为嵌入式系统的硬件平台。在进行开发时,要将程序转化为可以在目标机上进行运行的二进制代码,整个过程分为编译、链接、定址这三个部分:所谓的编译就是用一个平台为另一个平台产生代码,这一过程一般通过交叉编译器完成;链接就是将编译过程中产生的所有的目标文件链接成一个目标文件,定址过程就是将物理存储器地址指定给目标文件的每一个相对偏移处。完成以上部分后还需要对目标机上的应用程序进行调试,只有通过相应的调试才能保证系统能够完整的发挥其想要达到的效果。
嵌入式系统平台移植软件主要是因为多数的嵌入式系统的开发人员都是先在PC机上进行软件的编写,之后将软件进行相应的移植,在进行PC机上软件编程过程中一定要注意软件的可移植性,防止编程完成后无法移植。想要保证软件的可移植性就必须要提到字节顺序、字节对齐、位段、代码优化的问题。其中字节顺序是数据在内存中的排放顺序,一般分为大端字节顺序、小端字节顺序两种,大端字节顺序是高字节排到低地址处、低字节排到高位置处,小端字节顺序与大端字节顺序相反,是将高字节排到高地址处、低字节排到低地址处。嵌入式系统多数都是大端字节顺序的。字节对齐主要是因为嵌入式处理器的寻址方式中占据某字节的数据只能放在该字节整数倍的内存地址中去,这种处理方式使得有时进行编程时结构成员之间产生空洞,导致数据读取错误或无法读取,一般情况下我们运用在GCC的项目管理文件,MakeFile中增加编译选项pack-struck的方式来解决字节对齐问题,有时还在收数据包处增加拆包函数、发数据包处增加组包函数来解决字节对齐问题。位段问题主要是因为位段的空间分配方向因硬件平台而异:部分平台的位段是从右向左分配的、部分平台是从左向右分配的。解决位段问题可以采用条件编译的方式也可以编码两个对等函数解决。代码优化主要是嵌入式系统对代码的质量要求较高,需要注意提高代码效率、减小代码的大小、避免内存泄露。
3嵌入式系统的应用
在信息化时代的今天嵌入式系统已经涉及到我们生活的方方面面,在我们的生活中随处可以发现嵌入式系统的产品。这些应用嵌入式系统的产品有我们的智能洗衣机、智能空调、轿车、无线办公设备、蓝牙设备等。例如在21世纪的今天,人们都比较注重生活的质量水平,很多家庭都使用了智能家居系统,智能家居系统通过家居中建立的网络结构进行全面控制家电,嵌入式系统是构成智能家居系统的关键,在整个智能家居体系中,无论是网关端口还是安装在各个家电上的控制模块都是需要嵌入式系统的,也正是因为嵌入式系统具有较好的内嵌式、实时性好的特点,所以智能家居体系才能这么完善和便于使用。嵌入式系统还可以用于嵌入式语言芯片、嵌入式移动数据库等方面。
参考文献
[1]吴海刚.面向代码自动生成的两种界面设计模式的研究与应用[D].山东:山东大学,2012.
[2]鸿磊,张雪松,王鸿磊.张雪松基于信息传播算法的云存储系统架构研究[J].河北软件职业技术学院学报,2014(04).
[3]张宏智.机器视觉开发平台的代码自动生成与算法库转换的设计与实现[D].北京:北京交通大学,2011.
作者:李薇 单位:国防科学技术大学 江苏金陵机械制造总厂