- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息 弘渊裂 缓麓
科学
基于堆栈结构一致性实现的
MC/O
S-II在ARM7上的移植
黄 容
(四川大学计算机学院 四川成都610064)
移植函数的编写。通过分析能吏透彻的珲解任务堆栈结构在操作系统移植中的重要性,对把操作系统移植到不同的处理器具有一定的参考价值。
[关键词]移植堆栈结构uC/0S—IIARM7
中图分类号:TP3文献标识码:A文章编号:1671--7597(2009)0920066--02
一、引曹 构一旦确立,以后所有的任务环境的压栈和出栈操作都必须参照这个堆栈
在微处理器上引入操作系统代替传统的单片机前后台系统来管理整个 结构来处理堆栈。在ARM7系列处理器上的任务堆栈结构如I冬|1所示:
系统,可以使系统整体性能得到明显优化。llC/OS-II足一个完整、可固 任务其它
化、可裁剪、可移植的占先式实时多任务内核,非常适合于在微处理器上 入栈数据
进行移植。ARM7系列微处理器是日前使用最为广泛的微处理器之一,本文 PC +一开始保存任务环境
讨论的uC/OS—II在ARM7}:的移植有着较为典型的意义。 LR
=、uC,0S—II移植摄述 R12
移植就是使一个内核能够在某个微处理器上或者控制器上运行,也就
●
是要为特定的CPU编与特定的底层代码。操作系统的移植涉及到处理器体系 ●
结构和编译器以及操作系统本身,是一项比较复杂的工作。pc/OS—II的大 ●
部分代码是用C语言编写的,但移植时候还是斋要用打:编语言编写一些与
R0
CPU硬件丰}I关的代码。移植“C/OS—II到一个微处理器上一般需要编写三个
CPSR
文件:C语言头文件OSCPU.H,其中定义一些与编译器无关的数据类型以及
OSEntetSum
+一非运行时态任务栈顶
CPU
与处理器有关的常量和宏;C程序源文件OS C.C,其中定义了uCIOS-
守f}{宅问
S
II任务堆栈初始化函数以及钩子类函数:汇编程序源文件os—cPU.,其_A
图I任务堆栈结构
中定义了中断服务函数以及任务切换函数。这蝗移植文件的编写在很多文
图I中的任务其它入栈数据是任务运行之后才有的,堆栈刚初始化后
章中都有过详细的介绍[3][4],本文不再赘述。本文将从非运行态任务的
的任务堆栈栈底指向PC。堆栈初始化的一般顺序是先模拟中断到来时候处
堆栈一致性这个角度来联通各个主要移植函数的编写,以加深对pC/0S-
文档评论(0)