ucos2操作系统在51单片机上的移植.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ucos2操作系统在51单片机上的移植

μC/OS-Ⅱ在51单片机上的移植 姓名: 学号: 目 录 1 绪论 2 1.1 嵌入式实时操作系统 2 1.2 μC/OS-Ⅱ嵌入式操作系统 2 1.3 μC/OS-Ⅱ原理 2 2 μC/OS-Ⅱ内核结构 3 2.1 临界区 3 2.2 任务及任务控制块 3 2.3 任务状态 4 2.4 任务调度 5 2.5 中断处理 5 2.6 时钟节拍 5 2.7 μC/OS-Ⅱ初始化与启动 6 3 μC/OS-Ⅱ在51单片机上的移植 6 3.1 OS_CPU.H文件的移植 6 3.2 OS_CPU_A.ASM文件的移植 8 3.3 OS_CPU_C.C文件的移植 20 4 移植结果测试 23 4.1 设计原理 23 4.2 应用程序设计 23 4.3 结果分析 25 1 绪论 1.1嵌入式实时操作系统 大多数的操作系统只注重平均性能,如对于整个系统来说,所有任务的平均响应时间是关键,而不关心单个任务的响应时间。而嵌入式实时操作系统最主要的特征是性能上的实时性,从这个角度上看,可以把嵌入式实时操作系统定义为“当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统 ”。 目前大多数嵌入式操作系统提供以下管理功能: 1.任务管理 所有嵌入式操作系统都是多任务的,目前所说的多任务大都是指多线程方式或多进程方式,两者的运行机制不完全一样。以多进程为例,调度程序的好坏直接影响到系统的性能。和一般的操作系统一样,嵌入式操作系统的作用也是决定在特定的某一时刻系统应该运行哪一个进程,对嵌入式系统中的运行软件进行描述和管理,并完成处理机资源的分配与调度。 2.存储管理 在嵌入式系统中,一般不采用虚拟内存管理,而采用动态内存管理方式,即当程序的某一部分需要使用内存时,利用操作系统提供的分配函数来处理,一旦使用完,可通过释放函数来释放所占用的内存,这样内存就可以重复使用,这样提高了内存的利用率,方便了用户的使用,并提供了足够的存储空间。 3.周边资源管理 在操作系统中必须提供周边资源的驱动程序,以方便资源管理和应用程序使用。 4.中断管理 嵌入式操作系统和一般操作系统一样,一般都是用中断方式来处理外部事件和I/O请求。中断管理负责中断的初始化安装、现场的保存和恢复、中断栈的嵌套管理等。 1.2 μC/OS-Ⅱ嵌入式操作系统 μC/OS-Ⅱ是一个可裁剪、源码开放、结构小巧、抢先式的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩张性强等特点。 μC/OS-Ⅱ结构小巧,即使包含全部功能如信号量、消息邮箱、消息队列以及相关函数等,编译后的μC/OS-Ⅱ内核也仅有6~10 KB,所以它比较适用于小型控制系统,μC/OS-Ⅱ也具有良好的扩展性能。 1.3 μC/OS-II原理 μC/OS-II 包括任务调度、时间管理、内存管理、资源管理四大部分。它的移植只与4个文件相关:汇编文件(OS_CPU_A.ASM)、处理器相关C文件(OS_CPU.H、OS_CPU_C.C)和配置文件(OS_CFG.H)。有64个优先级,系统占用8个,用户可创建56个任务,不支持时间片轮转。它的基本思路就是 “近似地每时每刻总是让优先级最高的就绪任务处于运行状态”。为了保证这一点,它在调用系统API函数、中断结束、定时中断结束时总是执行调度算法。任务的切换是通过模拟一次中断实现的。 μC/OS-II工作核心原理是:近似地让最高优先级的就绪任务处于运行状态。 2 μC/OS-Ⅱ内核结构 2.1 临界区 一个任务在某些时候可能会访问共享内存、共享文件或其他共享资源,这些对共享内存进行访问的程序片断称作临界区。为了防止不同的任务同时处于临界区,必须使用一定互斥的方法来避免这种情况的发生,因此μC/OS-Ⅱ在处理临界区代码时需要关中断,处理完毕后再开中断。μC/OS-Ⅱ定义两个宏来开关中断,μC/OS-Ⅱ中的这两个宏调用分别是:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。 2.2 任务及任务控制块 在μC/OS-Ⅱ中,一个任务看起来像其它C的函数一样,有函数返回类型,有形式参数变量,但是任务是不会返回的,所以返回参数要定义成void类型,下面这个程序就是一个任务函数: void Task (void *pdata) { for(;;) { /* 用户代码 */ /* 调用μC/OS-Ⅱ的各种服务 */ /* 用户代码 */ } } 当任务完成以后,任务函数可以调用OSTaskDel()来实现自我删除。任务想要再次进入内核可以

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档