- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UC/OS-II的启动过程和在ARM7上的移植 主讲:王华斌 一、UC/OS-II的启动过程 典型启动过程如下: 1、程序进入main函数以后,首先执行 OSInit()函数,来初始化OS所有的变量 和数据结构。同时OSInit还创建空闲任 务和统计任务。 2、在初始化之后,用户至少要创建 一个任务,来保证多任务系统的正确 启动,另外,用户还可以在此创建其 他系统资源,如信号量、邮箱等,或 者可能用户还需要在此完成UC运行环 境的一些初始化工作,如系统时间的 设置、处理器的设置、外围器件的设置等。 3、在上述工作完成之后,程序调用OSStart函数来启动多任务操作系统,此函数将启动已经创建的任务中的处于就绪态的优先级最高的任务。 在该任务中,用户 需要启动时钟节拍、可以 初始化统计任务、创建其 他任务、信号量、邮箱等 然后进入无线循环的函数 主体。 程序范例: OS_STK Task1Stk[1024]; OS_STK Task2Stk[1024]; Void main() { OSInit(); //初始化UC/OS-II OSTaskCreate(Task1, (void *)0, Task1Stk[1023], 0); //创建任务1 OSTimeSet(0); //设置系统时间 OSStart(); //启动 } Static void Task1(void *p_arg) { INT8U err; (void) p_arg; //去除编译器报警错误 System_Init(); //硬件系统设置 TickTimerStart(); //启动Tick OSTaskCreate(Task2, (void *)0, Task2Stk[1023], 10); //创建任务1 OSStatInit() // 初始化统计任务 for( ; ; ) //进入无限循环 { …… }; } 二、UC/OS-II的移植 1、UC/OS-II的体系结构 a、处理器无关的代码 提供了OS大部分的资源,实现了任务管理、时 间管理等功能; b、处理器相关的代码 移植的重点,它提供了OS和硬件平台的接口, 操作系统运行过程中需要的一些操作,如任务切换时 的堆栈操作等,都在这部分代码中实现; c、系统配置代码 定义了一些配置UC的选项。 2、移植条件 UC/OS-II并不是能移植到所有处理器上,它要求目标处理器必须满足一定的条件: (1)处理器的C编译器能产生可重入代码 (2)支持使用C语言来打开和禁止中断 (3)处理器支持中断,并且能产生定时中断 (4)支持能够容纳一定数量的硬件堆栈 (5)处理器有将堆栈指针和其它CPU寄存器读出并存储到堆栈或内存中的指令。 尽管目前大部分处理器都满足以上5个条件,但是在移植之前,用户有必要进行仔细确认。 3、移植内容 涉及3个文件 (1)OS_CPU.H 处理器相关数据类型的定义,3个宏定义(中断开关、堆栈属性和任务切换) (2)OS_CPU_C.C 主要是任务堆栈初始化和OS功能扩展等函数。 (3)OS_CPU_A.ASM 编写4个汇编程序,完成任务执行、任务切换、Tick时钟、ISR的相关处理。 (1)OS_CPU.H 编译器相关的数据类型定义 为了移植方便,UC/OS-II没有直接采样编译器相关的数据类型定义,如short\int\long等,而是通过typedef定义了统一的数据类型,如INT16U数据类型总是代表16位的无符号整数。 typedef unsigned char BOOLEAN; typedef unsigned char INT8U; /* 无符号8位数*/ typedef signed char INT8S; /* 带符号8位数 */ typedef unsigned short INT16U; /* 无符号16位数 */ typedef signed short INT16S; /* 带符号16位数 */ typedef unsigned int INT32U;
您可能关注的文档
- ZKC-G10型高压开关机械特性测试仪说明书分析.doc
- ZM5镁合金壳体零件热处理工艺设计分析.doc
- ZUCC组织行为学题库分析.doc
- ZW7型户外高压永磁真空断路器技术规范书分析.doc
- ZW32-20新型户外高压永磁真空断路器技术规范书分析.doc
- z金刚石石墨分析.ppt
- φ2500筒辊磨设计分析.doc
- 犬猫肾脏疾病分析.ppt
- 。三年级《我学会了》。乐妈妈教案分析.ppt
- []地铁车站各种形式介绍33页(岛式侧式)_分析.ppt
- 某某单位2024年党建工作总结及2025年工作计划.doc
- 某某市发改委关于2024年度落实党风廉政建设工作责任制情况的报告.doc
- 某某局2024年全面从严治党和党风廉政建设工作总结.doc
- 某某区财政局2024年法治政府建设总结及2025年工作谋划.doc
- 2024年党管武装工作述职报告2篇.doc
- 2024年度国企党委书记抓基层党建工作述职报告3篇.doc
- 公司党委书记2024年述职述廉报告.docx
- 2024年度乡镇党委领导班子民主生活会(四个带头)对照检查材料.doc
- 市医疗保障局关于2024年法治政府建设工作情况的报告.docx
- 市民政局党组2024年巡察整改工作情况报告.docx
文档评论(0)