ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:23.56KB ,
资源ID:6685773      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6685773.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《ARM嵌入式系统结构与编程》习题答1.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《ARM嵌入式系统结构与编程》习题答1.docx

1、ARM嵌入式系统结构与编程习题答11ARM 嵌入式系统结构与编程习题答案 第1章 ?1. ?“?”? ?:?:?,?,? ?,?,?,?,?,? ?, ?, ? ? ? “? ?”? 2.?,? ?: ? 20 ? 70 ?, ? ?,? 30 ? ?Intel ? 1971 ? 4 ? ? 4004, ? 80 ? 8051 ? ?20 ? 80 ?,?“?” ,? ?,?20 ? 90 ? ? 21 ?,?,MCU ? ?,? ARM ?,? ?,? 3?,?,? ?:? Linux ? uC/OS-II ? Linux ? Linux ?, ? ?,?:?,? ?,?,?,?,? uC/

2、OS ?,?:?,?,? ?,?,?,?,?,? 4.? ?:?, “?”? ?:?,?,?,?, ? 5? ?:?:1.?,? ?2.?,?,? ?3.?4.? ?5.? ? 2 ? ARM ? ARM ?1.? ARM ? ?:ARM ? ETM(Embedded Trace Macro) ,? ARM ?ARM ? JTAG(Joint Test Action Group ?1 2?)? Embedded ICE ? ARM ?,? ? CPU ?,? ?,? CPU ?ETM ?,? CPU ?,? TAP(Test Access Port)?(?) ,? ARM ?,ETM,? IC

3、E ? 2. ? ARM7TDMI-S ? ?:ARM7 T D M I S ? ARM ? Advanced RISC Machines ? 7 ?; T:? 16 ? Thumb ?; D:? JTAG ?; M:?(64 ?)ARM ?,?; ; I:? ETM,?; S:?,? ? EDA ? 3. ARM ?,?,?,? ? ?:ARM ? ARM ?,? ?, ?, ? ? ? 1.?:?,?,? ?,?,? ?,?,? ? 2.FIQ ?:?,?,? ?(fast)? ? 3.IRQ ?:?,:?(normal)? ? ? IRQ ? ? 4.SVC ?:?,? ?2 3? 5.

4、?:?,? ? ? 6.?:?,? ?,?,? ? ? 7.?:? User ?,? ? ? ? 7 ?,?,? 6 ?, ?,?,? ? ? ? 6 ?,? 5 ?,? ?4. ?(PSR)?,? C,Z,N,V ? ? ?:? ?: ? N = 1-?, 0-? 0 ? Z = 1-? 0, 0-? 0 ? C =1-?, 0-? ? V =1-?, 0 ? ? Q ?: ? ? ARM 5TE/J ? ? ? DSP ? ? ?: ? I = 1: ? IRQ. ? F = 1: ? FIQ. ? T Bit ? ? ARM xT ? ? T = 0: ? ARM ? ? T = 1:

5、? Thumb ? ? Mode ?(?): ? 0b10000 User ? 0b10001 FIQ ? 0b10010 IRQ ? 0b10011 Supervisor 3 4? 0b10111 ? 0b11011 ? 0b11111 Abort Undefined System 5. ? ARM ? ?: ?, ? ? ?,ARM7TDMI ?,? ?,? ? ? ? ? ?BL SWI MOV PC,R14 SVC UND ABT FIQ IRQ ABT SVC 6 6 5 3 4 2 1 0x00000008 0x00000004 0x0000000C 0x0000001C 0x00

6、000018 0x00000010 0x00000000 MOVS PC,R14_svc? MOVS PC,R14_und ? ? ? ? ? SUBS PC,R14_abt,#4 SUBS PC,R14_fiq,#4 SUBS PC,R14_irq,#4 SUBS PC,R14_abt,#8 ? ?,ARM7TDMI ?: 1.? LR ? 2.? CPSR ? SPSR ?; 3. ? CPSR ?; 4.? PC ? ARM7TDMI ?,? ?:? ARM ? Thumb ?,? ? PC ?,? ARM ? ?,?: 1.? LR ? PC,?; 2.? SPSR ? CPSR; 3

