基于ARM的嵌入式系统设计与实现第8讲 嵌入式实时多任务.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:32 大小:104KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于ARM的嵌入式系统设计与实现第8讲 嵌入式实时多任务.pdf

基于ARM的嵌入式系统设计与实现第8讲嵌入式实时多任务.pdf

预览

免费试读已结束,剩余 22 页请下载文档后查看

15 金币

下载此文档

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

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

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

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

基于ARM的嵌入式系统设计与实现DesignandImplementationofARMBasedEmbeddedSystemsCopyright©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:在有的书中翻译成上下文切换,实际含