打印

ucos-ii在CM3上的移植问题

[复制链接]
1705|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Mindor|  楼主 | 2010-9-29 07:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Mindor 于 2010-9-29 08:04 编辑

移植时需要修改OS_CPU_C.C文件中的内容,用OSTaskStkInit初始化任务堆栈的时候为什么没按照寄存器组地址的顺序来?而是R12->R3->R2……
初始化顺序和CM3寄存器组的地址顺序如下:(貌似两个不相符?)

任务堆栈初始化顺序.jpg (53.16 KB )

任务堆栈初始化顺序.jpg

CM3寄存器组的地址顺序.jpg (41.36 KB )

CM3寄存器组的地址顺序.jpg

相关帖子

沙发
Mindor|  楼主 | 2010-9-29 08:39 | 只看该作者
我有点明白了。
看了《Cortex-M3 Technical Reference Manual》发现 CM3在有异常的时候会先自动压栈:xPSR–>PC–>LR–>R12–>R3-R0,所以先按这个顺序初始化任务堆栈,然后再初始化其他寄存器。。。
不知道这样的理解怎么样?欢迎指教!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好活着就是做很多有意义的事,做有意义的事就是好好活着。

36

主题

413

帖子

1

粉丝