1、第一章1、根据不同的应用状况,嵌入式处理器可分为哪几类及特点?1、嵌入式微处理器 特点:体积小、功耗低2、嵌入式微控制器 特点:体积小、功耗低、可靠性高、适合控制3、嵌入式数字信号处理器 特点:编译效率高、指令执行速度快4、嵌入式片上系统 特点:高集成度、体积小、功耗低2、嵌入式系统的软件特点1、软件要求固化存储2、软件代码要求高效率、高可靠性3、系统软件有较高的实时性第二章1、ARM9TDMI 处理器,说出它的每个字母的含义1、ARM9 采用 ARMV4T(Harvard)结构,无极流水线处理以及分离的 cache 结构2、T 支持 16 位宽度的压缩指令集 Thumb3、D 支持在片调试(
2、Debug)允许处理器响应调试请求暂停4、M 具有增强型乘法器,可生成 64 位的结果5、I 嵌入式 IEC 部件,可以提供片上断点和调试点的支持2、ARM9 支持哪两种指令集,它们的特点是什么?ARM9 支持:1、ARM9 指令集(32 位) ,特点:处理精度高,但需要较大空间。2、Thumb 指令集(16 位) ,特点:处理精度低,但寻址空间小3、ARM9 有几种工作模式及其含义1、用户模式(Usr):正常执行程序时处理器模式2、系统模式(Sys):运行特权操作系统任务时的模式3、管理模式(Svc):操作系统的保护模式4、中止模式(Abt):指令或数据预取操作中止时的模式5、未定义模式(U
3、nd):执行未定义的指令时进入该模式6、IRQ 模式(Irq):响应普通中断时的处理模式7、FIQ 模式(Fiq):响应快速中断时的处理模式4、什么是大端存储和小端存储大端存储:32 位数据的最高字节存储在低地址中,而其他底字节则存放在高地址中(先存高字节)小端存储:32 位数据的最高字节存放在高地址中,而其最低字节则存放在低地址中(先存低字节)ARM9 默认小端存储5、ARM9 中的 R13 , R14 , R15 的作用R13 寄存器的作用通常是堆栈指针,又称 SPR14 寄存器可用作子程序链接寄存器(LR) ,其中保存程序计数器( R15)以便处理完异常返回R15 寄存器作为程序计数器,
4、用于只是程序运行位置6、CPSR 中各位的含义1、N 标志(negative) 负数置 1,正数或零置 02、Z 标志( zero) 结果为零置 1,否则置 03、C 标志(carry)加法:产生进位置 1,否则置 0减法:产生借位置 0,否则置 14、V 标志(overflow)结果溢出置 15、I 和 F 是中断禁止位:I 位置 1 时禁止 IRQ 中断F 位置 1 时禁止 FIQ 中断6、M 4M3M2M1M0 是模式位,它们决定处理器的工作模式7、ARM9 支持的异常有哪些及其含义1、复位异常是以 CPU 从 00000000 开始运行2、未定义异常出现未定义指令时引发异常3、软中断用
5、于调用操作系统资源4、中止异常:指令预取中止数据中止ARM 预取指令或写回数据时均可能引发该异常5、IRQ 中断请求由外部中断引脚 nIRQ 引起的引由 CPRS 中的 I 位禁止6、FIQ 中断请求由外部中断引脚 nFIQ 引起的引由 CPSR 中的 F 位禁止8ARM 中如何处理异常?包括进入和退出异常进入异常:1、把断点处的下一条指令保存到 R142、 把 CPSR 中的值复制到 SPSR 中,以保存断电状态3、格局异常模式,把 CPSR 中的模式位 M4M3M2M1M0设置成对应值退出异常:1、 将保存在 R14 中的置传回到 PC 中2、 将 SPSR 中的值传回到 CPSR 中3、
6、 对中断禁止位进行清除9、ARM9 中如何保证 FIQ 被快速响应(FIQ 快于 IRQ)?1、FIQ 异常下有足够的私有寄存器且支持数据传送和通道处理方式从而避免对寄存器保护的要求,提高响应速度2、FIQ 异常向量被放在所有的异常之后这样 FIQ 中断处理程序可以直接放在中断向量处而不必安排一条跳转指令3、FIQ 的优先级高于 IRQ第三章1、ARM 指令集中,大多数指令是条件执行的,这里所说的条件执行是什么意思?列举 5 个以上的条件指令的条件根据 CPSR 寄存器中的状态标志位和指令的条件域来确定条件域确定该指令在什么条件下执行例如:相等(EQ)不等(NE)大于等于(CS)小于(CC)2
7、 寄存器加载/存储指令的语句格式?指令 LDRNE R4,R 2,#960!完成什么功能?语句格式:1、 LDR/STR 条件码 B Rd , Rn2、 Rd , Rn,Flexoffset!3、 Rd , label4、 Rd , Rn , Flexoffset功能:若不相等,则 R4R2+960 , R2R2+9603、若加法或减法指令的执行结果需要影响标志位,该如何写?举 3 个例注:S 后缀 S 表示结果影响标志位ADDS R0,R4,R8ADCS R0,R4 ,R84、在 ARM 汇编指令编写的程序中,如何实现子程序的调用和返回?给出相应的指令代码首先保存主程序现场,将 BL 指令的
8、下一条指令地址放到 LR 寄存器中,作为返回地址并将子程序的第一条指令地址赋予 PC 寄存器,实现程序转移,即进入程序执行子程序,执行完成后通过把 LR 寄存器值赋给 PC 寄存器实现返回代码:BL next其中 next 为子程序中的第一条指令代码标号5、 解释以下标识符的作用ENTRY 指明程序入口EXPORT 系统上电或复位后跳转到此处开始运行AREA 指示汇编器汇编一段新代码END 程序结束MACRO宏定义开始第四章1、总线的概念是什么?总线定时有哪些种类?描述各类总线定时的思想总线是把微处理器与存储器 I/O 设备连接在一起的信息通路三类定时:同步定时:数据的传送由统一的信号控制并利
9、用信号线的上升或下降来表明数据的开始和结束,适用快速设备异步定时:数据收发双方通过握手信号决定发送/接受的开始和结束主要适用于总线上具有不同速度的器件半同步定时:通常情况下与同步定时相同,但当数据双方未能及时完成数据操作,可以申请插入等待周期2、描述嵌入式系统中存储系统结构,存储器分类以及各类存储器的常规用途分为四级:寄存器、cache、主存储器、辅助存储器存储器分为:随机存储器(RAM)只读存储器(ROM)其中 RAM 分为:静态随机存储器(SRAM)动态随机存储器(DRAM)ROM 分为:EPROM、EEPROM 、闪存(FLASH)其中闪存(FLASH)分为 NOR FLASH 和 NA
10、ND FLASH4、 画出存储器管理单元(MMU)的微处理器管理主存的框图并说明原理微处理器 MMU 页表主存 辅存逻辑地址 物理地址数据5、 使能 MMU 程序MRC P15,0,R0 ,C1 ,0,0 ;C1 的内容赋给 R0ORR R0,#0 X1MCR P5, 0,R0 ,C1 ,0,0 ;R0 的内容赋给 C16、 最小系统框图原理ARM时钟模块复位模块JTAGUARTFLASH 模块SDRAM 模块7、 NAND 和 NOR 的启动过程8、 ARM9 如何控制存储器访问权限?在 ARM9 中对每个段页访问权限是通过页表中的AP 控制的,而对于所有的段和页是通过 C1 中的SR 控制
11、的第五章1、中断源的识别方法有哪些?描述各种方法的思想1、 固定中断向量 思想:中断服务入口地址是固定不变的2、 可变中断向量 思想:中断妇孺程序入口地址不是固定的可以通过终端控制寄存器进行配置2、描述 IRQ 异常和 FIQ 异常的处理过程IRQ 异常处理过程:1、R14_irq 保存返回地址2、CPSR 寄存器值赋给 SPSR 寄存器3、状态寄存器 CPSR 低 5 位置 100104、CPSR 位5清零,位6不变设置为 ARM 状态5、CPSR 位7置 1,屏蔽 IRQ 中断6、PC 送 0x18 进入中断服务程序FIQ 异常处理过程:1、 返回地址送到 R14_fiq2、 CPSR 寄存其中的值保存到 SPSR 中3、 设置 CPSR 中低 5 位为 100014、 CPSR 中位5清零 进入 ARM 状态5、 CPSR 中位67置 1 禁止 FIQ 及 IRQ 中断6、 PC 送 0x1c 进入中断服务程序