首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

ARM微处理器模式切换

2013-02-05 
ARM处理器模式切换处理器模式可以通过软件控制进行切换,但是不知道是在KEIL那里怎么设置模式?各位高手给点

ARM处理器模式切换
处理器模式可以通过软件控制进行切换,但是不知道是在KEIL那里怎么设置模式?各位高手给点意见
[解决办法]
直接嵌一段汇编去修改cpsr就可以了。
[解决办法]
期待答案
[解决办法]
直接通过 汇编实现; 与编译工具 可以无关;

楼主找下 ARM的汇编手册看看吧
[解决办法]
cpsr 寄存器是反映当前工作 模式的 你可以查看技术手册 ,通过代码实现
[解决办法]
找到 cpsr寄存器的地址,指针方式,定义一下。直接修改cpsr的值。就可实现了。
[解决办法]

引用:
找到 cpsr寄存器的地址,指针方式,定义一下。直接修改cpsr的值。就可实现了。

你这样对寄存器的操作是错的,内部寄存器无法用映射过的地址来定位。
修改cpsr正确的应该是这样
mrsr0,cpsr
bicr0,r0,#0x1f
orrr0,r0,#0xd3
msrcpsr,r
这段代码把cpu工作模式设为SVC32。
要注意先读出,再写回,防止发生意外。

[解决办法]
引用:
引用:

找到 cpsr寄存器的地址,指针方式,定义一下。直接修改cpsr的值。就可实现了。

你这样对寄存器的操作是错的,内部寄存器无法用映射过的地址来定位。
修改cpsr正确的应该是这样
mrsr0,cpsr
bicr0,r0,#0x1f
orrr0,r0,#0xd3
msrcpsr,r
这段代码把cpu工作模式设为SVC3……


高手。
[解决办法]
改模式干什么?
[解决办法]
在一个模式下做完后返回就可以了。有段时间没做这个了

ldr pc,r0

热点排行