预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共32页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于ARM的嵌入式系统 设计与实现 DesignandImplementationofARMBased EmbeddedSystems Copyright©2003-2007SinoSys.AllRightsReserved双实科技 基于ARM的嵌入式系统设计与实现 第1讲嵌入式系统基础 第2讲基于ARM的板级嵌入式系统硬件平台 第3讲从软件开发的角度看ARM硬件平台 第4讲板级嵌入式软件开发与运行环境 第5讲基于ARM的硬件系统的启动及初始化 第6讲嵌入式操作系统移植和使用 第7讲板级嵌入式设备驱动程序 第8讲嵌入式实时多任务应用软件 第9讲嵌入式系统的测试与调试 第10讲嵌入式系统的优化 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 第8讲嵌入式实时多任务应用软件 8.1引言 8.2传统实时软件开发 8.3基于实时操作系统的多任务软件开发 8.4常用实时嵌入式软件组件 8.5小结 8.6实验 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.1引言 嵌入式系统作为专用的计算机系统,往往对应 用软件的实时性提出了一定的要求。在早期的单片 机开发中,往往利用中断满足实时性要求。当系统 变得越来越复杂时,基于中断的应用软件不能满足 要求,而且也会带来设计和调试等方面的问题。基 于实时操作系统的多任务应用软件将很好的解决这 些问题。 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.2传统实时软件开发(1) Main() { InitHardware();//初始化硬件 InitData();//初始化数据 while()//主程序进入循环等待 { dosomething();//周期性一些操作 } } ISRXX() { 有实时性要求的工作 } Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.2传统实时软件开发(2) 传统的不基于操作系统的应用软件一般使用外部 中断来满足实时性要求。系统在上电后,跳转到 用户代码段执行,用户程序代码首先对硬件和数 据进行必要的初始化,随后将进入一个循环。将 对实时性要求不高的一些操作放在循环体内执 行。一些对实时性有要求的操作,如A/D数据采 集,串口数据发送等操作放在外部的时钟中断或 设备中断服务子程序中。 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.2传统实时软件开发(3) 基于中断应用软件的不足: a)不能满足复杂的应用 b)时序问题 c)很难调试 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.3基于实时操作系统的多任务软件开发 8.3.1实时多任务的基本概念 8.3.2实时操作系统多任务内核 8.3.3多任务通讯 8.3.4实时多任务软件实现 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.3.1实时多任务的基本概念(1) 任务:任务是代码运行的一个映像,从系统的角度看,任 务是竞争系统资源的最小运行单元。任务可以使用或等待 CPU、I/O设备及内存空间等系统资源,并独立于其它任 务,与它们一起并发运行(宏观上如此)。 多任务:多任务运行的实现实际上是靠CPU(中央处理单 元)在许多任务之间转换、调度。CPU只有一个,轮番服 务于一系列任务中的某一个。多任务运行很像前后台系 统,但后台任务有多个。多任务运行使CPU的利用率得到 最大的发挥,并使应用程序模块化。在实时应用中,多任 务化的最大特点是,开发人员可以将很复杂的应用程序层 次化。使用多任务,应用程序将更容易设计与维护。 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.3.1实时多任务的基本概念(2) 临界区:指处理时不可分割的代码。一旦这部分 代码开始执行,则不允许任何中断打入。为确保 临界段代码的执行,在进入临界段之前要关中 断,而临界段代码执行完以后要立即开中断。 资源:任何为任务所占用的实体都可称为资源。 资源可以是输入输出设备,例如打印机、键盘、 显示器,资源也可以是一个变量,一个结构或一 个数组等。 Copyright©2003-2007SinoSys.AllRightsReserved双实科技 8.3.1实时多任务的基本概念(3) ContextSwitch:在有的书中翻译成上下文切换,实际含