文档介绍:μC/OS-II在基于51微控制器上的移植研究
第一章绪论 1
背景和选题依据 1
国内外的研究现状及发展趋势 1
本文的研究内容 1
第二章μC/OS-II简介 3
μC/OS-II的产生背景 3
μC/OS-II的特点 3
μC/OS-II内核结构 4
宏OS_ENTER_CRITICAL( )和OS_EXIT_CRITICAL( ) 5
任务 5
调度器上锁、开锁 9
μC/OS-II中的中断与时钟节拍 9
μC/OS-II初始化与启动 10
第三章 Keil Cx51基础知识 12
Cx51程序设计基础 12
标识符与关键字 12
基本语法及语句 12
函数 13
函数定义与调用 14
函数的递归调用与再入函数 15
第四章μC/OS-II移植基础知识 17
μC/OS-II源文件移植 17
硬件平台构成与编译器的选择 19
μC/OS-II移植的一般性问题 20
第五章μC/OS-II在51单片机上的移植 21
头文件处理 21
21
21
23
汇编文件头部定义 23
修改OSStartHighRdy( )函数 25
修改OSCtxSW( )函数 25
OSIntCtxSW( )函数 26
OSTickISR( )函数 26
定时器初始值设置 27
第六章实验及其结果分析 28
实验的条件和指导思想 28
实验的过程和结果 28
对实验结果的分析和讨论 29
参考文献 30
致谢 31
第一章绪论
背景和选题依据
随着各种应用电子系统的复杂化和系统实时性需求的提高,并伴随应用软件朝着系统化方向发展的加速,在16位/32位单片机中广泛使用了嵌入式实时操作系统。然而实际使用中却存在着大量8位单片机,很长时间都采用前后台系统软件设计模式:主程序为一个无限循环,单任务顺序执行,通过设置一个或多个中断来处理异步事件。这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。本课题研究嵌入式实时操作系统μC/OS-II在51微控制器上的移植,对μC/OS-II的移植具有普遍的指导意义,可以为51平台更高层次的开发和拓展打下了基础。从学习操作系统角度看,通过μC/OS-II在VRS51上的移植,可以掌握移植和测试μC/OS-II的实质内容,很容易将其移植到其它的CPU平台上。
国内外的研究现状及发展趋势
目前比较常见的嵌入式操作系统有WindRiver公司的VxWorks、pSOS,微软公司的Windows CE,QNX公司的QNX OS,在手持设备嵌入式操作系统中三分天下的Plam、WinCE、EPOS等,但是使用这些商业操作系统是需要高昂的费用。面对这种情况,一些组织和个人也开发了一些免费的、源码开放的操作系统,在互联网发布,其中比较有名的是μCLinux和μC/OS-II。
μC/OS-II具有足够的稳定性和安全性,而且μC/OS-II的构思巧妙,结构简洁精练,可读性很强,具备了实时操作系统的全部功能。
μC/OS-II是用C语言和汇编语言编写的。其中绝大部分代码都是用C语言编写的,只有极少部分与处理器密切相关的代码是用汇编语言编写的,所以用户只要做很少的工作就可以把它移植到各类8位、16位和32位嵌入式处理器上。
随着硬件技术、应用需求和开发需求的变化,嵌入操作系统也需要支持面向对象和可重用等技术。这也要求未来嵌入式操作系统的开发要注意以下几个方面:通过自动化配置提高系统移植的效率,即尽量将操作系统的移植工作让开发工具自动完成;系统性能向信息化、网络化、智能化发展;面向构件的体系结构,即将操作系统的功能模块构件化,建立标准统一的网络通信协议,并在嵌入式操作系统构件化基础之上实现应用程序的智能化。
本文的研究内容
根据收集到的嵌入式实时操作系统μC/OS-II一些相关资料,使用Keil μ Vision2开发工具对μC/OS-II进行移植,直到仿真通过为止。
基本内容: 1、了解嵌入式实时操作系统μC/OS-II
2、μC/OS-II内核分析与系统分析
3、Keil Cx51基础知识
4、μC/OS-II移植的基础知识
5