嵌入式系统软件的重要组成部分
1.1:嵌入式软件的特点
嵌入式软件除了具有计算机软件的一般特性外,还具有一些与嵌入式系统特性密切相关的特点。因此,嵌入式系统与通用计算机软件有所不同:
- 1:软件与硬件一体化,软件固化存储。
在嵌入式系统中,操作系统和应用系统集成与计算机硬件系统中,系统软件、应用软件和系统的硬件一体化,我们为了提高系统的启动、执行速度和系统的可靠性,嵌入式系统一般都固化与半导体存储器中,也大可以认为是压缩后存储在内存之中,而不会存储与磁盘等外存储器之中。
- 2:软件代码时空效率要求高,实时性要求高。
当我们在设计嵌入式的应用时,特别需要考虑的是成本的因素,嵌入式软件的时间和空间上都受到了严格的限制。嵌入式系统往往有较高的实时性要求,软件对于外部做出反应的时间要快,在某些情况下还要求响应时间是确定的和可预测性的。
- 3:软件的应用环境复杂,开发的难度大。
在我们生活的环境之中,是有许许多多的自然因素是我们无法预测和控制的,这也就使得我们的嵌入式系统的工作环境也是一样。于此因此,在嵌入式软件开发中一般都是需要涉及到底层软件,这就要求开发人员要有扎实的软件和硬件基础,能够灵活的运用不同的开发手段和工具。
- 4:软件具有较长的生命周期。
这个就比较简单的理解了,这些之中有许多是很久以前20世纪就以研发出来并且配套产品一同进入我们的市场。
1.2:嵌入式系统的软件结构
一般来说,嵌入式系统可以根据所运行的环境不同和要求不同将嵌入式系统的软件划分位多种不同的结构。
- 1:简单的轮询(Round-Robin)结构
在一些低端的嵌入式系统中,处理器的处理能力比较低,存储的容量也比较小,所以一般来说系统的功能都是相对的比较简单,通常也只需要一写简单的控制操作。
而最简单的软件结构就是轮询结构,其工作原理就可以类比高级语言中C语言的for循环,重复循环检查每个外部输入条件,一旦有需要或者说是达到标准的任务时,就进行相关的处理。
//初始化
while(TRUE)
{
if(I/O设备1需要服务);//执行设备1服务函数