内容发布更新时间 : 2024/11/16 6:24:16星期一 下面是文章的全部内容请认真阅读。
ARM及嵌入式系统设计
题目类型:填空,选择,判断,简答,综合。 简答及综合题出题类型如下:
第一类:根据操作要求,写ARM指令。
第二类:给定指令,判断指令执行后的结果。
第三类:给定流程图,补充ARM汇编代码,完成功能。 第四类:解释某条指令的功能。 第五类:简答题及论述题。
1、 Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?
答:BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首 先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行 用户应用程序准备好止确的环境。(对于嵌入式系统来说,有的使用操作系统, 也冇的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运 行准备好软硕件环境。)
2、 ARM核中什么寄存器用于存储PC? R13通常用来存储什么? R14通常用来存 储什么?
答:R15为程序计数器PC R13作为堆栈指针SP R14链接寄存器LR
3、 简述嵌入式系统的概念、组成及特点。
答:概念:嵌入式系统是以应用为中心,以计算机技术为基础,并且软碾件 可裁剪,适用于应用系统对功能、可靠性、成木、体积、功耗有严格要求的 专用计算机系统。 组成:它一般由恢入式微处理器、外围硬件设备、嵌入式操作系统以及用户 的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功 能。 特点:
? 专门用于特定任务 ? 技术融合 ? 冇实时约束 ? 有功耗约束
? 软件没有系统和应用的区别,软件固化 ? 系统内核小 ? 软硬件可裁剪 ? 高可靠性
? 资源比PC少得多
? 嵌入式系统需要专用的开发工具 ? 非垄断市场
4、 有时要使用Thumb技术的原因
答:(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的 16位指令集。)在性能和代码大小Z间取得平衡,在需耍较低的存储代码时采用Thumb 指令系统用
Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却 取得以ARM代码
执行的最好性能,可以带來低功耗,小体积,低成木
5、 ARM处理器的工作模式有哪几种?
答:1)正常用户模式(usr); 2)快速中断模式(fiq); 3)普通屮断模式(irq); 4) 操作系统保护模式(svc)或管理模式;5)数据访问中止模式(abt); 6)处理未 定义指令的未定义模式(und); 7)运行特权级的操作系统任务的系统模式(sys)o
6、 寄存器R13, R14, R15的专用功能各是什么?
答:R13:堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容
R14:连接寄存器,当使用BL指令调用子程序时,返回地址将口动存入14中;当发生 异常时,将R14对应的异常模式版木设置为异常返回地址;其他时候作为通用寄存器。 RI5:程序寄存器,总是指向正在“取指”的指令
7、寄存器CPSR, SPSR的功能各是什么?
答:RISC是梢简指令集计算机的缩写。CISC是复杂指令集计算机的缩写
8、 ARM的异常有哪几种,各进入何种工作模式?他们退出各采用什么指令?
答:1)复位(Reset)异常(管理模式);2)未定义指令(undefined instruction)异常 (未定义模式);3)软件屮断(SWI)异常(管理模式);4)指令预取小止(Prefech
Abort)异常(屮止模式);5)数据访问中止(DataAbort)(中止模式);6)快速中断
请求(HQ) (F1Q模式);7)外部中断请求(IRQ) (IRQ模式)。 异常返回指令:1)
SWI,未定义的返回:MOVS PC,R14; 2) IRQ,FIQ,预取中止的返回:SUBS PC,R14,#4; 3)数据中止返回并重新存取:SUBS PC,R14,#8 异常中断的优先级:复位(最
高优先级)-> 数据异常中也->HQ -> IRQ->预取 指异常中止->SWI-->*定义指 令(包括缺协处理器)。
9、什么是小端和大端存储器组织?
答:大端模式:数据的高字节存储在低地址屮,低字节存储在高地址屮。 小端模式:数据的低字节存储在低地址中,高字节存储在高地址中
10、 ARM7TDMI中的T、D、S、I分别表示什么含义?
答:T■支持高密度16位的Thumb指令集
D?支持片上调试 S■支持64位乘法
I-支持EmbededICE观察硬件
11、 ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?
答:ARM处理器使用冯.诺依曼结构;使用单个平面的232个8位字节地址 空间。地址空间可以看作是包含230个32位字,或231个16位半字
12、 ARM7TDMI处理器采用几级流水线处理,使用何种存储器编址方式?
答:三级流水线
ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。
13、ARM处理器模式和ARM处理器状态有什么区别?
答:ARM处理器模式指用户模式、快屮断模式、中断模式、管理模式、屮 止模式、
未定义模式和系统模式。ARM处理器状态指ARM状态和
Thumb状态
ARM两种处理器状态下均有上述7种模式。 14、 ARM7TDMI内部寄存器特点?
答:分别为31个通用32位寄存器和6个状态寄存器。它们不能在同一使劲 同时被访问,对其的访问取决于处理器状态和处理器模式
15、 ARM7TDMI有几种寻址方式?
答:寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、 多寄存器寻址、堆栈寻址、相对寻址。
16、 请说明MOV指令与LDR加载指令的区别和用途?
答:LDR的操作数既可以来源于寄存器也可以来源于存储器,MOV的操作 数能来源于寄存器。LDR指令从内存屮读取数据放入寄存器,用于对内存 变量和数据的访问、查表、程序的跳转、外围部件的控制操作等;MOV指令 将8位立即数或寄存器传送到目标寄存器(Rd),可用于移位运算等操作。
17、 为什么要进行存储器重映射?
答:存储器重映射是为了实现引导块和异常向量表地址的固定。 重映射 引导块,有利于用户调用其中的某些程序,增加代码的可移植性; 异常 向量表重映射为了能让ARM内核通过访问0x0000?0x003F地址访问到其 他存储区域的向量表。
18、 FIQ、IRQ有什么不同?向量IRQ和非向量IRQ有什么不同?
答:FIQ是快速中断,具有最高优先级,中断处理转入FIQ模式;IRQ是普 通中断,优先级低于FIQ,中断处理转入IRQ模式。 向量IRQ支持16 个向量IRQ小断,16个优先级,能为每个屮断源设置服务程序地址;非向 量IRQ支持一个非向量IRQ中断,所有中断都共用一个相同的服务程序入 口地址。
19、 ARM7TDMI支持哪几种指令集,各有什么特点?
答:支持ARM指令集和Thumb指令集两种。ARM指令集:指令32位, 效率高,代码密度低,所有ARM指令都是可以有条件执行的。Thumb 指令集:指令
16位,代码密度较高,Thumb指令仅有-?条指令具备条件执 行功能。保持ARM的大多数性能上的优势,是ARM指令集的了集。
20、 ARM7TDMI有几种处理器模式,简单介绍该几种模式的工作特点?
答:ARM7TDMI有7种处理器模式。
用户模式:正常程序运行的工作模式,不能直接从用户模式切换到其它模式 系统模式:用于支持操作系统的特权任务等,可以直接切换到其它模式 快小断模式:用于快速中断处理,支持高速数据传输及通道处理,只有在 FIQ异常响应时,才进入此模式。
中断模式:用于通用中断处理,只有在IRQ异常响应时,才进入此模式。 管理模式:供操作系统使用的一种保护模式,只有在系统复位和软件中断响 应时,才进入此模式。