1.2 嵌入式系统的特点
嵌入式系统的特点包含系统架构精简、高实时性、多任务操作系统、专门的开发环境和模式。嵌入式系统与通用计算机系统在基本原理上虽没有根本的区别,但因为应用目标和场合不同,嵌入式系统有着自身的特点。
1.架构精简
嵌入式系统作为一个固定的组成部分嵌入在设备中,因受体积、功耗等条件的约束,其系统规模必然有一定的限制。例如,现在的手机功能日益强大,但电路板设计、系统装配等都要求紧凑、小巧。嵌入式系统的架构在硬件功能、安装要求上比较固定和单一,系统比较精简,一般没有或仅有较少的扩展能力;在软件上,嵌入式系统往往是一个设备的固定组成部分,其软件功能由设备的需求决定,一般不需要对软件进行较大改动,架构也比较固定。
2.高实时性
设备中的嵌入式系统常用于实现数据采集、信息处理、实时控制等功能,而采集、处理、控制往往是一个连续的过程。一个过程要求必须在一定长的时间内完成,这就是系统的实时性要求。例如,应用在国防工业、航空、航天、武器装备、某些工业控制装置中的嵌入式系统的实时性要求就极高。
3.多任务操作系统
在一个功能简单的嵌入式系统中,可能根本不用安装操作系统,直接在硬件平台底层上运行应用程序即可;而一些功能复杂的嵌入式系统,可能需要支持网络互联、文件系统,实现灵活的多媒体功能,此时,在硬件平台和应用程序之间增加一个操作系统层,使应用程序的设计变得简单,而且便于实现更高的可靠性,缩短系统开发时间。
目前有多种嵌入式操作系统,如Android、Linux、VxWorks等。这些操作系统功能日益完善,嵌入式操作系统相对于通用计算机操作系统,具有模块化、结构精简、定制力强、可靠性高、实时性好等特点。
4.专门的开发环境和模式
目前软件设计工作大多采用集成开发环境(IDE),将代码编辑、编译、链接、仿真、调试等软件开发工具集成在一起。嵌入式系统针对具体的应用进行设计,其硬件、软件的配置往往不支持应用程序开发。在实际开发中,一般采用交叉开发软件设计模式,即将通用计算机(一般是PC)作为开发机,进行嵌入式软件的编辑、编译、链接,在开发机上进行仿真,然后下载到嵌入式目标系统中运行测试,最终代码将固化到目标系统的存储器中运行。