uCOS-II嵌入式操作系统介绍与移植_第1页
uCOS-II嵌入式操作系统介绍与移植_第2页
uCOS-II嵌入式操作系统介绍与移植_第3页
uCOS-II嵌入式操作系统介绍与移植_第4页
uCOS-II嵌入式操作系统介绍与移植_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课 件 目录 1、 2、 3、 4、 5、 6、 多任务应用程序的编写 1、 效的嵌入式实时操作系统内核 2、支持 众多体系结构 3、可从 1、 2、提供了许多系统服务,如信号量、消息队列、邮箱、内存管理、时间函数等 3、这些功能可以根据不同的需求进行裁减。 1、汇编语言、 2、移植工作集中在多任务切换的实现上 3、在 要完成的工作包括:修改三个和体系结构相关的文件,代码量大约是 500行。这三个文件是 1、 数据类型定义 2、 3、 堆栈增长方向 数据类型定义 1、 - 2、 - 3、 - 4、 - 5、 - 6、 - 1、 退出临界区 # 2、进入临界区 # 堆栈增长方向 1、 堆栈由高地址向低地址增长,这个也是和编译器有关的,当进行函数调用时,入口参数和返回地址一般都会保存在当前任务的堆栈中,编译器的编译选项和由此生成的堆栈指令就会决定堆栈的增长方向。 # 1 1、 任务堆栈初始化 2、 系统 3、 中断级任务切换函数 任务堆栈初始化 1、 由 2、用来初始化任务的堆栈并返回新的堆栈指针 始状态的堆栈模拟发生一次中断后的堆栈结构。 3、在 务堆栈空间由高至低依次将保存着 4、堆栈初始化结束后, 系统 1、任务创建钩子 2、 任务删除钩子 3、 任务切换钩子 4、 任务统计钩子 5、 时钟节拍处理钩子 断级任务切换函数 1、该函数由 和 调用 2、在时钟中断 中断服务例程)中发现有高优先级任务等待的时钟信号到来,则需要在中断退出后并不返回被中断任务,而是直接调度就绪的高优先级任务执行。 3、该函数通过设置一个全局变量后在 中判断该变量以进行正确的动作。 1、 时钟节拍中断服务函数 2、 退出临界区和进入临界区函数 3、 任务级上下文切换函数 4、 时钟节拍中断服务函数 1、时钟节拍是特定的周期性中断 2、时钟节拍率越快,系统的额外开销就越大。越慢则系统响应速度越慢 3、本系统使用定时器 0作为时钟节拍源,产生间隔 10 4、 就是时钟节拍中断服务函数,也就是定时器 0的中断处理函数 1、首先在被中断任务堆栈中保存 后调用 2、调用 , 检查所有处于延时等待状态的任务,判断是否有延时结束就绪的任务。 3、 最后调用 , 如果在中断中(或其他嵌套的中断)有更高优先级的任务就绪,并且当前中断为中断嵌套的最后一层。 将进行任务调度。如果当前中断不是中断嵌套的最后一层,或中断中没有改变任务的就绪状态, 将返回调用者 , 最后 返回被中断的任务。 退出 /进入临界区函数 1、直接操作 、 2、 、 ,关闭所有中断 3、 、 ,打开中断 任务级上下文切换函数 1、该函数当任务因为被阻塞而主动请求 于此时的任务切换都是在非异常模式下进行的,因此区别于中断级别的任务切换。 2、它先将当前任务的 后获得最高优先级任务的堆栈指针,从该堆栈中恢复此任务的 之继续执行。这样就完成了一次任务切换。 1、该 函数是在 2、 负责从最高优先级任务的 并依次将 时系统就将控制权交给用户创建的该任务进程,直到该任务被阻塞或者被其他更高优先级的任务抢占 3、该函数仅在多任务启动时被执行一次,用来启动之前创建的第一个,也就是最高优先级的任务执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论