Thumb不是一个完整的体系结构,不能指望处理器只执行Thumb指令而不支持ARM指令集。因此,Thumb指令只需要支持通用功能,必要时可以借助完善的ARM指令集。Thumb指令集与ARM指令集的区别一般有如下几点:●转指令。Thumb数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第3个寄存器中。在Thumb状态下,单寄存器加载和存储指令只能访问寄存器R0~R7。......
2023-11-19
加载/存储指令用于在寄存器和存储器之间传输数据,Load指令用于将存储器中数据传输到寄存器中,Store指令用于将寄存器中的数据保存到存储器中。
1.LDR指令
LDR{cond}<Rd>,<addr_mode>
LDR(LoaD Register)指令将一个32位字数据传输到目的寄存器Rd中。如果目的寄存器是PC,从存储器中读出的数据将作为目的地址,以实现程序流程的跳转。例如:
2.STR指令
STR{cond}<Rd>,<addr_mode>
STR(STore Register)指令用于从源寄存器Rd中将一个32位字数据写入指定存储器中。例如:
3.LDM和STM指令
LDM(或STM){cond}<addr_mode><Rn>{!},<reglist>{^}
LDM(LoaD Multiple Registers)指令和STM(STore Multiple Registers)指令实现一组寄存器和一片连续存储空间之间的数据传输。LDM指令加载多个寄存器,STM指令存储多个寄存器,它们常用于现场保护、数据复制、参数传输等,共有以下8种模式(mode)。
●IA:每次传送后地址加4。
●IB:每次传送前地址加4。(www.chuimin.cn)
●DA:每次传送后地址减4。
●DB:每次传送前地址减4。
●FD:满递减堆栈。
●ED:空递减堆栈。
●FA:满递增堆栈。
●EA:空递增堆栈。
可选后缀{!},选用该后缀,当数据传输完成后,将最后地址写入基址寄存器Rn中,否则基址寄存器Rn中的数值不变;基址寄存器Rn不能为R15(PC),寄存器列表可以是R0~R15的任意组合。
可选后缀{^},当指令为LDM且寄存器列表reglist中有R15(PC),选用该后缀表示除了完成数据传输以外,还将SPSR复制到CPSR。例如:
4.SWP指令
SWP{cond}<Rd>,<Rm>,[Rn]
SWP(SWaP)指令用于将Rn所指向的存储器中的字数据传输到目的寄存器Rd中,同时将Rm中的字数据传输到Rn所指向的存储器中。当Rm和目的寄存器Rd为同一个寄存器时,该指令完成该寄存器和存储器内容的交换。例如:
有关ARM嵌入式系统原理与应用的文章
Thumb不是一个完整的体系结构,不能指望处理器只执行Thumb指令而不支持ARM指令集。因此,Thumb指令只需要支持通用功能,必要时可以借助完善的ARM指令集。Thumb指令集与ARM指令集的区别一般有如下几点:●转指令。Thumb数据处理指令是对通用寄存器进行操作,在大多数情况下,操作的结果须放入其中一个操作数寄存器中,而不是第3个寄存器中。在Thumb状态下,单寄存器加载和存储指令只能访问寄存器R0~R7。......
2023-11-19
数据处理指令的使用原则:●所有操作数都是32位,可以是寄存器或立即数。后缀S表示指令的操作是否影响标志位。例如:3.ADD指令ADD{cond}{S}
2023-11-19
较高级的操作系统采用基于硬件的存储管理单元来实现上述操作。MMU提供的一个关键服务是使各个任务作为独立的程序在自己的私有存储空间中运行。在带MMU的操作系统控制下,运行的任务无需知道其他与之无关的任务的存储需求情况,这样就简化了各个任务的设计。MMU提供了一些资源以允许使用虚拟存储器。......
2023-11-19
2.开发模式嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。表1.2常用嵌入式开发工具......
2023-11-19
Linux软件开发一直在Internet环境下讲行。Linux开发工作经常是在Linux用户决定共同完成一个项目时开始的。由于这个活跃的开发环境,新的以Linux为基础的软件功能日益强大,而且呈现爆炸式的增长态势。许多流行的Linux实用程序如C编译器、shell和编辑器都是GNU软件应用程序。Linux程序需要首先转化为低级机器语言即所谓的二进制代码以后,才能被操作系统执行。......
2023-11-19
具体来说,嵌入式系统是以应用为中心、计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。表1.1对比了通用计算机系统与嵌入式系统。......
2023-11-19
互联网采用TCP/IP协议并不是ISO规定的标准协议,但是作为应用最广泛的协议已经成为大规模网络通信的事实标准。TCP/IP协议实际上是由一组协议组成的,通常也称作TCP/IP协议簇。图10.10IPv4协议头部从图中可以看出这是个复杂的结构,最常用字段是源地址和目的地址,用来寻址和查路由。如图10.9所示,TCP协议位于网络互联层后,是IP协议的上层协议。......
2023-11-19
相关推荐