[内核技术] 移植ucosii的问题Cortex m0高位寄存不能手动pop

[复制链接]
 楼主| 天空之鱼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

粉丝
快速回复 在线客服 返回列表 返回顶部