uCOS-II嵌入式操作系统介绍与移植.ppt
《uCOS-II嵌入式操作系统介绍与移植.ppt》由会员分享,可在线阅读,更多相关《uCOS-II嵌入式操作系统介绍与移植.ppt(21页珍藏版)》请在三一文库上搜索。
1、课 件,uCOS-II嵌入式操作系统介绍与移植,目录,1、uC/OS-II简介 2、uC/OS-II的移植 3、OS_CPU.H的移植 4、OS_CPU.c的移植 5、OS_CPU_A.S的移植 6、多任务应用程序的编写,uC/OS-II简介,1、uC/OS-II是一个简单、高效的嵌入式实时操作系统内核 2、支持 x86、ARM、PowerPC、MIPS 等众多体系结构 3、可从www.ucos-网站上获得全部源码及其在各种体系结构平台上的移植范例。,uC/OS-II特点,1、uC/OS-II内核具有可抢占的实时多任务调度功能 2、提供了许多系统服务,如信号量、消息队列、邮箱、内存管理、时间函
2、数等 3、这些功能可以根据不同的需求进行裁减。,uC/OS-II的移植,1、汇编语言、C语言代码需要移植 2、移植工作集中在多任务切换的实现上 3、在ARM处理器上的移植,需要完成的工作包括:修改三个和体系结构相关的文件,代码量大约是500行。这三个文件是OS_CPU_C.c、OS_CPU_C.H以及OS_CPU_A.S,OS_CPU.H的移植,1、数据类型定义 2、ARM处理器相关宏定义 3、堆栈增长方向,数据类型定义,1、INT8U - unsigned char 2、INT8S - signed char 3、INT16U - unsigned short 4、INT16S - sign
3、ed short 5、INT32U - unsigned int 6、INT32S - signed int,ARM处理器相关宏定义,1、退出临界区 #define OS_ENTER_CRITICAL() ARMDisableInt() 2、进入临界区 #define OS_EXIT_CRITICAL() ARMEnableInt(),堆栈增长方向,1、堆栈由高地址向低地址增长,这个也是和编译器有关的,当进行函数调用时,入口参数和返回地址一般都会保存在当前任务的堆栈中,编译器的编译选项和由此生成的堆栈指令就会决定堆栈的增长方向。 #define OS_STK_GROWTH 1,OS_CPU.c
4、的移植,1、任务堆栈初始化 2、系统hook函数 3、中断级任务切换函数,任务堆栈初始化OSTaskStkInit,1、由OSTaskCreate或OSTaskCreateExt调用 2、用来初始化任务的堆栈并返回新的堆栈指针stk。初始状态的堆栈模拟发生一次中断后的堆栈结构。 3、在ARM体系结构下,任务堆栈空间由高至低依次将保存着pc、lr、r12、r11、r10、 r1、r0、CPSR、SPSR 4、堆栈初始化结束后,OSTaskStkInit返回新的栈顶指针,OSTaskCreate或 OSTaskCreateExt将指针保存在任务的OS_TCB中。,系统hook函数,1、任务创建钩子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- uCOS II 嵌入式 操作系统 介绍 移植
链接地址:https://www.31doc.com/p-4143536.html