记录若干ARM试题
哈佛体系结构和冯诺依曼体系结构有何不同?
答:哈佛体系结构有两套地址总线,和数据总线是分开的,冯诺依曼体系结构是复用的。
ARMv8-A 架构中有哪几种工作模式?其中哪些属于异常模式?
答:有 8 种工作模式,分别为:USR、FIQ、IRQ、SVC、ABT、UND、SYS、MON。
除用户模式(USR)外,其他都是特权模式,特权模式中,除系统模式(SYS)之外,其他都是异常模式。即异常模式共有 6 种:FIQ(快速中断异常模式)、IRQ(外部中断请求模式)、SVC(特权模式)、ABT(数据访问中止模式)、UND(未定义指令中止模式)、MON(监控模式)。
具体说明ARM7TDMI 中的 T、D、M 和 I 代表什么?
答:ARM7TDMI 是 ARM7 系列成员中应用最为广泛的 32 位高性能嵌入式 RISC 处理器内核,其中 T(Thumb)代表支持 Thumb16 位译码器;D(Debug)代表支持 JTAG 调试器;M(Multipler) 代表支持快速乘法器;I(Embedded ICE Logic)代表支持嵌入式跟踪宏单元。
ARM 程序可以使用两种语言进行设计,一种是ARM 汇编语言,一种是 C/C++语言。汇编语言和 C/C++语言各自的特色是什么?
答:汇编语言的特点是程序执行速度快,程序代码生成量少,但可读性差,汇编语言属于低级语言, 在通常情况下使用汇编语言来编写驱动程序或需要严格计算执行时间的程序以及需要加速执行的 程序。 C/C++语言是高级语言,能够快速的编写应用程序,有丰富的程序库支持,程序易编写, 具有结构化,程序可读性强,易于修改,便于调试和维护。
为什么要使用 Thumb 模式?与 ARM 代码相比较,Thumb 代码的两大优势是什么?如何完成Thumb 指令模式和 ARM 指令模式之间的切换?
答:ARM 体系结构除了支持执行效率很高的 32 位/64 位 ARM 指令集以外,为兼容数据总线宽度为 16 位的应用系统,也支持 16 位的 Thumb 指令集。Thumb 指令集是 ARM 指令系统的一个子集,允许指令编码的长度为 16 位。与等价的 32 位代码相比较,Thumb 指令集在保留 32 位代码的优势的同时,大大节省系统的存储空间。由 ARM 状态切换到 Thumb 状态可以通过 BX 指令, 当操作数寄存器的最低位为 1 时,执行 BX 指令可以使微处理器进入 Thumb 状态;当操作数寄存器的最低位为 0 时,执行 BX 指令可以使微处理器进入 ARM 状态。
请简述ARM 对异常中断的响应过程。答:ARM 异常中断处理过程为:
1) 保存处理器当前状态、中断屏蔽位以及各条件标志位;
2) 设置当前程序状态寄存器 CPSR 中的相应位; 3)将寄存器 lr_mode 设置成返回地址
4)将程序计数器值 PC,设置成该异常中断的中断向量地址,跳转到相应异常中断处继续执行。
FIQ 的哪几个特点使得它的处理速度比IRQ 快? 答:1)FIQ 优先级比 IRQ 高,不会被中断;
2) FIQ 有自己的专属寄存器:R8~R12,不用对通用寄存器进行入栈保护,可以加快速度;
3) FIQ 位于异常向量表的末尾 0x1c,故无需跳转,可以在这里直接放置异常处理函数。
什么指令可以放在中断向量表?
答:跳转指令,给PC 赋值的指令,如:B,LDR,MOV
ARM 处理器中断向量表位于存储器的什么位置? 答:默认位于:0x0,也可以配置成:0xFFFF0000
下列 ARM 指令将做什么?
A)LDRH R0,[R1,#6]
B)LDR R0,=0x999
答:
A)将 R1 寄存器的值加上 6,然后把以这个值为地址的内存单元里的值取半字(低 16 位)赋给 R0
B)将立即数 0x999 赋给R0。(注意:这是一个伪指令)
一、 选择题
1**、**以下说法不正确的是(B )。
A、任务可以有类型说明 B、任务可以返回一个数值
C、任务可以有形参变量 D、任务是一个无限循环
2下列描述不属于RISC计算机的特点的是(C)。
A.流水线每周期前进一步。 B.更多通用寄存器。
C.指令长度不固定,执行需要多个周期。
D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
3 存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D)。
A、0x21 B、0x68 C、0x65 D、0x02
4 μCOS-II中对关键代码段由于希望在执行的过程中不被中断干扰,通常采用关中断的方式,以下X86汇编代码正确而且不会改变关中断之前的中断开关状态的是(D)
A. 先CLI、执行关键代码、再STI
B. 先STI、执行关键代码、再CLI
C. 先POPF、CLI、执行关键代码、再PUSHF
D. 先PUSHF、CLI、执行关键代码、再POPF。
5 RS232-C串口通信中,表示逻辑1的电平是(D )。
A、0v B、3.3v C、+5v~+15v D、-5v~-15v
6 ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是(A)。
A. R0 = R2 + (R3 << 1) B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1) D. (R3 << 1)= R0+ R2
7 IRQ中断的入口地址是( C)。FIQ的入口地址为0x0000001C
A、0x00000000 B、0x00000008 C、0x00000018 D、0x00000014
8 S3C2420X I/O口常用的控制器是(D)。
(1)端口控制寄存器(GPACON-GPHCON)。
(2)端口数据寄存器(GPADAT-GPHDAT)。
(3)外部中断控制寄存器(EXTINTN)。
(4)以上都是。
9 实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。
A. 同步 B. 互斥 C. 调度 D. 执行
10 和PC系统机相比嵌入式系统不具备以下哪个特点( C)。
A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简
11 、ADD R0,R1,#3属于(A)寻址方式。
A. 立即寻址 B. 多寄存器寻址 C. 寄存器直接寻址 D. 相对寻址
12、GET伪指令的含义是( A)
A. 包含一个外部文件 B. 定义程序的入口 C. 定义一个宏 D. 声明一个变量
13、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存
储,则2000H存储单元的内容为( C)。
A、0x00 B、0x87 C、0x65 D、0x61
14、μCOS-II操作系统不属于( C)。
A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统
15、若R1=2000H,(2000H)=0x86,(2008H)=0x39,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。
A. 0x2000 B. 0x86 C. 0x2008 D. 0x39
16、寄存器R13除了可以做通用寄存器外,还可以做(C )。
A、程序计数器 B、链接寄存器 C、栈指针寄存器 D、基址寄存器
17、FIQ中断的入口地址是( A)。
A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014
18、ARM指令集和Thumb指令集分别是(D )位的。
A. 8位,16位 B. 16位,32位 C. 16位,16位 D. 32位,16位
19、ARM寄存器组有(D )个寄存器。
A、7 B、32 C、6 D、37
20、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR R0,[R1,#8]!后R0的值为(D )。
A. 0x2000 B. 0x28 C. 0x2008 D. 0x87
21、寄存器R15除了可以做通用寄存器外,还可以做( A)
A. 程序计数器 B. 链接寄存器 C. 堆栈指针寄存器 D. 基址寄存器
22、嵌入式系统有硬件和软件部分构成,以下(C)不属于嵌入式系统软件。
A. 系统软件 B. 驱动 C. FPGA编程软件 D. 嵌入式中间件
26、假设R1=0x31,R2=0x2 则执行指令ADD R0,R1,R2 LSL #3 后,R0的值是( C)
A. 0x33 B. 0x34 C. 0x39 D. 0x38
23、和PC机系统相比下列哪个不是嵌入式系统独具的特点(C)
A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简
24、Unicode编码与(A)编码方式兼容。
A、ASCII码 B、GBK C、GB2312 D、区位码
25 、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用(A)完成。
A.硬件 B. 软件 C. 用户 D. 程序员
26 在μC/OS-II系统中,OSTimeTick()函数只被以下(A)函数或过程所调用。
A. OSTickISR B. OSShed C. OSCtxSw D. OSIntCtxSw
27 每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(D)。
A. 嵌入式Linux提供了完善的网络技术支持;
B. mCLinux是专门为没有MMU的ARM芯片开发的;
C. mC/OS-Ⅱ操作系统是一种实时操作系统(RTOS);
D. WinCE提供完全开放的源代码。
28 下列关于存储管理单元(MMU)说法错误的是(B)。
A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。
B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。
C. MMU提供了一些资源以允许使用虚拟存储器。
D. MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。
29 下列CPSR寄存器标志位的作用说法错误的是(D)。
A. N:负数 B. Z: 零 C. C: 进位 D. V: 借位
30 S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为(C)。
A. SCL和RTX B. RTX和RCX C. SCL和SDA D. SDA和RCX
31 RQ中断的优先级别是( D )。
A. 1 B. 2 C. 3 D. 4
32 LDR R2,[R3,#128] 的寻址方式是( C )。
A. 寄存器寻址 B. 寄存器移位 C. 变址寻址 D. 间接寻址
33 S3C2410有( B )个USB接口。
A. 1 B. 2 C.3 D. 4
34 ARM处理器的工作模式有( C )种。
A. 5 B.6 C. 7 D.8
二、 判断题
1、 程序运行过程中的资源可以是显示器、键盘,但不可以是一个数组或变量(X)
2、 在μCOS-II操作系统中,已知Task1的优先级为12,Task2的优先级为26。假如在Task2运行过程中发生键盘中断,在执行中断服务程序时Task1进入就绪状态,则中断返回时Task1得到CPU的使用权。(√ )
3、 若定义任务task1的优先级为12,则不能再定义其他任务的优先级也为12(√ )
4、 任务创建后即开始调度(X)
5、 液晶工作在文本模式下时,既可以显示英文字符也可以显示汉字(X)
6、 处于就绪状态的任务只能切换到运行状态(X)
7、 等待消息函数WaitMessage(0)中的“0”表示此函数的超时等待时间为0秒(X)
8、 若OSTaskSuspend (prio)函数把正在延时的任务挂起,则调用一次对应的唤醒函数即可使该任务切换到就绪状态。(X)
9、 调试程序时,需要停止程序运行后才可查看变量内容(√ )
10、 μCOS-II操作系统中移植成功后即可使用文件系统(X)
11、 将模拟信号转换成数字信号的电路是DA转换器。(×)
12、 IIC是同步串行数据总线,。(√)
13、 S3C2410的处理器对内存的访问只能通过Load/Store指令来实现。(√)
14、 Nand Flash比Nor Flash成本高,可靠性差。(×)
15、 C语言程序可以嵌套加入汇编程序模块。 (√)
16、 运算放大器的输出电压范围一般大于电源电压的范围。(×)
17、 由于CPU内部寄存器的访问速度较高,根据ATPC标准,应尽可能使函数的参数控制在4个以下。(√)
18、 ARM处理器结构体系中具有T变种处理器核可以工作在ARM状态和Thumb状态。(√)
三、 简答题
ARM体系结构的寄存器组织:37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器,哪些寄存器是可编程访问的,取决微处理器的工作状态及具体的运行模式。
ARM微处理器的异常状态:7种异常
4、ARM处理器有几种工作模式?并做说明每种工作模式的含义。
答:ARM处理器有7种工作模式:
用户模式(usr)- 正常程序执行的模式 0.5分
快速中断模式(fiq)- FIQ异常响应时进入此模式 0.5分
中断模式(irq)- IRQ异常响应时进入此模式 0.5分
管理员模式(svc)- 系统复位和软件中断响应时进入此模式 0.5分
中止模式(abt)- 用于虚拟存储及存储保护 0.5分
系统模式(sys)- 与用户类似,但有直接切换到其它模式等特权 0.5分
未定义模式(und)- 未定义指令异常响应时进入此模式 0.5分
除了用户模式外,其他模式均可视为特权模式 0.5分
四、 阅读程序题
9、 阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。
看门狗定时器控制寄存器(WTCON)
寄存器 | 地 址 | 读/写 | 描 述 | 初 始 值 |
---|---|---|---|---|
WTCON | 0x53000000 | 读/写 | 看门狗定控制寄存器 | 0x8021 |
WTCON的标识位
WTCON | Bit | 描 述 | 初 始 值 |
---|---|---|---|
Prescaler Value | [15:8] | 预装比例值,有效范围值为0~255 | 0x80 |
Reserved | [7:6] | 保留 | 00 |
Watchdog Timer | [5] | 使能和禁止看门狗定时器 0=禁止看门狗定时器 1=使能看门狗定时器 | 0 |
Clock Select | [4:3] | 这两位决定时钟分频因素 00:1/16 01:1/32 10:1/64 11:1/128 | 00 |
Interrupt Generation | [2] | 中断的禁止和使能 0=禁止中断产生 1=使能中断产生 | 0 |
Reserved | [1] | 保留 | 0 |
Reset Enable/Disable | [0] | 禁止很使能看门狗复位信号的输出 1=看门狗复位信号使能 0=看门狗复位信号禁止 | 1 |
看门狗定时器数据寄存器(WTDAT)
寄 存 器 | 地 址 | 读/写 | 描 述 | 初 始 值 |
---|---|---|---|---|
WTDAT | 0x53000004 | 读/写 | 看门狗数据寄存器 | 0x8000 |
看门狗计数寄存器(WTCNT)
寄 存 器 | 地 址 | 读/写 | 描 述 | 初 始 值 |
---|---|---|---|---|
WTCNT | 0x53000008 | 读/写 | 看门狗计数器当前值 | 0x8000 |
xxxxxxxxxx
// 第1行
// 第2行
// 第3行
void watchdog_test(void)
{
rWTCON = ((PCLK/1000000-1)<<8)|(3<<3)|(1<<2); // 第4行
rWTDAT = 7812; // 第5行
rWTCNT = 7812; // 第6行
rWTCON |=(1<<5); // 第7行
}
第1-3 行:定义看门狗控制寄存器、数据寄存器和计数寄存器为rWTCON、rWTDAT和rWTCNT。
第4 行:设置看门狗的预装比例值为1000000,分频因素为1/128,并使能中断。(6分)
第5-6 行:对数据寄存器和计数寄存器赋值为7812。(2分)
第7 行:启动看门狗。(2分)
7、阅读以下S3C2410部分用户手册.求:当PCLK 或 UCLK 为40 MHz时,串口0的波特率为2400 bps ,串口1的波特率为115200bps,相应的控制寄存器如何设置.
UART BAUD RATE DIVISOR REGISTER
There are three UART baud rate divisor registers(寄存器)including UBRDIV0, UBRDIV1 and UBRDIV2 in the UART block(模块). The value stored in the baud rate divisor register (UBRDIVn), is used to determine the serial Tx/Rx clock rate(baud rate) as follows:
UBRDIVn = (int)(PCLK / (bps x 16) ) –1 or UBRDIVn = (int)(UCLK / (bps x 16) ) –1
Where, the divisor should be from 1 to (216-1) and UCLK should be smaller than PCLK.
Register | Address | R/W | Description | Reset Value |
---|---|---|---|---|
UBRDIV0 | 0x50000028 | R/W | Baud rate divisor register 0 | – |
UBRDIV1 | 0x50004028 | R/W | Baud rate divisor register 1 | – |
UBRDIV2 | 0x50008028 | R/W | Baud rate divisor register 2 | – |
UBRDIVn | Bit | Description | Initial State |
---|---|---|---|
UBRDIV | [15:0] | Baud rate division value UBRDIVn >0 | – |
答: 根据UBRDIVn = (int)(PCLK / (bps x 16) ) –1
寄存器UBRDIV0= (int)(40000000/2400*16)-1=1040=10000010000(B)
寄存器UBRDIV1=( int)(40000000/115200*16)-1=20=10100(B)
任务控制块(TCB)的数据结构OS-TCB表示任务的状态。当任务的CPU控制权被枪战后,任务控制块用来保存该任务的状态。当任务重新获得CPU的控制权后,任务控制块能够保证任务从被中断的位置继续正确执行。 任务控制块提供了任务的基本信息,如任务的执行状态、优先级和堆栈位置等。
各章节重点
第1章:
填空题 1.ARM内核有四个功能模块,即T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。 2.ARM7TDMI与ARM720T的一个重要区别在于后者有存储空间管理单元(MMU)、8K Cache片内缓存(提高CPU性能)。 3.ARM芯片主要封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式。 4.ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器。 5.ARM体系结构可用两种方法存储字数据,具体为大端格式、小端格式。 6.协处理器主要控制:片内的MMU、指令和数据缓存(IDC)、写缓冲(Write Buffer)。
问答题 1.简单描述ARM内核的四个功能模块,各自具备什么功能特点? 答案:ARM内核有四个功能模块T、D、M、I,可供生产厂商根据不同用户的要求来配置生产ARM芯片。其中T功能模块表示16位Thumb,可以在兼顾性能的同时减少代码尺寸。M功能模块表示8位乘法器。D功能模块表示Debug,该内核中放置了用于调试的结构,通常它为一个边界扫描链JTAG,可使CPU进入调试模式,从而可方便地进行断点设置、单步调试。I功能模块表示EmbeddedICE Logic,用于实现断点观测及变量观测的逻辑电路部分,其中的TAP控制器可接入到边界扫描链。
2.一个ARM720T内核,基本由哪四部分组成? 答案:一个ARM720T内核基本由以下四部分组成。 (1)ARM7TDMI CPU核。该CPU核支持Thumb指令集、核调试、增强的乘法器、JTAG及嵌入式ICE。它的时钟速率可编程为18MHz、36MHz、49MHz、74MHz。 (2)内存管理单元(MMU)与ARM710核兼容,并增加了对Windows CE的支持。该内存管理单元提供了地址转换和一个有64个项的转换旁路缓冲器。 (3)8KB单一指令和数据高速缓冲存储器,以及一个四路相联高速缓冲存储器控制器。 (4)写缓冲器Write Buffer。
3.通用寄存器包括R0~R15,可以分为具体哪三类? 答案:通用寄存器包括R0~R15,可以分为三类: (1)未分组寄存器R0~R7; (2)分组寄存器R8~R14; (3)程序计数器PC(R15)。
4.请描述Thumb状态下的寄存器与ARM状态下的寄存器有什么关系? 答案:Thumb状态下的寄存器与ARM状态下的寄存器有如下关系: (1)Thumb状态下和ARM状态下的R0~R7是相同的。 (2)Thumb状态下和ARM状态下的CPSR和所有的SPSR是相同的。 (3)Thumb状态下的SP对应于ARM状态下的R13。 (4)Thumb状态下的LR对应于ARM状态下的R14。 (5)Thumb状态下的程序计数器对应于ARM状态下的R15。
5.当一个异常出现以后,ARM微处理器会执行哪几步操作? 答案:当一个异常出现以后,ARM微处理器会执行以下几步操作。 (1)将下一条指令的地址存入相应连接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。若异常是从ARM状态进入,则LR寄存器中保存的是下一条指令的地址(当前PC+4或PC+8,与异常的类型有关);若异常是从Thumb状态进入,则在LR寄存器中保存当前PC的偏移量,这样,异常处理程序就不需要确定异常是从何种状态进入的。例如:在软件中断异常SWI,指令 MOV PC,R14_svc总是返回到下一条指令,不管SWI是在ARM状态执行,还是在Thumb状态执行。 (2)将CPSR复制到相应的SPSR中。 (3)根据异常类型,强制设置CPSR的运行模式位。 (4)强制PC从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。
第2章:
填空题 1.ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集、Thumb指令集。 2.ARM处理器有9种基本寻址方式,分别是:寄存器寻址、立即寻址、寄存器偏移寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、块拷贝寻址、相对寻址。 3.ARM指令集可以分为6类,分别是:跳转指令、数据处理指令、程序状态寄存器(PSR)传输指令、Load/Store指令、协处理器指令、异常中断产生指令。 4.在ARM的汇编程序中,有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令、其他伪指令。 5.汇编语言与C/C++的混合编程通常有以下几种方式:在C/C++代码中嵌入汇编指令、从汇编程序中访问C程序变量、汇编程序与C/C++程序间的相互调用。 6.ARM C/C++编译器支持和产生以下几种格式的文件:filename.c 源文件、filename.h 头文件、filename.o 目标文件、filename.s 汇编代码文件、filename.lst 列表文件。
问答题
1.一条典型的ARM指令具有什么样的语法格式,并描述各选项意义。
答案:一条典型的ARM指令语法格式如下所示:
2.表示递增和递减的满堆栈和空堆栈有哪几种组合,请比较它们的特点。 答案:有4种类型的堆栈,表示递增和递减的满堆栈和空堆栈的各种组合。 ? 满递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA,STMFA等。 ? 空递增:堆栈通过增大存储器的地址向上增长,堆栈指针指向堆栈上的第一个空地址。指令如LDMEA,STMEA等。 ? 满递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD,STMFD等。 ? 空递减:堆栈通过减小存储器的地址向下增长,堆栈指针指向堆栈下的第一个空地址。指令如LDMED,STMED等。
3.ARM协处理器指令包括哪3类,请描述它们的功能。 答案:ARM协处理器指令包括以下3类: ? 用于ARM处理器初始化ARM协处理器的数据处理操作。 ? 用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作。 ? 用于在ARM协处理器的寄存器和内存单元之间传送数据。
4.常见的符号定义伪指令,具体有哪几种? 答案:常见的符号定义伪指令有如下几种。 ? 用于定义全局变量的GBLA、GBLL和GBLS。 ? 用于定义局部变量的LCLA、LCLL和LCLS。 ? 用于对变量赋值的SETA、SETL、SETS。 ? 为通用寄存器列表定义名称的RLIST。
5.汇编语言程序中常用的符号,需要遵循哪些规则? 答案:汇编语言程序中常用的符号,必须遵循以下的约定。 ? 符号区分大小写,同名的大、小写符号会被编译器认为是两个不同的符号。 ? 符号在其作用范围内必须唯一。 ? 自定义的符号名不能与系统的保留字相同。 ? 符号名不应与指令或伪指令同名。
6.可执行映像文件通常由几部分构成,它们有什么特点? 答案:可执行映像文件通常由以下几部分构成。 ? 一个或多个代码段,代码段的属性为只读。 ? 零个或多个包含初始化数据的数据段,数据段的属性为可读写。 ? 零个或多个不包含初始化数据的数据段,数据段的属性为可读写。
第3章:
填空题 1.在线仿真包括3个过程:装载映像文件、程序执行、查看寄存器和内存空间。 2.目标机上的Angel可以实现的功能为:基本的调试功能、C语言库的支持、通信支持、任务管理功能、异常中断处理。 3.使用Angel开发应用程序包括下面的步骤:在ARMulator或开发板上开发应用程序;建立严重依赖Angel的应用程序;建立很少依赖Angel的应用程序;生成最终的产品。 4.当应用程序在特权模式下调用Angel的SWI时,必须保证它的特权模式数据栈为FD(满且地址递减)类型,并且有足够Angel进入SWI时需要的可用空间。 5.JTAG调试接口的结构由测试访问端口TAP(Test Access Port)控制器、旁路(bypass)寄存器、指令寄存器和数据寄存器、ARM架构处理器组成。
问答题 1.初始化存储器有哪几种方法? 答案:初始化存储器就是设置ARM处理器的某些寄存器,这可以通过两种方法完成:第一种,如果ARM处理器内部有SRAM,则可以建立一个简单的工程,该工程对涉及存储器映射的寄存器初始化;第二种,利用AXD的命令行配置那些寄存器,具体步骤如下: 首先在C:\下建立文本文件memory_map.txt,该文件设置寄存器的值,其格式为: setmem ADDRESS,DATA,SIZE 其中,ADDRESS是寄存器的地址,DATA是该寄存器要设置的值,SIZE是数据宽度,一般为32,可以设置多个寄存器;然后打开AXD Debugger的命令行窗口,执行下面的命令,配置对应的控制寄存器。
obey C:\memory_map.txt 执行完毕后,memory_map.txt中的寄存器就配置完毕,存储器就映射到预定的地址空间了。
2.基于AngelMIS的调试系统由哪两部分组成?请详细描述。 答案:基于Angel的调试系统由下面两部分组成,这两部分之间通过一定的通信信道连接起来,通常使用的信道是串行口。 ? 位于主机上的调试器(debugger)。它接受用户命令,将其发送到目标机上的Angel,使其执行一定的操作,并将目标机上Angel返回的数据以一定的格式显示用户。ARM公司提供的各调试器都支持Angel。对于其他的调试器,如果它支持Angel所使用的调试协议ADP,则也可以支持Angel。 ? 位于目标机上的Angel调试监控程序。它接受主机上调试器传来的命令,返回相应的数据。通常Angel有两个版本:完整版本包含所有的Angel功能,主要可以用于调试应用系统;最小版本包含一些有限的功能,可以包含在最终的产品中。
3.使用Angel所需要的资源有哪些,请描述。 答案:使用Angel所需要的资源包括: ? 系统资源。Angel使用的系统资源包括可配置的系统资源和不可配置的系统资源。可配置的系统资源包括一个ARM程序的SWI号和一个Thumb程序的SWI号;不可配置的资源包括两条未定义的ARM指令和一条未定义的Thumb指令。 ? ROM和RAM资源。Angel需要使用ROM来保存其代码,使用RAM来保存其数据。当需要下载一个新版本的Angel时,还需要使用额外的RAM资源。 ? 异常中断向量。Angel通过初始化系统的异常中断向量表来安装自己,从而使得Angel有机会接管系统的控制权,来完成相应的功能。 ? FIQ及IRQ异常中断。Angel需要使用下面的异常中断来实现主机和目标机之间的通信功能。推荐使用IRQ异常中断。 ? FIQ异常中断; ? IRQ异常中断; ? 同时使用FIQ异常中断和IRQ异常中断。 ? 数据栈。Angel需要使用自己的特权模式的数据栈。如果用户应用程序需要调用Angel功能,则用户需要建立自己的数据栈。
4.使用完整版本的Angel开发应用程序时有什么编程限制? 答案:在使用完整版本的Angel开发应用程序时,由于Angel需要一定的资源,给程序设计带来了一定的限制。这些限制包括: ? Angel需要使用自己的处理器特权模式下的数据栈,因此在Angel和实时操作系统RTOS一起使用时,必须确保在Angel运行时,RTOS不会切换处理器的模式。否则可能造成死机。 ? 用户应用程序尽量避免使用SWI 0x123456以及SWI 0xab。这两个SWI异常中断号保留给Angel使用。Angel使用它们来实现目标程序中C语言运行时库的semihosting请求。 ? 如果用户应用程序中使用了SWI,则在退出SWI时必须将各寄存器的值还原成进入SWI时的值。 ? 如果应用程序中需要使用未定义的指令异常中断,必须注意Angel使用了未定义的指令异常中断。
5.JTAG测试信号由哪五个信号组成,并分别描述。 答案:JTAG测试信号由下面五个信号组成,分别描述如下。 ? TRST:测试复位输入信号,测试接口初始化。 ? TCK:测试时钟,在TCK时钟的同步作用下,通过TDI和TDO引脚串行移入/移出数据或指令;同时,也为测试访问端口TAP控制器的状态机提供时钟。 ? TMS:测试模式选择信号,控制测试接口状态机的操作。 ? TDI:测试数据输入线,其串行输入数据至边界扫描寄存器或指令寄存器(由TAP控制器的当前状态及已保存在指令寄存器中的指令来控制)。 ? TDO:测试数据输出线,把从边界扫描链采样的数据传播至串行测试电路中的下一个芯片。
第4章:
填空题 1.ARM嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式软件系统构成。 2.常用的嵌入式外围设备有存储设备、通信设备、显示设备三类。 3.总线通常包括数据总线、地址总线、控制总线。 4.目前流行的嵌入式操作系统主要有:VxWorks、WinCE、Linux、pSOS。 5.嵌入式操作系统的调试一般包括:操作系统调试、应用程序调试。
问答题 1.嵌入式Linux与其他嵌入式操作系统相比,有哪些优点和缺点? 答案:嵌入式Linux作为嵌入式操作系统,与其他嵌入式操作系统相比,优点有:开放源代码、免费、开发周期短等;缺点是实时性较差。
2.高频硬件电路设计中电源线、地线的布线需要遵循哪些原则? 答案:在高频电路设计中,首先要注意电源的质量与分配,其次要注意信号线的分布和地线的布线,布线时最好使电源线、地线的走线方向与数据线的走线方向一致。
3.设计ARM硬件电路板一般有哪些特点和原则? 答案: (1)新型的和适合应用场合的ARM提高系统的程序效率; (2)低功耗器件和贴片封装,降低功耗和提高抗干扰; (3)通用型平台,减小开发成本和开发周期; (4)充分利用富余端口,有利于产品的升级; (5)单芯片解决方案; (6)LED方便调试。
第5章:
填空题 1.电子设备电源系统包括:交流电源、直流电源。 2.ARM处理器工作状态主要有运行、睡眠、空闲模式。 3.IC芯片工作一般供电电压有:5V、3.3V、2.5V、1.8V。 4.布线时,电源线、信号线、地线线宽大小一般为:地线>电源线>信号线。
问答题 1.软启动状态对ARM处理器有什么作用? 答案:软启动时,处理器被复位,但是SDRAM里面的内容仍旧保持。
2.在ARM硬件系统中,最耗电的模块是什么? 答案:显示设备的耗电最多,如TFT LCD/LED。
3.数字接地与模拟接地一般如何区分开和相连? 答案:系统中的模拟电源一般由数字电源产生,可以通过: (1)数字电源与模拟电源,以及数字地与模拟地之间加铁氧体磁珠或电感构成无源滤波电路; (2)采用多路稳压器的方法将模拟地和数字地连接。
第6章:
填空题 1.作为高速缓存的存储器主要有SRAM、DRAM、Flash ROM。 2.动态RAM有SDRAM、DDR。 3.ARM有从外部SDRAM启动的外启动和从片上ROM启动的内启动两种启动方式。
问答题 1.简述SDRAM在ARM系统中的主要作用。 答案:SDRAM具有高速、大容量等优点,是一种具有同步接口的高速动态随机存储器,在ARM系统中主要用作程序的运行空间、数据及堆栈区。
2.区别ARM外启动方式和内启动方式的不同。 答案:外启动方式下,ARM从外部程序存储器取指令执行;内启动时,ARM运行片上ROM中固化的启动程序。
第7章:
填空题 1.Nand-Flash闪存每个块的最大擦写次数是100万次,而Nor的擦写次数是10万次。 2.MTD核心层分为:用户模块接口层、MTD抽象层、MTD设备驱动模块层。 3.Nor-Flash常用于存放系统代码,而Nand-Flash存放用户信息。
问答题 1.简述嵌入式设备中程序运行方式。 答案:嵌入式设备中程序运行方式有两种:一种是将程序加载到SDRAM中运行,另一种是程序直接在其所在的ROM/Flash存储器中运行。
2.与SDRAM相比,Flash在ARM系统中的主要作用是什么? 答案:Flash存储器常当作硬盘使用,而SDRAM则类似内存,Flash用于存放程序代码、常量表,以及一些在系统掉电后需要保存的用户数据等。
3.在读写数据速度上,Nor-Flash与Nand-Flash有什么区别? 答案:Nor-Flash的读取速度比Nand-Flash快;Nand-Flash的写入速度和擦除速度比Nor-Flash快。
第8章:
填空题 1.Linux设备可分为字符设备、块设备、网络设备三种。 2.GPIO支持中断、查询、DMA三种数据传输方式。 3.GPIO驱动可以以两种方式编译:一种是静态编译进内核,另一种是编译成模块动态加载。
问答题 1.Linux系统下字符设备和块设备的主要区别是什么? 答案:主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O就紧接着发生了。块设备则利用一块系统内存作为缓冲区,当用户进程对设备请求能满足用户的要求时,就返回请求的数据;如果不能,就调用请求函数来进行实际的I/O操作。
2.Linux系统的设备驱动功能有哪些? 答案:设备驱动的功能有: ? 对设备初始化和释放; ? 把数据从内核传送到硬件和从硬件读取数据; ? 读取应用程序传送给设备文件的数据和回送应用程序请求的数据; ? 检测和处理设备出现的错误。
3.简述开发GPIO的具体步骤。 答案:具体步骤是: ? 模块化驱动程序; ? 在内核空间申请和释放内存; ? 分配字符设备主设备号和子设备号; ? 在内核空间注册与注销; ? 在内核空间提供系统调用函数。
第9章:
填空题 1.ARM内核支持7种中断,分别是:复位、未定义指令、软件中断、指令预取中止、数据中止、外部中断请求、快速中断请求。 2.ARM的主要中断寄存器包括:中断挂起寄存器、中断屏蔽寄存器、中断优先级寄存器、中断偏移寄存器等。 3.ARM硬件中断主要有:定时器中断、串口输入/输出中断、接口中断、链路中断等4种。
问答题 1.区别ARM几种硬件中断的不同功能。 答案:它们的区别如下: ? 定时器中断模块主要是为操作系统提供时钟基准; ? 串口输入和输出中断模块主要给用户提供接口,方便程序的下载与调试; ? 接口中断模块负责每2ms与总线上其他板卡通信一次; ? 链路中断模块也是每隔一段时间处理一次链路的数据,它的任务最重。
2.如何通过合理存放数据提高中断处理速度? 答案:将中断处理尽可能搬到内部RAM或SDRAM。中断处理函数代码放在Flash中,数据放在SDRAM中。通过改变编译配置,将所有的中断处理函数都拷贝到ARM内部RAM或者SDRAM中。
第10章:
填空题 1.ARM处理器复位源有上电复位、外部硬复位、内部硬复位、JTAG复位、外部软件复位、内部软件复位。 2.按复位信号是否与时钟信号同步,可分为:同步复位、异步复位。
问答题 1.简要叙述复位控制器的功能。 答案:复位控制器的功能是确定复位原因,同步复位模块,并且复位相应片内的逻辑模块。
2.如何确保复位电路的可靠复位? 答案:一方面复位低电平时间足够长(20ms以上),保证ARM可靠复位;另一方面保证复位电路稳定性良好,防止ARM误复位。
第11章:
填空题 1.常用的A/D转换器有积分型、逐次逼近型、并行比较型、∑-△型、流水线型。 2.速度最快的A/D转换器是并行比较型ADC。 3.A/D转换可分为4个阶段,分别是:采样、保持、量化、编码。
问答题 1.简述各种A/D转换器的应用场合。 答案:积分型A/D转换器主要应用于低速、精密测量等领域;逐次逼近型A/D转换器适用于中速率而分辨率要求较高的场合;并行比较A/D转换器适用于速度要求特别高的领域,如视频A/D转换;∑-△型调制型A/D转换器主要应用于高精度数据采集系统,特别是数字音响系统、多媒体、地震勘探仪器、声纳等电子测量等领域;流水线型A/D转换器主要应用于对频域特性要求较高的通信系统,对噪声、带宽和瞬态速度等时域特性要求较高的CCD成像系统,以及对时域和频域特性都要求较高的数据采集系统。
2.列举两种不同工作方式下的D/A转换器。 答案:直接D/A转换器直接将输入的数字信号转换为输出的模拟信号;而间接D/A转换器是先将输入的数字信号转换为某种中间量,然后再将这种中间量转换成为输出的模拟量。
第12章:
填空题 1.黑白LCD每像素2位相当于4级灰度,每像素4位相当于16级灰度;彩色液晶屏LCD每像素8位相当于256级颜色。 2.按显示方式分,LCD可分为:段位式LCD、字符式LCD、点阵式LCD。 3.一个汉字字模数据为32Bytes,而一个半角字符的字模数据为16Bytes。 4.液晶像素的两电极是:行电极、列电极。
问答题 1.LCD驱动程序的复杂程度主要体现在哪些方面? 答案:对内体现在内部RAM的大小、译码电路的复杂程度、内部的时序及电源电路等;对外体现在驱动行和列端口的多少、与ARM的接口功能等。
2.简述帧缓冲区(Frame-buffer)在LCD显示中的作用。 答案:用户可以将Frame-buffer看成是显示内存的一个映像,直接进行读写操作,而写操作可以立即反映在屏幕上,方便地实现视频显示。
第13章:
填空题 1.常用键盘接口可分为独立式按键接口、行列式接口、专用芯片式验证接口,其中PC键盘上常用的是行列式接口。 2.软件实现按键接口设计的方式有:中断、查询。
问答题 1.与其他方式相比,行列式键盘有哪些优缺点? 答案:行列式按键接口的优点是相对于独立接口方式可以节省很多I/O资源,相对于专用芯片键盘可以节省成本而且更为灵活。缺点是需要用软件处理消抖、重键等。它常用于按键数量较多,又不想使用专用键盘芯片的场合。
2.简述键盘扫描的过程。 答案:键盘扫描的过程是将列线逐列置成低电平,然后读取行线状态,直到行线中出现低电平,可知那一列是低电平,然后将行线与列线的状态装入键码寄存器,进行按键译码,得到按下的按键的相应编码,完成按键扫描。
第14章:
填空题 1.从广义的角度来说,数据通信方式可以分为并行通信、串行通信两大类,相应的通信线路分别称为并行总线、串行总线。 2.串行通信的两种基本工作方式为:异步串行通信、同步串行通信。标准异步串行通信(UART)接口有:RS-232C、RS-422、RS-485。 3.UART串行通信接口标准是RS-232C,它采用负逻辑来进行电平传输。
问答题 1.在选择通信方式时,需要考虑哪几个主要方面? 答案:一般情况下,在选择通信方式时,需要考虑以下几个主要方面。 ? 通信速率。标准通信接口都有相应的最大通信速率,即相应信道容量的最大值。 ? 通信距离。通信速率和通信距离两个物理参量互相依存,互相制约。适当地减小通信速率,可以在一定程度上增加通信的距离;相应的,在允许一定的误码率条件下,可以提高相应的通信速率。 ? 抗干扰能力。为保证一定的通信速率和一定的通信距离,需要相应的通信媒介和比较好的抗干扰能力,以降低误码率。在通信中,除了物理的抗干扰能力外,一般采用信道编码的方式来提高系统的抗干扰能力,从而保证信号的可靠性传输。
2.异步串行通信协议规定字符数据的传输规范,总结起来有哪几点? 答案:异步串行通信协议规定字符数据的传输规范,包括: ? 起始位。通信线上没有数据被传送时处于逻辑“1”状态,当发送设备要发送一个字符数据时,首选发送一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收机,接收设备检测到这个低电平后,就开始准备接收数据位信号。起始位所起的作用就是使设备同步,通信双方必须在传送数据位前一致同步。 ? 数据位。当接收设备收到起始位后,开始接收数据位。数据位的个数可以是59位,PC机中经常采用78位数据传送。在字符传送过程中,数据位从最低有效位开始传送,依次在接收设备中被转换为并行数据。 ? 奇偶校验位。数据位发送完毕后,为了保证数据的可靠性传输,常传送奇偶校验位。奇偶校验用于有限差错检测。如果选择偶校验,则数据位和奇偶位的逻辑“1”的个数必须为偶数;相反,如果是奇校验,则逻辑“1”的个数为奇数。 ? 停止位。在奇偶位或者数据位(当无奇偶校验时)之后发送停止位。停止位是一个字符数据的结束,可以是1~2位的低电平,接收设备收到停止位后,通信线路便恢复逻辑“1”状态,直到下一个字符数据的起始位到来。 ? 波特率设置。通信线路上传送的所有位信号都保持一致的信号持续时间,每一位的宽度都由数据的码元传送速率确定,而码元速率是单位时间内传送码元的多少,即波特率。
3.UART模块部分主要实现什么功能? 答案:UART模块部分主要实现计算机主机与ARM之间的数据传输。
第15章:
填空题 1.I2C采用两根I/O线是:SCL串行时钟线、SDA串行数据线。 2.I2C数据传输速率标准模式下为100Kbps,快速模式下为100Kbps,高速模式下为3.4Mbps。 3.串行存储器一般具有两种写入方式:字节写入方式、页写入方式。
问答题 1.简述I2C I/O的主要功能。 答案:串行时钟SCL用于产生器件所有数据发送或接收的时钟;串行数据/地址SDA用于传送地址和所有数据的发送或接收。
2.I2C的发送和接收是否在主模式或从模式下操作,取决于什么? 答案:取决于I2C芯片是否必须启动数据的传输还是仅仅被寻址。
第16章:
填空题 1.以太网接口电路主要由MAC控制器、物理层接口两大部分构成。 2.以太网控制器在半双工模式下,支持CSMA/CD协议;在全双工模式下支持IEEE802.3 MAC控制层协议。 3.以太网口的复位包括硬件复位和软件复位,第一次复位必须是硬件复位。
问答题 1.简述RTL8019的发送、接收数据的工作原理。 答案:在收到由主机发来的数据报后(从目的地址域到数据域),侦听网络线路。如果线路忙,就等到线路空闲为止,否则,立即发送该数据帧。 (1)发送过程中,首先添加以太网帧头(包括先导字段和帧开始标志),然后生成CRC校验码,最后将此数据帧发送到以太网上。 (2)接收过程时,将从以太网收到的数据帧在经过解码、去帧头和地址检验等步骤后缓存在片内。在通过CRC校验后,根据初始化配置情况,通知RTL8019收到了数据帧,最后,以某种传输模式传到ARM的存储区中。
2.如何判断网卡芯片是否工作正常? 答案:一是看状态指示LED是否有闪烁,二是用专业软件Sniffer监听到网卡是否不断发送数据包。
第17章:
填空题 1.USB系统包括USB互连、USB从端口、USB主端口三部分。 2.USB从端口包括USB集线器、功能设备两大类。 3.USB1.1支持1.5~12bps的传输速率,2.0标准支持120~240bps的传输速率。 4.USB支持同步、中断、控制、批量等四种传输模式。 5.USB驱动程序开发的工具主要有Windiver、Microsoft DDK、DriverStudio。
问答题 1.简述USB接口设备常用的应用场合。 答案:USB控制器的端口适用于不同类型的设备,例如图像、打印机、海量存储器和通信设备。
2.通过哪些类型的程序可以保证USB接口数据的正确传输? 答案:USB接口数据的正确传输依靠以下三个部分。 (1)从设备中的固件程序; (2)上位机中的驱动程序; (3)上位机中的应用程序。
3.简述USB的特点。 答案:USB的显著特点有: (1)高速数据传送; (2)高自由度连接/拓扑结构; (3)带电插拔/即插即用; (4)内置电源供给; (5)支持多种传输模式。
第18章:
填空题 1.每个以太网口上都有一个唯一的48位MAC地址与之对应。 2.RARP的主要任务是将MAC地址转换成对应的IP地址。 3.ARP中的硬件地址长度和逻辑地址长度为8和8bit。
问答题 1.数据链路层的主要作用是什么? 答案:数据链路层把上层数据封装成带有目的MAC地址的帧发出,并接收目的MAC地址的数据帧,然后拆封以太网报头再发往上层协议。
2.简述基于ARP和UDP的系统数据发送/接收流程。 答案:系统首先初始化网络及串口设备,当有数据从以太网传过来时,ARM对数据报进行分析,如果是ARP数据包,则转入ARP处理程序;如果是IP数据包且传输层使用UDP,端口正确,则认为数据报正确,数据解包后,将数据部分通过端口输出。反之,如果收到数据,则将数据按照UDP格式打包,送入以太网控制芯片,由其将数据输出到以太网中。
第19章:
填空题 1.Boot-loader两种不同的操作模式是启动加载模式、下载模式。 2.Boot-loader通过串口与PC进行传输,传输协议通常是xmodem、ymodem、zmodem协议之一。 3.Boot-loader目标代码是*.bin格式的文件。
问答题 1.简述ARM Linux内核启动三个阶段的功能。 答案:第一阶段主要是进行CPU和体系结构的检查、CPU本身的初始化,以及页表的建立等。初始化是从内核入口Entry开始到start_kernel前结束。 第二阶段主要是对系统中的一些基础设施进行初始化。 最后是更高层次的初始化,如根设备和外部设备的初始化。
2.ARM系统中Boot-loader的主要作用是什么? 答案:Boot-loader的作用与PC的BIOS类似,通过Boot-loader可以完成对ARM主要部件如CPU、SDRAM、Flash、串行口的初始化,同时下载文件到硬件板,对Flash进行擦除与编程。
3.Boot-loader的stage1和stage2的作用分别是什么? 答案:stage1主要完成:硬件设备初始化;为stage2准备RAM空间;拷贝stage2到RAM空间中;设置好堆栈;跳转到stage2的入口。 stage2主要完成:初始化硬件设备;检测系统内存映射;将kernel映像和根文件系统映像从Flash上读到RAM;为内核设置启动参数;调用内核。
第20章:
填空题 1.ARM Linux移植主要工作是把编译生成的Boot-loader、Kernel Image、Root File,并烧写到Flash中。 2.在PC上编译ARM运行的程序,需要交叉编译器。 3.Linux移植类型包括基于处理器的移植和基于平台的移植。 4.建立ARM编译环境的主要开发工具有binutils、gcc、glibc。
问答题 1.ARM Linux内核启动的主要工作包括哪些? 答案:完成Linux体系结构的初始化,内部中断、外部中断、软中断的初始化,以及与进程有关的初始化(计时器初始化、控制台初始化、内存模块初始化)。
2.简述ARM Linux三种主要编译开发工具的作用。 答案:二进制文件处理工具binutils主要应用于移植调试操作系统初期的辅助开发;编译工具gcc用于编译内核代码;glibc用于链接和运行库文件。
第21章:
填空题 1.Linux支持多种文件系统,包括:Romfs、Cramfs、JFFS、JFFS2。 2.JFFS2在Linux中一种是作为根文件系统,另一种是作为普通文件系统在系统启动后被挂载。 3.Linux源文件的树形结构可以分为4层:用户层、内核层、底层驱动、硬件驱动。 4.在页面管理中,每个页面上的数据由页头、页数据两部分组成。
问答题 1.Linux内核源程序的文件按树形结构是如何安排的? 答案: (1)arch子目录是所有和体系结构相关的核心代码; (2)include子目录是编译核心所需要的大部分头文件; (3)init目录包含kernel初始化代码; (4)mm目录是所有独立于CPU体系结构的内存管理代码; (5)kernel目录实现了大多数Linux系统的内核函数; (6)drivers目录是系统所有的设备驱动程序; (7)lib目录放置核心的库代码,net目录是核心与网络相关的代码,ipc目录包含核心的进程间通信的代码,fs目录为文件系统代码和各类型文件的操作代码。
2.嵌入式操作系统中如何衡量一个文件系统的指标? 答案: (1)可写性; (2)永久存储性; (3)掉电稳定性; (4)压缩性; (5)在RAM时间。
3.选择文件系统时,需考虑Flash存储器的哪些物理特性和使用特点? 答案:需要考虑以下几点: (1)Flash存储器中各个块的最大擦除次数是有限的,如果能够均匀地使用各个块,就能延长Flash的整体寿命,这就需要文件系统有磨损均衡的功能。 (2)为了提高Flash存储器的利用率,文件系统应该有对存储空间的碎片收集功能。 (3)考虑出现嵌入式系统意外掉电的情况,文件系统还应该有掉电保护的功能,保证系统在出现意外掉电时也不会丢失数据。
第22章:
填空题 1.常用的GUI图形开发界面主要有X Window、MicroWindows、OpenGUI、Qt/Embedded、MiniGUI、PicoGUI。 2.GUI图像环境开发的库文件需要Embedded Linux GUI Toolkit、Development Kit开发包。 3.Frame-buffer驱动程序保证ARM系统的LCD屏幕能显示内容。
问答题 1.简要描述Microwindows的3层分层式设计思想。 答案: (1)最底层是屏幕、鼠标或触摸屏和键盘的驱动程序,实现系统的显示功能以及,满足用户的输入需求。 (2)中间层是可移植的图形引擎,提供对画线、填充、剪切和着色的支持。 (3)最上层提供多种API应用程序。
2.在嵌入式系统中对GUI的基本要求是什么? 答案: (1)占用的存储空间以及运行时占用资源少。 (2)运行速度以及响应速度快。 (3)可靠性高。 (4)便于移植和定制。
第23章:
填空题 1.TCP/IP协议族包括:TCP、UDP、ICMP、IGMP、Telnet、FTP等协议。 2.系统在传输应用中三个任务是:网卡接收任务、TCP任务、UDP任务,任务之间可以切换。 3.UDP包头由4个域组成,每个域各占用2个字节。 4.TCP/IP协议大致可分为以下的层次:应用层、TCP/IP协议层、网卡驱动。 5.TFTP简单文件传输协议基于UDP传输层协议。
问答题 1.在什么场合下,选择UDP而非TCP? 答案:在需要通信的信息量比较小,而且通信环境可靠性比较好的场合下,不需要选择TCP而选择利用UDP,这样在软件设计上可以简化,硬件上可以节约成本。
2.UDP与TCP的主要区别是什么? 答案:UDP和TCP的主要区别是两者在如何实现信息的可靠传递方面不同。TCP协议中包含了专门的传递保证机制,而UDP协议并不提供数据传送的保证机制。
第24章:
填空题 1.音频信号压缩编码的标准主要有G.7xx系列、MPEG-x系列、AC-x系列。 2.音频编解码中常用的技术包括:AD/DA转换技术、压缩编码技术、数字信号处理技术、信道编码/调制技术。 3.经采样、编码但未压缩的语音信号(对应G.711编码)为:PCM。 4.公式 中, 代表采样率。 5.音频编码方法包括三大类:波形编码、参数编码、混合编码。 6.传输语音的格式一般有:IIS总线格式、MSB-Justified格式。 7.IIS总线传输方式一般有:正常传输模式、DMA传输模式、发送/接收模式。
问答题 1.列举一些音频编解码常用的实现方案。 答案: (1)采用专用的音频芯片如MP3编解码芯片,芯片集成音频编解码算法。 (2)利用A/D语音采集加计算机组成硬件平台,音频编解码算法由计算机上的软件来实现。 (3)使用A/D采集芯片加带ARM核的数据处理芯片。
2.音频编解码系统常用的应用领域有哪些? 答案:主要应用领域包括: (1)消费电子类数字音响设备。 (2)数字多媒体应用。 (3)广播数字电视系统。
第25章:
填空题 1.标准VGA显示器接口是15针D型接口,由R、G、B三色模拟信号线和行同步、场同步两个数字信号构成。 2.CIF图像为352×288大小格式(像素),QCIF图像为176×144大小格式(像素)。 3.YCbCr和YUV是基于亮度与色差的颜色空间,RGB则是基于红绿蓝三基色的颜色空间。
问答题 1.常用的视频监控系统有哪些实现方案? 答案:第一种方案是采用代理服务器方式;第二种方案是直接在处理器上实现TCP/IP协议方式;第三种方案是通过嵌入式操作系统上运行TCP/IP协议方式。
2.基于ARM的实时网络嵌入式监控系统有什么优点? 答案: (1)实时性好,能满足数据采集和数据处理的实时性要求。 (2)性价比高,在满足要求的情况下,系统成本应尽量低。 (3)可控性好,能够实现远距离控制和数据传输。
3.简述使用基于CMOS芯片的优点。 答案:CMOS技术的最大优点是每一个像素单元可以集成一个或多个晶体管,可以降低系统功耗、体积,提高电池效率。
第26章:
填空题 1.描述指纹特征点的4种特性有:位置、方向、分类、脊线。 2.指纹识别过程主要经过4个步骤:指纹图像的获取、指纹图像的预处理、指纹特征的提取、指纹特征匹配。 3.获取指纹图像的主要传感器设备有:光学取像设备、电容传感器。 4.指纹图像预处理一般要经过图像增强、计算方向图、二值化、细化等过程。
问答题 1.试举几个属于生物识别方面的身份认证技术。 答案:指纹识别、视网膜识别、虹膜扫描识别、手掌几何识别、声音识别、面部识别等。
2.描述指纹特征的总体特征和局部特征之间的区别。 答案:总体特征是指用人眼直接就可以观察到的特征,包括基本纹路图案、模式区、核心点、三角点、式样线和纹数等。局部特征是指指纹上的特征点,即指纹纹路上的终结点、分叉点和转折点。
0 评论:
发表评论