- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]UCOS的移植教程
移植UCOS-II
移植的概念
移植的条件
移植需要修改的文件
所谓移植:就是使一个实时内核能在某个微处
理器或微控制器上运行。
为了方便移植,大部分的µC/OS- Ⅱ代码是用C
语言写的;但仍需要用C和汇编语言写一些与
处理器相关的代码,这是因为µC/OS- Ⅱ在读
写处理器寄存器时只能通过汇编语言来实现。
由于µC/OS- Ⅱ在设计时就已经充分考虑了可
移植性,所以µC/OS- Ⅱ的移植相对来说是比
较容易的。
移植的一般性问题 (条件)
1. 处理器的C编译器能产生可重入代码。
2. 用C语言就可以打开和关闭中断。
3. 处理器支持中断,并且能产生定时中断
(通常在10至100Hz之间)。
4. 处理器支持能够容纳一定量数据(可能是
几千字节)的硬件堆栈。
5. 处理器有将堆栈指针和其它CPU寄存器读
出和存储到堆栈或内存中的指令。
什么是可重入代码
可重入的代码指的是一段代码 (比如:
一个函数)可以被多个任务同时调用,
而不必担心会破坏数据。
也就是说,可重入型函数在任何时候都
可以被中断执行,过一段时间以后又可
以继续运行,而不会因为在函数中断的
时候被其他的任务重新调用,影响函数
中的数据。
可重入代码举例
程序1:可重入型函数
void swap(int *x, int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
非可重入代码举例
程序2:非可重入型函数
int temp;
void swap(int *x, int *y)
{
temp=*x;
*x=*y;
*y=temp;
返回
}
打开/关闭中断
在COS-II中,可以通过:
OS_ENTER_CRITICAL()
OS_EXIT_CRITICAL()
宏来控制系统关闭或者打开中断。这需
要处理器的支持。
在ARM7TDMI的处理器上,可以设置相应
的寄存器来关闭或者打开系统的所有中断。
处理器支持中断并且能产生定
时中断
COS-II是通过处理器产生的定时器的
中断来实现多任务之间的调度的。
ARM920T的处理器上可以产生定时器中
断。
处理器支持硬件堆栈
COS-II进行任务调度的时候,会把当前
任务的CPU寄存器存放到此任务的堆栈中,
然后,再从另一个任务的堆栈中恢复原来
的工作寄存器,继续运行另一个任务。所
以,寄存器的入栈和出栈是COS-II多任
务调度的基础。
ARM9处理器中有专门的指令处理堆栈,可
以灵活的使用堆栈。
移植对开发工具的要求
移植COS-II需要一个标准的C交叉编译器。
由于移植时需要对CPU的寄存器进行操作,
所以需要C交叉编译器能够支持汇编语言程
序。
嵌入式C编译器一般都包括汇编器、链接器
和定位器。链接器是用来将不同的模块
(编译或汇编过的文件)链接成目标文件;
定位器则允许将代码和数据放置在目标处
理器的指定内存空间中。
需要做的工作
用#define设置一个常量的值(OS_CPU.H)
声明10个数据类型(OS_CPU.H)
用#define声明三个宏(OS_CPU.H)
您可能关注的文档
- [交通运输]volvoD13A工作概述.doc
- [交通运输]建筑工程原材料、构配件、试件、土工试验见证取样频率与检测项目.doc
- [交通运输]保险事故车定损.pdf
- [交通运输]汽车传感器技术说课.ppt
- [交通运输]涡轮增压器简介-Buick.ppt
- [交通运输]第6章 道路交通规划.ppt
- [交通运输]深圳桥梁加固设计规范讲--向中富.ppt
- [交通运输]氢脆问题培训.ppt
- [人力资源管理]人力资源法规与“案”例.doc
- [人力资源管理]如何做好岗位说明书.ppt
- 人教版数学六年级上册 第一单元 第5课时 分数乘小数.pptx
- 人教版数学六年级上册 第四单元 第3课时 比的应用.pptx
- 人教版数学六年级上册 第五单元 第5课时 圆的面积-2.pptx
- 人教版数学六年级上册 第一单元 第7课时 解决问题-1.pptx
- 人教版数学六年级下册 第二单元 第4课时 利率.pptx
- 人教版数学六年级上册 第一单元 第8课时 解决问题-2.pptx
- 人教版数学六年级下册 第五单元 第2课时 鸽巢问题的一般形式.pptx
- 人教版数学六年级下册 第四单元 整理和复习.pptx
- 人教版数学六年级上册 第一单元 第3课时 分数乘分数-1.pptx
- 人教版数学六年级下册 第六单元复习第2课时 可能性.pptx
最近下载
- 初中课外文言文100篇.doc
- 期中模拟测试卷(试题)-2024-2025学年一年级上册语文统编版(2024).docx VIP
- 高中英语_阅读课U2 Mother of Ten Thousand Babies教学设计学情分析教材分析课后反思.doc
- 《小学语文课程与教学论》课件——第七章 口语交际教学.pptx VIP
- 2024 ESC慢性冠脉综合征指南解读(全).pptx
- 国家与人口基础信息库建设项目建议书.doc
- 期中试题-2024-2025学年一年级上册语文统编版(2024).docx VIP
- 第十七章分子标记辅助选择育种习题及答案.docx
- 2013年通用安装工程计量规范.pdf
- 2024年全国各地中考试题分类汇编(一):现代文阅读含答案.docx
文档评论(0)