欢迎来到天天文库
浏览记录
ID:9264868
大小:457.50 KB
页数:7页
时间:2018-04-25
《arm嵌入式系统结构与编程--复习》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、嵌入式系统的定义AnEmbeddedsystemisthedevicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants.以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、功耗严格要求的,专用计算机系统。嵌入式实时操作系统的特点:(1)采用抢占式的调度策略,任务实时性好,且执行时间是确定的;(2)具有可裁剪性(根据任务的需要与否进行添加或删除操作系统模块)和可移植性(移植到各种处理器上);(3)具有较好的可靠性和可扩展性,适合嵌入式产品的应用开发。嵌入式系统在工程领域
2、的应用ARM内核版本命名规则ARM{x}{y}{z}{T}{D}{M}{I}{E}{J}{F}{-S}x—系列号,例如ARM7中的“7”y—内部存储管理/保护单元z—内含有高速缓存Cache;T—支持16位的Thumb指令集;D—支持JTAG片上调试;M—支持用于长乘法操作的ARM指令I——带有嵌入式追踪宏单元;E—增强型DSP指令(基于TDMI)J—含有Java加速器JazelleF—向量浮点单元ARM内核模块ICE,在线仿真器,InCircuitEmulatorETM,嵌入式追踪宏单元,EmbeddedTraceMacroTAP,测试访问端口,TestAccessPortJTAG是联合测试
3、工作组(JointTestActionGroup)三级流水线:取指、译码、执行(进行逻辑电路的实现)五级流水线:取指、译码、执行(计算要访问的存储器地址)、存储器访问(实现数据缓冲功能)、寄存器回写程序状态寄存器T:控制位,0表示ARM指令,1表示Thumb指令F:FIQ中断使能I:IRQ中断使能J:Jazelle状态标志位V:溢出标志位C:进位或借位标识Z:结果为0标识N:符号位标识ARM处理器的异常数据终止、快速中断请求、普通中断请求、预取指中止、软件中断、复位、未定义指令。ARM所有异常中,除了复位异常外,其余的异常都需要返回。PC指向正被取指的指令,而非正在执行的指令寄存器移位ASR算
4、术右移:空出的最高有效位用“符号位”填充;ROR循环右移:移出的低位依次填入空出的高位RRX带扩展的循环右移:数据处理指令寻址方式(第二操作数):立即数方式、寄存器方式、寄存器移位且移位数为5位立即数、寄存器移位且移位数值放在寄存器中、寄存器进行RRX移位得到ARM指令集系统:数据处理指令、分支指令、加载/存储指令、批量加载/存储指令、交换指令、程序状态寄存器处理指令、协处理器操作指令、异常产生指令。程序流跳转:使用专门的分支指令(跳转范围-32M—+32M)直接向PC写入跳转地址值(在4G的地址空间中任意跳转)交换指令:能在一条指令中实现存储器和寄存器之间交换数据。程序状态寄存器PSR访问指
5、令:MSR(读)和MRS(写),通过“读取-修改-写回”的操作序列实现。但必须通过BX等指令完成程序状态等的切换。ARM处理器最多可支持16个协处理器,每个协处理器只执行针对自身的协处理指令。协处理器执行加载/存储指令失败,将产生未定义的指令异常。ARM异常产生指令:软中断指令SWI,断点调试指令BKPT伪指令ARM处理器支持的汇编语言程序里的特殊助记符,它不在处理器运行期间由机器执行,而是在汇编时被合适的机器指令替代成ARM或Thumb指令,从而实现真正的指令操作。伪操作ARM汇编语言程序里的特殊的指令助记符,其作用是为完成汇编程序做各种准备工作。只在汇编过程中起作用。LDR:将32位的常数
6、或地址值读取到寄存器中。若常数符合立即数的要求,则用MOV或MVN替代,否则放入内存文字池。ADRL、ADR:将基于PC相对偏移的地址或基于寄存器相对偏移的地址值读取到寄存器。可被两条具有等功能的ADD或SUB指令替代。.equ/.setsymbolexpr:给数字常量或程序中的标号指定一个名称.equiv:功能同上。symbol必须在程序段中第一次定义。.fillrepeat,{size},{value}分配一段字节内存单元,用长度为size的value值填充repeat次.zerosize用0初始化长度为size的内存单元.orgoffset,{expr}指定从当前地址加offset开始存
7、放代码,并且用0或指定的数据填充当前地址到当前地址加上offset之间的空间.GNU标准中提供了:支持ARM汇编语言的汇编器as、交叉编译器gcc、链接器ld.LDRBR0,[R1]R0<-[R1]字节单元,R0高24位清零STRBR0,[R1]R0的低8位->[R1]LDRHR2,[R1,#4]R2<-[R1+4]半字单元,R2的高16位清零STRHR0,[R1,#4]!R0低16位->[R1+
此文档下载收益归作者所有