




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、uc/os-ii 中断服务程序代码分析在讲解 uc/os-ii 中断处理机制之前 , 大家要了解 uc/os-ii 中对于中断函数的处理机制。我们在查阅嵌入式实时操作系统cos -ii(第二版 )书中 p103页时,可以查看到在 uc/os-ii 中的中断处理机制如下描述: void isp_function( void ) 保存全部的 cpu 寄存器; 调用 osintenter()或 osintnesting+; if(osintnesting = 1 ) ostcbcur-ostcbstkptr= sp ; 清中断源 ; 重新打开中断 ; 执行用户代码做中断服务; 调用 osintexi
2、t(); 恢复所有 cpu 寄存器 ; 执行中断返回指令 ; 在 uc/os-ii 中, 对于中断中的任务切换 , 是用两个函数实现的1、osintenter() 2、osintexit() 在 osintenter()中将用于记录中断嵌套的计数器osintnesting 自增 1; 其函数源代码如下 : void osintenter (void) if (osrunning = os_true) if (osintnesting 0) osintnesting-; if (osintnesting = 0) if (oslocknesting = 0) os_schednew(); if
3、(ospriohighrdy != ospriocur) ostcbhighrdy = ostcbpriotblospriohighrdy; #if os_task_profile_en 0 ostcbhighrdy-ostcbctxswctr+; #endif osctxswctr+; osintctxsw(); os_exit_critical(); 这部分代码的意思 , 大家自己想一下了 , 这里我主要讲解一下在os_cpu_a.a 文件中的 osintctxsw() 函数了。大家记住一点 : 在 osintexit()函数调用时 , 我们已经将当前任务的所用到的pc ,lr,r0-r12,cpsr压入到被中断了的任务堆栈中了, 所以在这里就不再需要重复压栈的操作了。详细代码如下 : osintctxsw ldr r0, =ost askswhook mov lr, pc bx r0 ldr r0, =ospriocur ldr r1, =ospriohighrdy ldrb r2, r1 strb r2, r0 ldr r0, =ostcbcur ldr r1, =ostcbhighrdy ldr r2, r1 str r2, r0 ldr sp, r2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 起重机械企业管理与创新考核试卷
- 施工机械安全技术操作规程考核试卷
- 艺术陶瓷的设计思维与方法考核试卷
- 大数据对数据库影响分析试题及答案
- 嵌入式存储设备管理试题及答案
- 嵌入式设计中的测试技术试题及答案
- 解析2025年网络技术考试中的问题类型试题及答案
- 复习资料三级数据库考试试题及答案
- 理解大数据背景下的数据库创新试题及答案
- 行政组织理论相关试题及答案指导
- 统借统还资金分拨合同
- 地铁运营施工负责人考试题库
- GB/T 708-2006冷轧钢板和钢带的尺寸、外形、重量及允许偏差
- 故宫的资料简介(标准版)
- 全国高中语文优质课一等奖《雷雨》 课件
- 2022秋国开法律文书形考任务1-5试题及答案
- 固定资产和无形资产培训课程课件
- 工程结算审计管理办法
- 重大事项和重要工作备案登记表
- 北京版二年级英语下册(全套)课件
- 检验科生化SOP文件
评论
0/150
提交评论