7、.? ?:? CPSR ? T?F ? I ? 6. ARM ? ?:ARM7TDMI ? ? ?(Big-endian)4 5? ?(Little-endian) ?: ?, ? ? 0 ?70? ? ?: ?, ? ? 0 ? 3124? 7. ? (LDR) ?, ? ?:? LDR ? ?,?, ?,? ? LDR ? LDR ?,?,?(? 3 ?) ? MOV ? ? 8. ? ARM9 ? 5 ? ?:ARM920 ? 5 ? . ?:? Cache ? ?: ?, ? ?:? ALU ?,?,? ALU ? ? ?:?,?(? Cache) ? ?:? 9. ?,? ?:?:?

8、,?,? ?,?,?5 6? ORR ? LDR ? R4 ?,? ORR ? ? ? ? 3 ? ARM ?1.?,?,?,? ?:? 4 ?,? 15 ? ? 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 ? ? EQ NE CS/HS CC/LO MI PL VS VC HI LS GE LT GT LE AL NV Z=1 Z=0 C=1 C=0 N=1 N=0 V=1 V=0 C=1,Z=0 C=0,Z=1 N=V N!=V Z=0,N=V Z=1,N!=V ? ? ?

9、? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ( ? ?) ?(?)2. ?,V ? 1? ?:V? ?, ?, V=1 ?6 7?,? V ? 3. ? ARM ?, ?, ? ?(? 8 ? 4 ?) 0x5430 0x108 0x304 0x501 0xfb10000 0x334000 0x3FC000 0x1FE0000 0x5580000 0x7F800 0x39C000 0x1FE80000 ?:? 1 ? 8 ? 32 ?,? ? 4 ? ? 8 ? 2*rotate_4 ? (? 0,2,4, ? ? ? 30)? 0X5430 0000,0000,0000,00

10、00,0101,0100,0011,0000 ? 0X108 0000,0000,0000,0000,0000,0001,0000,1000 0x42 ? 30 ? (rotate_4=0xF) 0X304 0000,0000,0000,0000,0000,0011,0000,0100 0xC1 ? 30 ? (rotate_4=0xF) 0x501 0000,0000,0000,0000,0000,0101,0000,0001 ? 0xfb10000 0000,1111,1011,0001,0000,0000,0000,0000 ? 0x334000 0000,0000,0011,0011,

11、0100,0000,0000,0000 0Xcd ? 18 ?(rotate_4=0x9) 0x3FC000 0000,0000,0011,1111,1100,0000,0000,0000 0XFF ? 18 ?(rotate_4=0x9) 0x1FE0000 0000,0001,1111,1110,0000,0000,0000,0000 ? 0x5580000 0000,0101,0101,1000,0000,0000,0000,0000 ? 0x7F800 0000,0000,0000,0111,1111,1000,0000,0000 ? 0x39C000 0000,0000,0011,1

12、001,1100,0000,0000,0000 0XE7 ? 18 ?(rotate_4=0x9) 0x1FE80000 0001,1111,1110,1000,0000,0000,0000,0000 ? 4.?,?,?,? ?:LSL ? :31 0 0 LSR ? :31 0 0 ASR ? :7 8 31 0 ROR ? :31 0 RRX ?:31 C 0 5.ARM ?, ? PC ?, ? ? ?:? 5 ?: 1)? 2)? 3)? ? 5 ? 4)? 5)? ? RRX ? PC (R15)?,? ? 6.? Load/Store ?,?,? Load/Store ?,? ?,

13、? ?:? Load/Store ?, ?,? Load/Store ? 3 ?: 1)Addressing_mode ? 2)Addressing_mode ? 3)Addressing_mode ? ?,? Load/Store ? 2 ?: 1)Addressing_mode ? 2)Addressing_mode ? 7.? Load/Store ?,? ?,? ?:? Load/Store ?,? ? 4 ?: ? ? IA (Increment After) :? 4; ? ? IB (Increment Before) :? 4 ; ? ? DA (Decrement After

14、) :? 4 ; ? ? DB (Decrement Before) :? 4 ; 8.?,?,? ? Load/Store ? ?:?,? 4 ?: ? FA:?,? ? FD:?,? ? EA:?,?8 9? ED:?,?9.?/? ? ?: ?/?, ? LDR/STR ?Addressing_mode ? 8 ? ? 3 ?: ?:,#+/-*4 ? Rn ?/? imm_offset8 ? 4 ?,? ? 4,?,? ?: ,#+/-*4! ? Rn ?/? imm_offset8 ? 4 ?,? ? 4,?,? ?,?寄存器。 后变址回写形式: ,#+/-*4 内存地址为基址寄存器

