欢迎来到天天文库
浏览记录
ID:27506631
大小:161.50 KB
页数:18页
时间:2018-12-04
《ucos-II移植到51单片机的解决办法.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、ucos-II移植到51单片机的解决办法 本文主要是关于ucos-II的相关介绍,并着重对ucos-II移植到51单片机进行了详尽的阐述。 ucos-II μC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)。同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。μC/OS-II已经通过联邦航空局(FAA)商用航行器认证,符合航空无线电技术委员会(RTCA)DO-178B标准。 μC/OS-
2、II被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS-II的前身是μC/OS,最早出自于1992年美国嵌入式系统专家JeanJ.Labrosse在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS的源码发布在该杂志的BBS上。 μC/OS和μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPUucos-II移植到51单片机的解决办法 本文主要是关于ucos-I
3、I的相关介绍,并着重对ucos-II移植到51单片机进行了详尽的阐述。 ucos-II μC/OS-II由Micrium公司提供,是一个可移植、可固化的、可裁剪的、占先式多任务实时内核,它适用于多种微处理器,微控制器和数字处理芯片(已经移植到超过100种以上的微处理器应用中)。同时,该系统源代码开放、整洁、一致,注释详尽,适合系统开发。μC/OS-II已经通过联邦航空局(FAA)商用航行器认证,符合航空无线电技术委员会(RTCA)DO-178B标准。 μC/OS-II被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS-I
4、I的前身是μC/OS,最早出自于1992年美国嵌入式系统专家JeanJ.Labrosse在《嵌入式系统编程》杂志的5月和6月刊上刊登的文章连载,并把μC/OS的源码发布在该杂志的BBS上。 μC/OS和μC/OS-II是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU上。用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II具有执行
5、效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB。μC/OS-II已经移植到了几乎所有知名的CPU上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列
6、,内存管理,中断管理等。 uC/OS-II以源代码的形式发布,是开源软件,但并不意味着它是免费软件。你可以将其用于教学和私下研究(peacefulresearch);但是如果你将其用于商业用途,那么你必须通过Micrium获得商用许可。 uCOSII移植的一点心得 uCOS-II是一种十分优秀实时操作系统,其在NASA的认证通过直接说明了其优秀及稳健的性能,同时由于其完全open,所以受到广大开源爱好者的喜爱。uCOS-II简单明了,同时绝大部分代码都采用ANSIC编写(除了与CPU相关代码外),所以学习起来十分容易,是嵌入式学习乃
7、至操作系统学习最好的入门OS之一。 我主要想讲一下自己最近移植uCOS-II的心得,因为最近也在学习操作系统,所以这段日子对于uCOS-II的学习的确也让我对于操作系统有了一个实际深刻的认识。 uCOS-II移植其实十分简单。对于一个处理器,需要做的工作只有:修改三个文件――os_cpu_c.c、os_cpu.h、os_cpu_a.asm(ASM文件根据编译器不同而又有一些不同)。 用另一种方式说,需要做的工作就是修改五个函数: 1、os_cpu_c.c:OSTaskStkInit; 2、os_cpu_a.asm:OSStart
8、HighRdy、OSCtxSw、OSIntCtxSw、OSTickISR; OSTaskStkInit函数是针对CPU压栈的函数,需要模仿出CPU初始化后的寄存器状况。也使需要修改的唯一一个
此文档下载收益归作者所有