完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
一、ARM七种处理器工作模式:
用户模式 usr:正常程序执行模式 快速中断模式FIQ:用于高速数据传输和通道处理 外部中断模式IRQ:用于通常的中断处理 管理模式svc:供操作系统使用的一种保护模式(SWI) 数据中止中断模式abt:用于虚拟存储及储存保护 未定义指令中止模式und:用于支持通过软件方针硬件的协处理器 系统模式sys:用于运行特级的操作系统任务 除了用户模式,其他六种为特权模式,而六种特权模式除了系统模式之外的都是异常模式。 二、寄存器 ARM结构具有31个通用寄存器和6个状态寄存器,都是32位的寄存器; 通用寄存器分为:备份寄存器、未备份寄存器和程序计数器PC 1、未备份寄存器:R0-R7 2、备份寄存器: R8-R12在快速中断FIQ情况下会有备份,R13、R14通常作为栈基址指针SP和链接寄存器LR,在异常模式下都会有备份。 3、程序计数器:R15 PC指针 使用PC指针注意存在读写不对称的问题,由于AR流水作业,PC指针会指向当前执行指令后两个指针。如果是ARM指令PC指针是当前执行指令地址加两个字,Thumb指令为半字。 4、状态寄存器: CPSR、SPSR在5种异常模式下各自有各自备份寄存器;状态寄存器包含处理器运行模式设置M0-M4,T指示指令模式Thumb或ARM程序;F/I可以选择是否屏蔽FIQ、IRQ中断;N负数、Z零、V符号位溢出、C运算进位及Q增强DSP指令溢出指示。 三、关于大小端的区别: 大端-高字节在小地址端;小端-高字节在大地址端。 四、异常中断及对应的处理器模式 1、复位reset/软复位 => svc模式 优先级1(越大越低) 2、未定义指令中止 => undef模式 6 3、软件中断SWI断点 => svc模式 6 4、指令预取中止5、数据访问中止2 => abt模式(BKPT) 5、外部中断 => IRQ 4 6、快速中断 => FIQ 3 小贴士: 正常程序运行在用户模式,系统内核使用到系统模式? 哪些资源可以设置不同模式下的权限?如内存读写访问的设置权限; 跳转及变量的定义都会影响效率:跳转会清除指令流水;变量定义小于寄存器长度时需要额外的处理? |
|
|
|
只有小组成员才能发言,加入小组>>
2561 浏览 0 评论
1158浏览 2评论
761浏览 1评论
514浏览 0评论
271浏览 0评论
447浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 10:28 , Processed in 1.485528 second(s), Total 71, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号