15、 Rn 的值,当存储器操作完成后,将基地址寄存器 Rn 值加上/减 去 imm_offset8 的 4 倍,后续的每一个地址是前一个内存地址加 4,直到协处理器发出 信号,结束本次数据传输为止。最后将 Rn 值加上/减去 imm_offset8 的 4 倍写回到基址 寄存器 Rn(更新基地址寄存器) 。 10.写出下列指令的机器码,并分析指令操作功能。 MOV R0,R1 MOV R1,,0X198 ADDEQS R1,R2,,0xAB CMP R2,#0Xab LDR R0,R1,#4 STR R0,R1,R1,LSL #2! LDRH R0,R1,#4 LDRSB R0,R2,#-2! S

16、TRB R1,R2,#0Xa0 9 10 LDMIA R0,R1,R2,R8 STMDB R0!,R1-R5,R10,R11 STMED SP!R0-R3,LR 答:机器码部分略。 MOV R0,R1 ;R0-R1 MOV R1,,0X198 ;R0-0X198 ADDEQS R1,R2,,0xAB ;当 Z=1 时,R1-R2+0xAB 并影响标志位 CMP R2,#0Xab ;R2-0xAB,并影响标志位 LDR R0,R1,#4 ;R0-【R1+4】 STR R0,R1,R1,LSL #2! ; 【R1+R1*4】 -R0,R1=R1+R1*4 LDRH R0,R1,#4 ;R0-【R1

17、+4】半字,R0 的高 16 位清零 LDRSB R0,R2,#-2! ;R0-【R2-2】字节,R0 有符号扩展为 32 位,R2=R2-2 STRB R1,R2,#0Xa0 ; 【R2+0Xa0】 -R1 低 8 位, LDMIA R0,R1,R2,R8 ;将内存单元【R0】【R+11】以字为单位读取到 R1,R2,R8 中 STMDB R0!,R1-R5,R10,R11 将寄存器 R1R5,R10,R11 的值以字为单位依次写入【R0】中,每写一个字之前 R0=R0-4 STMED SP!R0-R3,LR 将寄存器 R0R3,LR 的的值以字为单位依次写入【SP】中,每写一个字之后 SP

18、=SP-4第 4 章 ARM 指令集系统1.ARM 指令可分为哪几类?说出哪几条指令是无条件执行的。 答:ARM 微处理器的指令集可以分为:数据处理指令,分支指令,加载/存储指令,批量加 载/存储指令,交换指令,程序状态寄存器(PSR)处理指令,协处理器操作指令和异常产 生指令八大类。 几乎所有的 ARM 指令都是可以有条件执行的。 带链接和状态切换的跳转指令 BLX, 当目标 地址由程序标号给出时,即:BLX 由于指令码中是没有条件编码位的,所以指令是无条件执行的。 2.如何实现两个 64 位数的加法操作,如何实现两个 64 位数的减法操作,如何求一个 64 位 数的负数? 答:1)使用 A

19、DC 实现 64 位加法,结果存于 R1、R0 中: ADDS R0,R0,R2 ;R0 等于低 32 位相加,并影响标志位 ADC R1,R1,R3 ;R1 等于高 32 位相加,并加上低位进位 2)使用 SBC 实现 64 位减法,结果存于 R1、R0 中: SUBS R0,R0,R2 ; 低 32 位相减,并影响标志位 SBC R1,R1,R3 ;高 32 位相减,并减去低位借位 3)使用 RSC 指令实现求 64 位数值的负数 : RSBS R2,R0,#0 RSC R3,R1,#0 3.写出 LDRB 指令与 LDRSB 指令的二进制编码格式,并指出它们之间的区别。 答:LDRB 指令的二进制编码格式:10 11 LDRSB ?:LDRB ? 8 ? 8 ?, ? ? 24 ? LDRSB ? 8 ? 8 ?,? ? 24 ? 4.?,?

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1