打印
[内核技术]

移植ucosii的问题Cortex m0高位寄存不能手动pop

[复制链接]
847|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
天空之鱼5141|  楼主 | 2015-7-13 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前在M3平台上移植过ucossii,但cortexm0和m3貌似有较大的差别。例如stm指令是可以通吃  R0-R11 所有寄存器的,而M0这条指令只能访问R0 - R7。在PendSV服务函数里的压栈动作只能通过MOV来实现,先把R8 - R11的数据通过MOV移到R1 - R4然后再通过STM 保存至堆栈,但貌似弹出动作用这个办法就不灵了,用MOV 指令改写高位寄存器的值,编译器提示“missing common”。请走过路过的各位大神求解应该如何处理此问题,小弟感激不尽!!!

相关帖子

沙发
john_lee| | 2015-7-13 10:07 | 只看该作者
没有问题的,mov 可以从任意寄存器到任意寄存器,你检查一下程序是不是写错了。

使用特权

评论回复
板凳
天空之鱼5141|  楼主 | 2015-7-13 13:42 | 只看该作者
唉~~我再看看把~~我还从啦没在32位机上写过汇编

使用特权

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

本版积分规则

4

主题

9

帖子

0

粉丝