毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

udp通信方式实验和源代码接线图-arm 第2页

更新时间:2010-6-23:  来源:毕业论文
udp通信方式实验和源代码接线图-arm 第2页
图 1 RTL8019AS接线图第2章 µC/OS-II操作系统2.1 µC/OS-II系统简介
µC/OS-II读做“microCOS2”,意为“微控制器操作系统版本2”。µC/OS-II是著名的、源码公开的实时内核,可用于各类8位、16位和32位单片机、arm或 DSP等等。µC/OS-II是一个完整的、可移植、可固化、可剪裁的占先式实时多任务内核。应用程序处于整个系统的顶层.每个任务都可以认为自己独占了CPU,因而可以设计成为一个无限循环。
2.2 µC/OS-II的特点
 可移植性(portable)
 可固化(ROMmable)
 可剪裁(scalable)
 可剥夺(preemptive)
 多任务
 可确定性
 任务栈
 系统服务
 中断管理
 稳定性与可靠性
多任务是指:µC/OS-II可以管理 64 个任务,然而,µC/OS-II的作者建议用户保留 8 个给µC/OS-II。这样,留给用户的应用程序最多可有 56 个任务。
系统服务指:µC/OS-II 提供很多系统服务,例如信号量、互斥信号量、时间标志、消息邮箱、消息队列、块大小固定的内存的申请与释放及时间管理函数等。
中断管理指:中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达 255 层。
2.3 任务模式
ARM7 处理器核具有用户、系统、管理、中止、未定义、中断和快中断七种模式 。
用户模式(USER MODE)是ARM 通常执行状态,用于执行大多数应用程序;快速中断模式(FIQ MODE)支持数据传输或通道处理;中断模式(IRQ MODE)用于通用中断处理;超级用户模式(SVC MODE)是一种操作系统受保护的模式:数据中止模式(ABT MODE)指令预取指中止、数据中止时进入该模式;未定义模式(UND MODE)当执行未定义的指令时进入该模式;系统模式(SYS MODE)是操作系统一种特许的用户模式。
除了用户模式之毕业论文http://www.youerw.com/外,其他模式都归为特权模式,特权模式用于中断服务、异常或者访问受保护的资源
特权模式中除系统模式之外另5种模式又称为异常模式,在移植过程中必须设置中断向量表来处理异常。uCOS II的移植主要处理标准中断(IRQ)、快速中断(FIQ)和软件中断(SWI)。
2.4 支持的指令集
带T变量的ARM7处理器核具有两个指令集:标准32位ARM指令集和16位 Thumb指令集,两种指令集有不同的应用范围,µC/OS-II包含了这些指令集的切换(TaskIsARM()和 TaskIsTHUMB()用于改变指令集)。
2.5 移植µC/OS-II
µC/OS-II 要求所有.C 文件的都要包含都文件includes.h,这样使得用户项目中的每个.C文件不用分别去考虑它实际上需要哪些头文件。使用includes.h的缺点是它可能会包含一些实际不相关的头文件,这意味着每个文件的编译时间可能会增加,但却增强了代码的可移植性。在本移植中另外增加了一个头文件config.h,我们要求所有用户程序必须包含config.h,在config.h中包含 includes.h 和特定的头文件和配置项。而µC/OS-II 的系统文件依然只是包含 includes.h,即µC/OS-II 的系统文件完全不必改动。所有的配置改变包括头文件的增减均在config.h中进行,而includes.h定下来后不必改动(µC/OS-II 的系统文件需要包含的东西是固定的)。这样,µC/OS-II 的系统文件需要编译的次数大大减少,编译时间随之减少。
µCOS-II 不使用C语言中的 short、int、long等数据类型的定义,因为它们与处理器类型有关,隐含着不可移植性。代之以移植性强的整数数据类型,这样,既直观又可移植。
在使用周立功提供的µC/OS-II模板的任何功能之前,必须调用函数OSInit(),它完成µC/OS-II的初始化并建立空闲任务。在开始多任务之前本文源自优文论文网,必须建立至少一个用户任务(不包括µC/OS-II的空闲任务),这是通过调用函数OSTaskCreate()或函数OSTaskCreateExt()实现。最后函数main()调用函数 OSStart()将控制权交给µC/OS-II内核main()函数也就结束了。µC/OS-II应用程序主函数如下:
程序清单 1
int main (void)
{
    OSInit();                                   //初始化 uC/OS-II
    OSTaskCreate(TaskStart,(void *)0, &TaskStartStk[127], 3); //创建起动任务
    OSStart();                                 //开始多任务

上一页  [1] [2] [3] [4] [5] [6] 下一页

udp通信方式实验和源代码接线图-arm 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。