- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UCOS-II移植ARM的读书笔记(12.11)
真是很郁闷,昨天晚上边看移植代码边记下来的笔记不知道怎么回事在保存的时候竟然不见了。。。5555。。。一个晚上工作的结果啊,关键是我是第一次也是正式开始移植的学习之路啊。。。真是够倒霉的。。。。今天在工作之前先把昨天的笔记重新回顾一下,其实后来想想也许是件好事,可以让我今天在不借助其他的帮助的情况下自己看代码自己跟自己讲一遍,其实很多看起来是倒霉看起来是灰心的事情把我们的观点换一下那么就是一件好事。。这样的情况发生在我的身上已经挺多次了。。。。好啦,废话不说,开始补昨天的日记
UCOS-II的移植需要提供2,3个文件分别介绍如下:
一:OS_CPU.H
1 与编译器有关的数据类型
?? 只是按照不同的编译器编写对应的数据类型的typedef
?? 对应于ARM7的数据类型的编写如下
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;????????????????? /* 无符号32位整型变量?????????????????????? */typedef signed?? int?? INT32S;????????????????? /* 有符号32位整型变量?????????????????????? */typedef float????????? FP32;??????????????????? /* 单精度浮点数(32位长度)???????????????? */typedef double???????? FP64;??????????????????? /* 双精度浮点数(64位长度)???????????????? */
?
?? 在上面定义的各种数据类型中按照ARM7的堆栈宽度选择INT32U
typedef INT32U???????? OS_STK;????????????????? /* 堆栈是32位宽度?????????????????????????? */
?
?? 接下来一部分是为了兼容低版本UCOS的数据类型所编写的代码,在UCOS-II中暂不考虑
?
2 与处理器相关的代码
??? 先定义中断的实现方式,预先设定的中断方式有三种,在ARM7中设置为方式2
#define???? OS_CRITICAL_METHOD???? 2??????????? /* 选择开、关中断的方式 */
?
??? 接下来的一段是我暂时还没有完全搞懂的一部分,只知道是设定了12个软件中断的函数,当调用这些函数之前都会执行对应中断号的事情。。具体的看到后面应该能完全搞懂软件中断的实现方式,该段代码在后面的文件中会有具体的解释,这里暂时不看
??? 定义堆栈的生长方式,ARM7内核支持两种生长方式,但是ADS的C语言编译器只支持从上往下的生长方式,因此:
#define OS_STK_GROWTH??? 1????????????????????? /*? 堆栈是从上往下长的,0-从下往上的生长方式???????? */
?
??? 最后几行分别定义了用户模式01和系统模式1f以及IRQ中断禁止的指令80三个立即数,方便调用。
??? 还有两个预定义往后看应该知道作用,暂不考虑,不是很重要。
?
?
二:OS_CPU_C.C
??? 个文件中要求用户编写10个简单的C函数,但是只有1个函数是必要的,其余的函数必须声明,但不一定要包含任何代码,大致看了一下作用好像是用来调试之类的。唯一要编写的是OSTaskStkInit()
??? OSTaskStkInit()函数的功能是初始化任务的栈结构,任务的堆栈结构与CPU的体系结构、编译器有密切的关联。从ARM的结构可以写出如下的栈结构:程序计数器PC,程序链接器LR,R12-R1,R0用于传递第
您可能关注的文档
- TD使用手册.doc
- 第三章企业标准化.doc
- TED学习笔记.docx
- TEM41994年英语专业四级真题及答案.doc
- Test7江苏英语三级试题.doc
- TDCS培训教材.doc
- Teurug全国数学建模大赛论文格式范文.doc
- TH-Arch菜单的定义.doc
- 第三章位置与坐标检测题-殷晓丹.doc
- TheEnglishClub教案a.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
最近下载
- 樊登老师推荐:《你就是孩子最好的玩具》(完整版).pdf
- 凯迪克金奖原版绘本Sylvester and the Magic Pebble.pdf
- 外廓尺寸检测系统作业指导书.docx
- 初中教科研课题:《初中语文主题阅读教学的实践探究》子课题结题报告 .pdf
- 初中物理《声现象》.ppt VIP
- 最新2023版知识产权贯标GBT29490表单 知识产权目标策划管理方案[知识产权合规管理体系文件].docx
- (2024版)AOPA无人机驾驶证认证考试题库-上部分(500题)(含答案).pdf VIP
- 《中国共产党简史》第四章 夺取新民主主义革命的全国性胜利.pptx VIP
- 医院创建优质服务基层行创建资料(3.4.3护理安全管理).docx VIP
- 初三家长会班主任的发言稿.doc VIP
文档评论(0)