完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ARM 内核工作模式的切换是要自己写代码的, 设置CPSR 寄存器低5位进行切换
0b10001 快速中断模式 0b10010 中断模式 0b10011 管理模式 0b10111 中止模式 0b11011 未定义 0b11111 系统模式 以下代码就是切换CPU工作模式的示例 ;********** Begin init stact ***********/ ;在6种模式下切换并设置堆栈指针 MRS R0,CPSR ;把CPSR读取到R0 BIC R0,#0x1f ;低5位清零 LDR R1,=MODE_Fiq ;设置R1 为0b10001 ORR R0,R0,R1 ;R0和R1相或,设置低5位 MSR CPSR_c,R0 ;把R0的值重新赋值到CPSR LDR SP,=Stact_Fiq BIC R0,#0x1f ;低5位清零 LDR R1,=MODE_Irq ORR R0,R0,R1 MSR CPSR_c,R0 LDR SP,=Stact_Irq BIC R0,#0x1f ;低5位清零 LDR R1,=MODE_Svc ORR R0,R0,R1 MSR CPSR_c,R0 LDR SP,=Stact_Svc BIC R0,#0x1f ;低5位清零 LDR R1,=MODE_Abort ORR R0,R0,R1 MSR CPSR_c,R0 LDR SP,=Stact_Abort BIC R0,#0x1f ;低5位清零 LDR R1,=MODE_Undef ORR R0,R0,R1 MSR CPSR_c,R0 LDR SP,=Stact_Undef BIC R0,#0x1f ;低5位清零 LDR R1,=MODE_Sys ORR R0,R0,R1 MSR CPSR_c,R0 LDR SP,=Stact_Sys |
|
|
|
当arm处理器的复位电平有效时,产生复位异常,arm处理器立刻停止执行当前指令,程序跳转到复位异常程序处执行指令
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之CSI
768 浏览 0 评论
迅为RK3568开发板篇Openharmony配置HDF控制UART-实操-HDF驱动配置UART-修改HCS配置
1170 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之SAI
1223 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之ENET
677 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之电阻屏触摸
1100 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-24 16:28 , Processed in 0.542089 second(s), Total 73, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191