资源描述:
《arm系列处理器应用技术完全手册-第三章-微处理器的编程模型-r》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ARM系列处理器应用技术完全手册-第三章-微处理器的编程模型-R1:ARM采用的是___位架构2:ARM基本数据类型的三种1>字:32bit2>半字:16bit3>字节:8bit3:存储器的实质可以看成是0~2(32)-1的线性字节阵列4:注意1>以字来计的地址一定是4的倍数,所以二进制地址的最后两边一定是:002>以字节计的地址一定是2的倍数,所以二进制地址的最后一位一定是:05:数据范围基础N位数据:1>无符号的:0~2(N)-12>有符号的:-2(N-1)~2(N-1)-16:Load/Store数据传输指令可以从存储器存取数据,可以是字类型的,半字,
2、字节7:注意:1>ARM指令编译后是四个字节(与字边界对齐)2>Thumb指令编译后是两个字节(与半字边界对齐)8:大端模式和小端模式1>大端模式:高位放在低地址字节2>小端模式:低位放在低地址字节9:AEM处理器的7种模式1>用户模式usr2>系统模式sys3>快速中断fiq4>一般中断irq5>数据中止abt6>未定义und7>特权模式svc10:7种模式详解1>用户模式:执行用户任务时2>系统模式:执行高级系统调用时3>快速中断模式:高速数据传输和通道处理时4>一般中断模式:当一个低级(一般)中断产生时进入这种模式5>数据中止模式:发生存取异常时进入这
3、种模式6>未定义模式:碰到未知指令时进入这种模式7>特权模式:复位或执行软中断(SWI)时进入这种模式11:7种模式的分类1>除了用户模式之外,其余的都可以叫做特权模式2>用户模式下不可以访问所有资源3>在特权模式(其余六种模式)下,可以访问所有系统资源12:异常模式7种模式中,除了用户模式和系统模式,其余五种模式都可以叫做异常模式13:处理器模式切换的方法1>可以通过软件控制实现切换2>可以通过外部中断或异常处理来自动切换14:注意系统模式下,不能有任何异常进入,它主要供操作系统任务使用ARM系列处理器应用技术完全手册-第三章-微处理器的编程模型-R15:
4、用户模式和系统模式的关系系统模式使用用户模式下的所有寄存器组,它们的环境是一样的,不一样的他们的权限16:ARM中共有寄存器___个(37)17:ARM寄存器的分类1>未分组寄存器:R0~R7--8个2>分组寄存器:R8~R121>FIQ:单用一组2>其余5个模式(用户和系统算一个):单用一组--2*5=10个3>分组寄存器:R13,R14六种模式各有一组--2*6=12个4>全局寄存器:CPSR,PC--2个5>SPSR除用户模式(系统模式),其余5模式各有一个--5个Total:8+10+12+2+5=37个18:r8_fiq--f12_fig的用途当处
5、于FIQ模式时,这5个寄存器是专门用语FIQ模式的,在FIQ模式下,不用其余通用寄存器,这样就不用执行现场保存和切换命令,提高了反映速度.19:r13和r14的作用r13:一般用来存储各个模式的堆栈地址r14:用来存储返回地址,在子程序返回时,把r14的值复制到PC注意:r14一般还称为:LR20:r14的作用:1>当用BL或BLX调用子程序时,r14被设置成子程序的返回地址2>在进入子程序时,应该做下面的工作:STMFDSP!,{,LR}3>在返回时,应该做下面的工作:LDMFDSP!,{,PC}21:中断嵌套引起的
6、问题:1>如果原来处在usr中断模式,来了一个中断,进入了fiq模式,由于各个中断用的r13,r14不一样,所以不会引起问题2>如果原来处在usr中断模式,来了一个中断,又进入了usr模式,这样一来就会把原来的r13,r14的值冲掉,引起程序异常.----------------------------!!!!解决办法:在第二级中断发生前,将第一级中断用到的寄存器压栈22:注意:由于ARM的流水线机制,指令读出的r15的值是当前执行指令地址+8个字节23:r15的值的特点1>如果处在ARM状态,则PC里面值的位:[1:0]始终是02>如果处在Thumb状态,
7、则PC里面值的位:[0]始终是024:注意当使用指令STR或STM对R15进行保存时,保存的可能是当前指令地址加上8或指令地址加上12,到底是哪种方式取决于芯片的具体设计方式,开发人员应当避免使用STR或STR指令对R15进行操作.25:写入r15地址时:1>写入ARM指令时,最后两位被忽略,即写入的值和0xFFFFFFFC做与操作2>写入Thumb指令时,最后一位被忽略,即写入的值和0xFFFFFFFE做与操作26:注意ARM系列处理器应用技术完全手册-第三章-微处理器的编程模型-R由于系统模式和用户模式不属于异常模式,所以他们没有SPSR,当在用户模式或
8、系统模式下访问SPSR,将会产生不可预测的结果.27