2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 嵌入式系统软件

嵌入式系统软件

时间:2024-02-01 08:51:06

相关推荐

嵌入式系统软件

1.1:嵌入式软件的特点

嵌入式软件除了具有计算机软件的一般特性外,还具有一些与嵌入式系统特性密切相关的特点。因此,嵌入式系统与通用计算机软件有所不同:

1:软件与硬件一体化,软件固化存储。

在嵌入式系统中,操作系统和应用系统集成与计算机硬件系统中,系统软件、应用软件和系统的硬件一体化,我们为了提高系统的启动、执行速度和系统的可靠性,嵌入式系统一般都固化与半导体存储器中,也大可以认为是压缩后存储在内存之中,而不会存储与磁盘等外存储器之中。

2:软件代码时空效率要求高,实时性要求高。

3:软件的应用环境复杂,开发的难度大。

4:软件具有较长的生命周期。

1.2:嵌入式系统的软件结构

1:简单的轮询(Round-Robin)结构

最简单的软件结构就是轮询结构,其工作原理就可以类比高级语言中C语言的for循环,重复循环检查每个外部输入条件,一旦有需要或者说是达到标准的任务时,就进行相关的处理。

//初始化

while(TRUE)

{

if(I/O设备1需要服务);//执行设备1服务函数

if(I/O设备2需要服务);//执行设备2服务函数

if(I/O设备3需要服务);//执行设备3服务函数

if(I/O设备4需要服务);//执行设备4服务函数

... ...

if(I/O设备n需要服务);//执行设备n服务函数

}

2:带中断的轮询结构

这种结构在简单的轮询结构的“主循环”基础上增加中断服务程序(ISR)

BOOL SA=FALSE; //A状态标志初值

BOOL SB=FALSE; //B状态标志初值

... ...

//事件A中断服务程序

{

事件A紧急操作;

SA=TRUE;

}

//事件B中断服务程序

{

事件B紧急操作;

SB=TRUE;

}

... ...

void main(void)

{

while(TRUE)

{

if(SA)

{

SA=FALSE;

事件A非紧急操作;

}

if(SB)

{

SB=FALSE;

事件B非紧急操作;

}

.... ...

}

}

3:监控式操作系统+应用软件结构

事件B中断服务程序

{

事件B紧急操作;

发送信号T;

}

......

void task1( void)

while(TRUE){

等待信号S; 事件A非紧急操作;

}

}

1.3:引导加载程序

1.3.1:引导加载程序的概念和功能

引导加载程序(引导程序)bootloader是底层软件的一部分。嵌入式系统上电复位后首先运行引导加载程序,它负责系统的上电自检、硬件初始化、建立存储空间映射、配置系统参数、建立上层软件的运行环境,并加载和启动操作系统。

1.3.2:嵌入式操作系统的加载方式

1):在Rom中直接运行操作系统代码

2):在Ram中运行操作系统代码

3):从外存储器加载操作系统代码运行

4):从通信端口加载操作系统代码(下载)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。