




已阅读5页,还剩67页未读, 继续免费阅读
(检测技术与自动化装置专业论文)基于osekvdx标准的构件化嵌入式操作系统的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
茹帮鼍磊黧喾:嚣鞴蒜藏篡荔弑糍嚣i 为0 霜第谗菩i 嚣蛾赫0 ;搿i 嚣巍薪每嚣;品;蕊嚣荔菘孑罩i ;孑i 麓“氟福i 域菇翕荔:五# 五嚣罱;蕊琢鼢妊磊磊溺磊,j 一函扣k 赢弼妒薛晶 踹轵乒肼f 嫩制 警丫一( 1 k l 裔、 l 猁洲蚵l 缓r l m 脚疗溯黼,葫纛,黼蕊蟊i 强期i 黼埘j | 鬟! 鬟秘一f ,强穗缓弱缓甄荔西基;i i l 覆缀僦缓。瘳擘- l ,# 够麓鍪荔爹:i l 戮,糍力赢面赢萌函糊 图3 8 全抢占调度策略下扩展任务同步图 在该图中,任务t 1 起始由于等待事件处于等待状态,t 2 处于运行状 态。当t 2 给任务t l 设置其等待事件,系统转到调度程序完成任务切换, t l 从等待态转为运行态。任务t 2 由于被t 1 抢占c p u 处于就绪态。t 1 运行一段时间后清除事件继续运行,到某一时刻t l 由于再次设置等待事 件,系统重新启动调度程序完成任务切换,t 1 转为等待态,t 2 运行。 图3 9 说明了扩展任务在非抢占调度策略下通过事件处理机制实现任 2 3 誉瑟瓣薯蠹漱漱蕊嚣燃惫纛蹶黧瑟善瑟誓嚣簪瑟纛囊纛蠹露荔缀爱豸爱蔫蕊舞鬻嚣瑟瑟瀚滋瑟瑟荔瑟瑟曩纛j 荔j 蓊瑟鬻黼瑟戮嚣麟1 | 基jj 童i 建j 三,墨巍毫冀参,囊,咯。? 乏囊。飞。r 。j 一。意誓。鬲0 ,岁j 二,于z ? i 菇董。j 。吐i 。:二毋? ;一;函:茹碗母趣;纛一。一:“x 一雾婷;毳毒玉噫赫赢菇蜀。 务的同步。其中扩展任务t l 的优先级高。 图3 9 非抢占调度策略下扩展任务同步图 在该图中,任务t l 起始由于等待事件处于等待状态,t 2 处于运行状 态,当t 2 给任务t l 设置其等待事件,由于为非抢占调度策略,t 2 继续 运行,直到调用系统a p i 启动重调度服务,转到调度程序完成任务切换, t 1 从等待态转为运行态。任务t 2 由于被t 1 抢占c p u 处于就绪态。t 1 运行一段时间后清除事件继续运行,到某一时刻t l 由于再次设置等待事 件,系统重新启动调度程序完成任务切换,t 1 转为等待态,t 2 运行。 报警 前面提到汽车电子控制最典型的特性就是实时性,因此系统必须有基 于时间或其他计数器的处理机制,来处理定时和循环任务。为此,o s e k 标准提供了报警机制,报警或者基于系统时钟,或者基于其他的某种计数 器,当计数器到达报警设定值时被触发。报警触发后可以激活任务也可以 为某一任务设置事件,或者执行一个报警回调程序,具体怎样由用户在系 统生成时静态定义,但报警值是动态设置的,可以是相对值或者是绝对值, 也可以设为循环报警来激活周期性任务。 中断 汽车控制系统要求对实时输入作出快速反应。在o s e k 操作系统中, 由应用程序开发者编写的中断服务程序( i s r ) 与系统封装在一起,这样有利 于保护任务和系统状态。o s e k 操作系统把中断处理程序分为两类:( 1 ) 中 断服务程序不会调用系统服务:( 2 ) 中断服务程序可以调用部分系统功能, 如激活任务、设置事件、设置报警等,因此,它可以激活更高优先级的任 务。o s e k 操作统的中断管理提供了开关全部中断和开关全部第二类 中断的系统调用。o s e k 操作系统内核是一个可重入内核,因此,那些正 在执行内核代码的任务( 如正在执行系统调用) 可能被中断,交出c p u 的使 用权。必要时都不允许等到内核代码运行完,这有利于缩短由中断启动的 更高优先级任务的平均延时。o s e k 操作系统还支持中断的嵌套。 符合类 o s e k 操作系统规定了四个符合类b b c l 2 、e c c l 2 ,这些符合类的 t # 旷”掣6 一“掣懈! 。:。州? w ”“皑蛇4 7 ”唑| ”4 瞄:”,一,:掣嘴”,:一n 。_ ! ? 一、1 :7 :一j 蹲j :f = + i :? 一j ,。z 。 + ,= 一 定义与区别是:每个优先级上只有一个任务,且该任务只能被激活一次, 若该任务是基本任务则定义这种一致类为b c c l ,若该任务为扩展任务则 定义为e c c l ;每个优先级上可以有多个任务且只有基本任务可以被激活 多次,扩展任务只能被激活一次,若这些任务为基本任务则定义这种一致 类为b c c 2 ,若这些任务为扩展任务则定义为e c c 2 。 j ;矗= ;五z ;a 茹日冠;甜赢;二硝;鼢z 翟o o 茄o * ;= ;二z i 品j = 二- := ,铽。耐嚣x :品i = “* ;黝;1 = 潞筒二x 渊= o 嚣嚣:茹;筒;茹= = 茹= ;= = 环z ;i ;z ;= = 【羔= = = :;= = := _ 嚣黼;o 矗= = 妊x x o = 弑二;黼二= 二;i ;= ;- 茹= ;黼i ;磊= ;菡 “o 一一忡4 ”一 # 4 、p 撕。,- “舢蛳_ “”嘶一o 州w 、一* 一m 脚, “蝴榭螨“目铺一写# “蒯秘肖一t 罅r 铀1 w q 埔嘏黼# ”m 矗t j # t 十“, # v # 。t ,嚣槲翟槲* 0 节# * 咏;岛q 耕罐n 蝴m 啦0 * ,职撇m 如0 0 口钟# 黼甜槲榴龇雌:镕* 碱j # 唰,一二口蹿# _ 出h f 错赫韶胤# 撕# o ,棉# 蛰# # # 蜷,氍b 懈o 姆矗照 :一:。二j 。+ :,。;,。7 ,一;, 一一一 - 知? 。:t j 一,1 一:厶一鼍乙。 7 :、意一+ 一:一。? 一渊,。一一一。| o ui :t,r 。甜。 掣m ”冀? 鄂强警! 笋:0 等掣鼍? 4 ”岈:冀? 世,”? 絮”! :俐? ! ? 9 ,! ! 嚣嘤”、哪+ ? :”:曹:”荆。j ? 哗7 常萝訾”警栅? 。:j ;鼍0 “”? ”甲珊“y 严”竽? ”帮? 舯,妒“:岬帅1 1 箩搏。? “? 掣鬻紫芝鬈w 肿? 世? “帛”鼍”警。“ 第四章构件化嵌入式操作系统a u t o o s e k 的设计 4 1o s e k 嵌入式软构件 o s e k 构件是针对符合o s e k 标准的系统应用开发、主要定位在汽车 电子领域的嵌入式软构件。它除了具备其它构件特点外,还具备了以下特 点: 轻量级:o s e k 构件不涉及不需要的功能,与应用系统一起编译运行。 可重用性好:构件粒度适当,易于组合。 配置性好:完全封装内部实现的同时,向构件使用者( 上层应用或其它 构件) 提供良好的配置接口。 可移植性好:跨硬件、嵌入式操作系统平台。 4 1 1a u t o o s e ko s 系统结构 嵌入式系统应用时和具体的硬件平台相结合,所以系统结构一般包括 四个主要部分:应用层、系统核心层、硬件抽象层( h a l ) 和底层的硬件层。 如图4 1 所示: 应用程序层 系统核心层 硬件抽象层( h a l ) 硬件层 图4 1a u t o o s e k 嵌入式系统结构 硬件层:具体外围硬件模块,如串口设备、a d 转换模块、键盘等。 硬件抽象层( h a r d w a r ea b s t r a c tl a y e r ,h a l ) :提供与嵌入式硬件系统 交互的接口,该层中的功能模块主要用于与底层硬件的通信与交互,以设 2 6 备驱动为主。 系统核心层:构件化的内核,根据不同的应用场合有所取舍。本文设 计的构件化内核根据o s e k 标准,包括五个部分,提供一个实时系统所需 的基本要素,如:实现多任务、优先级调度方法、快速现场切换等机制, 按照o s e k 标准的a p i 设计满足所需的功能。本文设计的构件化内核包括 的五个部分见图4 2 所示。 图4 2a u t o o s e k 操作系统的内核组成部分 这五个部分在设计时既充分解耦,满足构件的独立性,又有相互联系, 其中发生联系的部分用独立的函数实现,每部分可以通过调用所需的独立 函数来建立联系。具体的相互联系的关系见4 2 节的图4 4 0 s e ko s 内核 结构。 应用程序层:是用户编写应用程序,调用内核构件的应用服务层,对 于嵌入式系统,一般是结合相应的硬件与编译器,在具体的编译开发环境 中编写应用程序。 4 1 2a u t 0 0 s e ko s 构件模型定义 构件可以看成是接口的集合,确定构件模型的关键就是确定构件应该 具有的接口【35 1 。在构件模型中包含了接口和构件的思想,接口确定了构件 和调用者的交互规则,构件则是具体应用的实现者。构件只通过接口与构 件外部环境通信,构件之间可以通过接口连接构成新的构件。 a u t o o s e k 系统是一个可配置性强的系统,为了适应并加强这种配置, a u t o o s e k 构件模型定义分为两个部分:构件描述与配置、构件实现体。 在一般的构件模型中,构件所有的接口都是在一起实现,而a u t o o s e k 构 件模型分为两个独立实现的部分,特别适合嵌入式系统:构件实现体通常 在宿主机上运行参数配置,而在目标机上运行,宿主机通常是p c 平台, 2 7 以下相关的程序代码段: o i l v e r s i o n = ”2 3 ”; 群i n c l u d e ”c :m e t r o w e r k s o s e k o s t l2 b i n o s t 2 212 o i l ” c p uc p u a p p m o d e a p p m o d e ; o so s c c = e c c l : s t a t u s = e x t e n d e d : t a r g e t m c u = s 12 d p 2 5 6 c l o c k f r e q u e n c y = 16 0 0 0 ; s y s t i m e r = s w c o u n t e r c o u n t e r = c o u n t e r l : i s r p r i o r i t y = o : p e r i o d = a u t o : t i m e r h a r d w a r e = r t i p r e s c a l e r = o s v a l u e = 31 ; ,; ) ; ) ; s e c o n d t i m e r = s w c o u n t e r co u n t e r = c o u n t e r 2 ; i s r p r i o r i t y = 0 ; p e r i o d = l0 0 0 0 0 0 ; t i m e r h a r d w a r e = m d c p r e s c a l e r = o s v a l u e = a u t o ; ) ; ; ; ) ; s t a r t u p h o o k = t r u e ; s h u t d o w n h o o k = t r u e ; e r r o r h o o k = t r u e ; p r e t a s k h o o k = t r u e ; p o s t t a s k h o o k = f a l s e ; u s e g e t s e r v i c e i d = f a l s e ; u s e p a r a m e t e r a c c e s s = f a l s e ; m e s s a g e c o p y a l l o c a t i o n2u s e r ; i s r s t a c k s i z e = lo o ; 4 1 3a u t o o s e ko s 构件模型的工作过程 在介绍了o s e ko s 构件模型中的基本元素后,在本小节将阐述其工 作过程:用户在编写应用程序时,需要设置构件中的配置参数,而构件描 述在用用户的应用程序实际编译中不起作用。然后利用o i l 配置工具自动 生成构件配置文件,用户编写应用程序只须添加配置文件和在程序中调用 o s 构件体接口的标准a p i ,利用具体编译器编译并下载至相应硬件平台即 目标机上。 4 2a u t o o s e ko s 构件模块开发 在设计a u t o o s e ko s 构件模块过程中,既要满足o s e ko s 标准的要 求实现用户所需的接口,又要针对多种处理器硬件,按照o s e ko s 标准 的硬件无关性,设计的嵌入式操作系统具有强移植性,并能按照优先级的 调度策略满足嵌入式操作系统的实时性。按照图4 2o s e k 操作系统的内 核五个组成部分,设计开发o s e ko s 构件模块。在本文的设计中,构件 化内核的设计思想和架构如图4 4 所示。 图4 4 a u t o o s e ko s 内核结构 4 2 1 调度策略与任务管理模块开发 a u t o o s e ko s 调度策略 o s e ko s 标准仅规定了任务的属性是基本任务或扩展任务、抢占性或 非抢占性,以及系统的三种调度策略概念和抢占发生的条件,而该标准并 无介绍调度策略具体实现的设计方法和算法。为了设计一个满足三种调度 策略的嵌入式实时操作系统,下面先详细介绍a u t o o s e ko s 调度策略的 算法。 在o s e ko s 标准里全抢占式的调度是按照就绪态中优先级最高的任 务被调度的思想来定义其概念的,非抢占式的调度仅仅等到当前运行的任 务结束后并且激活下一个任务运行,而不按照就绪态中任务优先级的高低 来获得c p u 的使用权。混合抢占式调度按系统配置的多个任务属性是否 3 0 具有抢占式和非抢占式任务来定义其概念。按照o s e ko s 标准中任务的 a p i ,设计独立的调度策略函数,满足构件的独立性要求其调度算法流 程图如图4 5 所示: 图4 5 a u t o o s e k 操作系统调度策略 其调度策略算法代码实现如下: 下面这三句宏定义表示该系统是全抢占性的 撑u n d e fo s n o p r e e m p t 撑u n d e fo s m i x p r e e m p t 撑d e f i n eo s f u l l p r e e m p t 实现三种调度机制策略的示意性代码如下: t a s k t y p eo s t a s k 2 r e a d y ( v o i d ) 捍i fd e f i n e d ( o s m i x p r e e m p t ) 混合抢占性调度 i f ( ( o s t a s k p r o p e r t y 0 s r u n n i n g 】& o s t s k n o p r e e m p t i v e ) 2 = 0 ) 找出就绪态中优先级最高的任务,并将优先级赋给o s i ; o s i = o s c u r t s k p r i o 【y 】; 返回o s i 的值; e l s e 混合抢占中的非抢占性任务调度 直接返回当前运行的任务优先级o s r u n n i n g ; 3 l ) 撑e l i fd e f i n e d ( o s f u l l p r e e m p t ) 全抢占性任务调度 找出就绪态中优先级最高的任务,并将优先级赋给o s i ; o s i = o s c u r t s k p r i o 【y 】;该数组元素记录占用该优先级的当前 任务优先级 返回o s i 的值; 这里的o s i 记录的是当前就绪态中优先级最高任务的优先级。 a u t o o s e ko s 任务模块设计 o s e ko s 标准定义了在启动系统时将激活第一个运行的任务,该任务 的运行体内是一个无限循环,并调用其它a p i 完成各种应用需求,在该标 准里定义了任务相关的接口函数,包括 s t a t u s t y p e a c t i v a t e t a s k ( t a s k t y p e ) 、 s t a t u s t y p et e m i n a t e t a s k ( v o i d ) 、 s t a t u s t y p ec h a i n t a s k ( t a s k t y p e ) ,这些接口函数仅描述了该接口 应该具有的功能和输入输出参数,没有规定构件接口实现体的具体实现, 这样的定义既满足不同构件设计人员按照标准的要求,设计出的接口具有 相互通用的灵活性又具有满足不同应用的扩展性。这些函数接口a p i 的介 绍在附录a 介绍。 操作系统以任务模块为核心,其它模块相辅助,在任务模块中将任务 控制块设计成一个结构体n 钔,其定义如下: t y p e d e fs t r u c to s j c b o s s t k o s t c b s t k p t r ; s t r u c to s j c b o s t c b n e x t ; s t r u c to s j c b o s t c b p r e v ; e v e n t m a s k t y p eo s t c b s e t e v e n t ; e v e n t m a s k t y p eo s t c b 、 厂a i t e v e n t ; i n t 8 u o s t c b s t a t ; i n t 8 u o s t c b p r i o ; i n t 8 u o s t c b x ; i n t 8 uo s t c b y ; i n t 8 u o s t c b b i t x ; i n t 8 u o s t c b b i t y ; o s t c b ; 3 2 o s t c b s t k p t k 是指向当前任务堆栈栈顶的指针。系统允许每个任务有 独立的堆栈,堆栈的大小可以根据应用程序中每个任务实际所需的大小而 自行设定。 变量o s t c b n e x t 和o s t c b p r e v 用于任务控制块双向链表的前后链 接。 变量o s t c b s e t e v e n t 和o s t c b w a i t e v e n t 是为扩展任务所用,通过掩 码的方式用于为任务设置事件以及系统任务间的同步,例如为任务设置事 件时o s t c b p r i o t b l 【t a s k i d 】 o s t c b s e t e v e n ti _ ( e v e n t m a s k t y p e ) ( m a s k ) 。 变量o s t c b p r i o 是当前任务的优先级,值越大表示优先级越高,其中 0 为最低优先级分配给空闲任务,6 3 为最高优先级。 变量o s t c b x ,o s t c b y ,o s t c b b i t x ,o s t c b b i t y 用于加速任务 进行状态转换的过程。 a u t o o s e ko s 实现任务管理所需要的另一个数据结构就是就绪表。就 绪表中有两个变量o s r d y g r p 和o s r d y t b l 【】。在o s r d y g r p 中,任务按优 先级分组,8 个任务为一组。o s r d y g r p 中的每一位表示8 组任务中每一 组中是否有进入就绪态的任务。任务进入就绪态时,就绪表o s r d y t b l 口 中相应位置位,就绪表o s r d y t b l 口数组大小取决于最高优先级任务优先级 o sh i g h e s tp r i o 值。 在a u t o o s e ko s 中每个任务的就绪态标志都放在就绪表中,每个任 务在就绪表中的位置通过该任务的优先级大小决定。任务的优先级的低三 位用于确定任务在总就绪表o s r d y t b l 口中的所在位,接下来的三位用于确 定该任务的就绪态标志是在o s r d y t b l 】数组的第几个元素。它们之间的关 系如图4 6 所示。 为便于任务切换时就绪态标志设置方便,系统定义了两数组 o s m a p t b l 【】,o s u n m a p t b l 【】。系统按任务优先级低三位和高三位值分别 查找o s m a p t b l 口设置就绪态标志。并按就绪态标志对应的值查找 o s u n m a p t b l 口得出当前最高任务优先级。采用此方式,在设置和查询时均 不需要扫描整个就绪表。较大的提高了任务状态切换时处理速度。同时设 计时充分考虑到任务优先级值越高其优先级越高,且o s r d y g r p 和 o s r d y t b l 口如只有最低位有效,则该为第o 组或组内第0 个任务,对所计 算的任务优先级值不影响。从而计算时可通过将就绪态标志对应的值右移 一位,则其对应的值取值范围由0 2 5 5 减小为0 1 2 7 ,从而将o s u n m a p t b l 【】 中的元素个数由2 5 6 减小为l2 8 。通过此设计思想,较好的节省了系统占 用空间。 3 3 6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 , o x 2 0t o0 x 2 f 6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 ,6 , 0 x 3 0t o0 x 3 f + 7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 , 0 x 4 0t o0 x 4 f 7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 , 0 x 5 0t oo x 5 f 7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 , 0 x 6 0t oo x 6 f 7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 ,7 0 x 7 0t o0 x 7 f ) ; 当某一任务进入就绪态时,只要将就绪表中相应位置位,主要程序代 码如下所示: p t c b 一 o s t c b y= p r i o 3 ; p t c b 一 o s t c b b i t y= o s m a p t b l 【p t c b 一 o s t c b y 】; p t c b 一 o s t c b x= p r i o & 0 x 0 7 ; p t c b - o s t c b b i t x= o s m a p t b l 【p t c b o s t c b x 】; o s r d y g r pi =p t c b 一 o s t c b b i t y o s r d y t b l p t c b - o s t c b y 】l =p t c b 一 o s t c b b i t x ; 而从就绪表删除一个任务时,则将就绪表数组o s r d y t b l 【】中相应元素 的相应位清零,对于o s r d y g r p 只有当被删除任务所在组的全组任务中没 有一个任务进入就绪态时,才将相应位清零。主要程序代码如下: i f ( ( o s r d y t b l 【p t c b - o s t c b y 】& = 一p t c b - o s t c b b i t x ) = = o x 0 0 ) o s r d y g r p & = p t c b o s t c b b i t y ; ) 系统在创建任务时必须给每一个任务赋予不同的优先级,优先级可以 从l 到o sh i g h e s tp r i o 。a u t o o s e k 系统总是运行进入就绪态的优先 级最高的任务。为了找到那个进入就绪态的优先级最高的任务,a u t o o s e k 系统并不需要从o s r d y t b l 【o 】开始扫描整个就绪表。只需要查询优先级判 断表o s u n m a p t b l 1 2 8 】。确定进入就绪态的优先级最高的任务主要程序代 码如下: x = o s u n m a p t b l 【o s r d y g r p l 】; y= o s u n m a p t b l 【o s r d y t b l x 】 l 】; p r i o = ( i n t 8 u ) ( ( x r e s = o s c u r r e s 【o s r u n n i n g 】;取得当前任务最后申请的资源号掌 w h i l e ( r e s ! = o s r e s o ) 通过r e s l i n k 数组查询资源是否已被占有事 i f ( r e s = = r e s i d ) 返回资源已被占有错误; r e s = o s r e s l i n k 【r e s 】; ) o s r e s l i n k 【r e s i d 】= o s c u r r e s 【o s r u n n i n g 】;产将资源与该任务上 次占有的资源号关联 o s c u r r e s o s r u n n i n g 】= r e s i d ;标记当前情况下,资源被该任务 最后占有 o s r e s s a v e 【r e s i d 】= o s t c b c u r o s t c b p r i o ;宰保存任务优先级 i f ( o s r e s s a v e 【r e s i d 】 释放资源的模块示意程序为: s t a t u s t y p er e l e a s e r e s o u r c e ( r e s o u r c e t y p er e s i d ) i f ( o s r e s l i n k 【r e s i d 】2 = r e s i d ) 返回调用资源无效; i f ( o s c u r r e s 【o s r u n n i n g 】! = r e s i d ) 返回资源不是该任务最后获取的资源错误; i f ( o s r e s p r i o 【r e s i d 】 o s r u n n i n g ) 返回资源优先级小于任务优先级错误; o s c u r r e s 【o s r u n n i n g 】= o s r e s l i n k 【r e s i d 】;将资源从该任务所占 资源链表中移除 o s r e s l i n k r e s i d 】= r e s i d ;清除该资源与其他资源的关联 i f ( o s r e s s a v e 【r e s i d 】 o s t c b s t a t & o s t c b f i r s t ) ! = 0 ) 如任务是第一次运行 o s t c b c u r o s t c b s t a t & = ( o s b y t e ) ( o s t c b f i r s t ) ; o s l o a d s p ( o s t a s k t o s 【o s r u n n i n 朗) ;将堆栈指针指向该 任务堆栈栈顶位置 o s j u m p t a s k ( o s t a s k e n t r y 【o s r u n n i n g 】) ;跳转到该任务 入口处,执行任务 r e t u r n ; ) e l s e 如任务先前是被抢占或等待事件的任务 4 7 o s l o a d s p ( o s t c b c u 卜 o s t c b s t k p t r ) ;得到该任务的堆 栈指针拳 恢复处理器寄存器; 执行中断返回指令; ) 根据上述设计,系统通过0 s t c b f i r s t 标志来区别任务是否为第一次 运行从而在恢复现场时做不同处理。在新建任务时无需将该任务堆栈初始 化成发生中断后保护现场的状态,从而使得系统无需为每一具体硬件平台 的实现独立开发初始化堆栈模块,减少了移植的复杂性。 ( 虱o s t a s k f o r c e d i s p a t c h h a n d l e r ( ) 在a u t o o s e k 系统中任务切换是通过任务调度程序即软中断服务程序 来实现的,其示意性代码如下: v o i do s t a s k f o r c e d i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咸阳经开城市发展集团有限公司招聘考试真题2024
- 达州市教育局部属公费师范生招聘考试真题2024
- 高血压健康管理试题(带答案)
- 劳动合同与社会保险法律制度测试试题(附答案)
- 初级美发师模拟试题及答案
- 2025年度隧道盾构施工项目合同
- 2025年度清洁煤炭绿色采购与供应链管理合同
- 2025保密协议范本:物流行业货物信息保密
- 2025年美妆行业个性化定制服务模式下的行业规范研究报告
- 2025版绿色建筑节能改造合同标准文本
- 2025年科研项目经理专业知识考试题目答案解析
- 2025广东肇庆市怀集县卫生事业单位招聘102人笔试模拟试题及答案解析
- 青马考试题目及答案
- 算力中心计算任务优化方案
- 劳务派遣工作知识培训课件
- AutoCAD电气工程制图 课件 项目1 低压配电柜的绘制与识图
- 无人机反制设备原理课件
- 2024年全国工会财务知识大赛备赛试题库500(含答案)
- 《采购4 0 采购系统升级 降本 增效实用指南 第2版 》读书笔记思维导图PPT模板下载
- 《卷烟原料配方设计》配套教学课件
- 《新能源汽车驱动电机系统检测与维修习题册》 习题参考答案(劳动)
评论
0/150
提交评论