Tanxy's Blog

嵌入式系统复习题2017

选择题

1.在ARM Linux体系中,用来处理外设中断的异常模式是
A、软件中断(SWI)
B、未定义的指令异常
C、中断请求(IRQ)
D、快速中断请求(FIQ)

ARM微处理器工作模式可以分为两类,非特权模式、特权模式,除了用户属于非特权模式之外,其他都属于特权模式。其中除去用户模式和系统模式以外的6种又称为异常模式(Exception Modes),常用于处理中断或异常,以及需要访问受保护的系统资源等情况。
◎ usr(用户模式):正常程序(如应用程序)执行模式
◎ fiq(快速中断模式):用于高速数据传输或通道处理
◎ irq(外部中断模式):用于通常的中断处理
◎ svc(管理模式):操作系统使用的保护模式
◎ abt (数据访问终止模式): 当数据或指令预取终止时进入该模式,可用于虚拟存储及存储保护。
◎ und(未定义指令中止模式):当未定义的指令执行时进入该模式,可用于支持硬件协处理器的软件仿真。
◎ sys(系统模式): 运行具有特权的操作系统任务。
◎ mon(监控模式):可以在安全模式和非安全模式之间转换
看书P14

2.ARM公司是专门从事
A、基于RISC技术芯片设计开发
B、ARM芯片生产
C、软件设计
D、ARM芯片销售

ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产, 靠转让设计许可由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。
看书P2

3.在所有工作模式下,( )都指向同一个物理寄存器,即各模式共享。
A、R0-R7
B、R0-R12
C、R8-R12
D、R13,R14

r0-r7是未分组寄存器。对于未分组寄存器,在所有的工作模式下,寄存器均指向同一个物理寄存器。该类寄存器没有被系统用于特殊用途。
看书P20

4.当异常发生时,寄存器( )用于保存CPSR的当前值,从异常退出时则可由它来恢复CPSR.
A、SPSR
B、R13
C、R14
D、R15

CPSR:程序状态寄存器(current program status register) ,cpsr在用户级编程时用于存储条件码。CPSR包含条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息。
SPSR:程序状态保存寄存器。SPSR用于保存CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
看书P21-22

5.能实现把立即数0X3FF5000保存在R0中的指令是
A、LDR R0, = 0X3FF5000
B、LDR R0, 0X3FF5000
C、MOV R0, 0X3FF5000
D、MOV R0, =0X3FF5000

ARM中MOV与LDR的区别
数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令。
mov只能在寄存器之间移动数据,或者把立即数移动到寄存器中
还有一个就是ldr伪指令,虽然ldr伪指令和ARM的ldr指令很像,但是作用不太一样。ldr伪指令可以在立即数前加上=,以表示把一个地址写到某寄存器中,比如: ldr r0, =0x12345678
看书P64、P74

6.能实现把立即数0X3FF5000保存在R0中的指令是
A、LDR R0, = 0X3FF5000
B、LDR R0, 0X3FF5000
C、MOV R0, 0X3FF5000
D、MOV R0, =0X3FF5000

与上题相同

7.在嵌入式Linux开发系统,微机与开发版通过串口连接,主要是用于
A、下载应用程序
B、下载操作系统映像文件
C、实现BootLoader的人机操作界面
D、实现应用程序的人际操作界面

串口连接: 在计算机上我们可以通过显示器的显示判断,计算机的运行状态,通过鼠标和键盘输入完成用户与计算机的交互;在开发板使用和调试过程中,并不是一定会有显示屏和键盘 的存在,所以我们使用串口来实现开发板信息的输出和输入,串口"扮演"开发者与开发板之间通讯的桥梁。

8.指令MSR CPSR_C,R0实现的功能是
A、传送R0的内容到CPSR中,更新CPSR
B、传送R0的内容到CPSR中,但仅修改其控制
C、传送CPSR的内容到R0
D、传送CPSR的控制域内容到R0

ARM每种工作模式除R0~R15共16个寄存器外,还有第17个寄存器CPSR,叫做 “当前程序状态寄存器”,CPSR中一些位被用于标识各种状态,一些位被用于标识当前处于什么工作模式。
MSR和MRS指令介绍,详情参考🔗--> 汇编指令-MRS(读)和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用

MRS 指令: 对状态寄存器CPSR和SPSR进行读操作。通过读CPSR可以获得当前处理器的工作状态。读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有SPSR寄存器)。
MSR指令: 对状态寄存器CPSR和SPSR进行写操作。与MRS配合使用,可以实现对CPSR或SPSR寄存器的读-修改-写操作,可以切换处理器模式、或者允许/禁止IRQ/FIQ中断等。

9.在ARM体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor),应采用( )方法。
A、直接修改CPU状态寄存器(CPSR)对应的模式
B、先修改程序状态备份寄存器(SPSR)到对应的模式,再更新CPU状态
C、使用软件中断指令(SWI)
D、让处理器执行未定义指令

10.在ARM体系中,用来处理外设中断的异常模式是
A、软件中断(SWI)
B、未定义的指令异常
C、中断请求(IRQ)
D、快速中断请求(FIQ)

与第一题相同

11.在下列ARM处理器的各种模式中,只有( )模式不可以自由地改变处理器的工作模式。
A、用户模式(User)
B、系统模式(System)
C、终止模式(Abort)
D、中断模式(IRQ)

用户模式说明 :
( 1 ) 应用运行 : 绝大多数 应用程序都运行在用户模式 ( User ) 下;
( 2 ) 资源限制 : 在 ① 用户模式下, 应用无法访问受保护的系统资源 , ② 系统资源的使用 是在操作系统的控制下;
( 3 ) 无法修改模式 : 在 用户模式 下, 应用也无法修改 处理器 的工作模式 ;
详情参考🔗-->
ARM 处理器工作模式及修改方法

12.ARM嵌入式系统中,PC指向的是正在( )的指令地址。
A、执行
B、译码
C、取指
D、都不是

详情参考🔗--> arm的PC指针指向何方

13.实时系统是指
A、响应快的系统
B、时间约束的系统
C、单任务系统
D、内核小的系统

一个实时系统是指计算的正确性不仅取决于程序的逻辑正确性,也取决于结果bai产生的时间,如果系统的时间约束条件得不到满足,将会发生系统出错。
所谓“实时”,是表示“及时”,而实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。

14.存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为
A、0x21
B、0x68
C、0x65
D、0x02

如果没看懂题目没关系,大概意思就是将一个32位数0x2168465(前面省略了个0,总共是8*4 = 32位数)存到四个单元里面 那么实际上就是 02 | 16 | 84 | 65 ,分别存在四个字节单元里面。
只需要记住:
1.在前面的是高字节即(02),在后面的是低字节(即65);
2.大端存储是高字节存储在低地址中,即存在2000H的单元的是0x02;
3.小端存储是低字节存储在低地址中,即存在2000H的单元的是0x65;

小端格式是低字节存储在低地址中 大端高字节存储在低地址中。
参考 或者 看书本P14

15.ARM汇编语句“ADD R0, R2, R3, LSL#1”的作用是
A. R0 = R2 + (R3 << 1)
B. R0 =( R2<< 1) + R3
C. R3= R0+ (R2 << 1)
D. (R3 << 1)= R0+ R2

本题涉及到的汇编指令有:
1.加法指令 ADD(Addition)
格式: ADD A,B //A=A+B;
功能: 两数相加
2.LSL #n 逻辑左移n 位(1≤n≤31); (左移一位相当于乘以2,(在二进制种))
那么题中就应该是 R0=R2+(R3 << 1)也可以写为 R0=R2+R32
同理例子:
R0=R1+R2
4 其实就是ADD R0,R1,R2, LSL #2

详情参考🔗-->ARM指令集详解 或者看书P64

18.嵌入式系统由硬件和软件部分构成,以下( )不属于嵌入式系统软件。
A. 系统软件
B.驱动
C. FPGA编程软件
D. 嵌入式中间件

嵌入式系统软件组成:
1)应用程序
2)应用程序接口函数库
3)文件系统、图形用户界面、网络协议栈
4)操作系统
5)引导加载程序、驱动程序
引申:除了操作系统、设备驱动程序和应用软件之外的系统软件称为中间件
详情参考🔗-->嵌入式系统软件

19.和PC机系统相比,下列哪个不是嵌入式系统独具的特点
A、系统内核小
B、专用性强
C、可执行多任务
D、系统精简

与个人计算机(PC)这样的通用计算机系统不同, 嵌入式系统通常执行的是带有特定要求的预先定义的任务。

详情参考🔗-->链接!

20.每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是
A. 嵌入式Linux提供了完善的网络技术支持;
B. µCLinux是专门为没有MMU的ARM芯片开发的;
C. µC/OS-Ⅱ操作系统是一种实时操作系统(RTOS);
D. WinCE提供完全开放的源代码。

21.下列关于存储管理单元(MMU)说法错误的是
A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。
B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。
C. MMU提供了一些资源以允许使用虚拟存储器。
D. MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。

书本P17
“在带MMU的操作系统控制下,运行的任务无须!无须!知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计”

22.下列CPSR寄存器标志位的作用说法错误的是
A. N:负数
B. Z: 零
C. C: 进位
D. V: 借位

CPSR中的条件标志位及判断:
N (Negative) 、Z (Zero)、C (Carry) . V (oVerflow)统称为条件标志位。这些条件标志位会根据程序中的算术指令或逻辑指令的执行结果进行修改
1、符号标志位N
2、零标志位Z
3、进位、借位标志C
4、溢出标志位V

详情参考🔗-->详解CPSR寄存器(ls_core) 或者看书P22-23

23.S3C2410X处理器为用户进行应用设计提供了支持多主总线的IIC接口。处理器提供符合IIC协议的设备连接的串行连接线为
A. SCL和RTX
B. RTX和RCX
C. SCL和SDA
D. SDA和RCX

24.LDR R2,[R3,#128] 的寻址方式是
A.寄存器寻址
B. 寄存器移位
C. 变址寻址
D. 间接寻址

详情参考🔗-->ARM 指令中的寻址方式 或者看书P84

25.对ARM处理器说法不正确的是
A、小体积、低功耗、低成本、高性能
B、支持Thumb(16位)/ARM(32位)双指令集
C、只有Load/Store指令可以访问存储器
D、寻址方式多而复杂

寻址方式灵活简单,执行效率高!!看书P2下面

26.如果Boot Loader、内核、启动参数以及其他的系统映像四部分在固态存储设备上分别独立存放,则其存储结构的分配顺序应当是:
A、 文件系统、内核、启动参数、Bootloader
B、 启动参数、Bootloader、内核、文件系统
C、 Bootloader、内核、启动参数、文件系统
D、 Bootloader、启动参数、内核、文件系统

27.下面关于哈佛结构描述正确的是
A、程序存储空间与数据存储空间分离
B、存储空间与IO空间分离
C、程序存储空间与数据存储空间合并
D、存储空间与IO空间合并

哈佛结构(Harvard architecture)是一种将程序指令储存和数据储存分开的存储器结构。
冯.诺伊曼结构(von Neumann architecture),也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的电脑设计概念结构。

详情参考🔗-->哈佛结构和冯·诺依曼结构的区别

28.Thumb状态下SP映射到ARM状态
A、R13
B、 R14
C、R15
D、 R7

1)Thumb 状态寄存器集是ARM 状态寄存器集的子集,程序员可直接访问8 个通用寄存器R0~R7、PC、堆栈指针SP、链接寄存器LR和CPSR。每个特权模式都有分组的SP、LR和SPSR。
2)Thumb状态寄存器与ARM 状态寄存器的关系
◎Thumb状态R0~R7与ARM状态R0~R7相同。
◎Thumb状态CPSR和SPSR与ARM状态CPSR和SPSR 相同。
◎Thumb状态SP映射到ARM状态R13。
◎Thumb状态LR映射到ARM状态R14。
◎Thumb状态PC映射到ARM状态PC(R15)。

29.指令“LDMIA R0!, {R1, R2, R3, R4}”的寻址方式为
A、立即寻址
B、寄存器间接寻址
C、多寄存器寻址
D、堆栈寻址

详情参考🔗-->ARM 指令中的寻址方式 或者看书P84

30.能实现把立即数 0X3FF5000 保存在 R0 中的指令是
A、 LDR R0, 0X3FF5000
B、 LDR R0, =0X3FF5000
C、 MOV R0, 0X3FF5000
D、 MOV R0, =0X3FF5000

和第六题相同

31.在所有工作模式下,( )都指向同一个物理寄存器,即各模式共享
A、R0-R7
B、R0-R12
C、R8-R12
D、R13,R14

和第三题相同,看书P20

32.下面关于冯洛伊曼式结构描述正确的是( )
A、程序存储空间与数据存储空间分离
B、存储空间与IO空间分离
C、程序存储空间与数据存储空间合并
D、存储空间与IO空间合并

参考第二十七题

33.存储一个32位的数0X20150521到2000H~2003H单元中,以大端格式进行存储,那么2000H中的值是
A、0X20H
B、0X15H
C、0X05H
D、0X21H

参考第十四题

34.( ) 模式具有自己独立的R8—R14寄存器。
A、SVC
B、FIQ
C、ABT
D、UND

寄存器R8-R12为两个分组的物理寄存器。
a.FIQ拥有自己独立的R8~R12的通用寄存器。
b.其他六种处理器模式共享R8~R12的通用寄存器
注:寄存器R8~R12在ARM体系结构中没有特定的用途。
给FIQ单独的R8~R12可实现快速的中断处理(在发生FIQ中断后,处理器不用为了保护寄存器而浪费时间,从而提高了FIQ的处理速度)
详情参考🔗-->ARM汇编之寄存器

35.按照ARM过程调用标准(ATCPS),堆栈指针使用( )寄存器。
A、R0
B、R14
C、R13
D、R15

36.嵌入式系统软件开发一般是在宿主机上进行,在目标机上运行,因此需要一个( )环境。
A、交互平台
B、交叉编译
C、交互操作系统
D、分布式计算

37.在 ARM 体系结构中,要从主动用户模式(User)切换到超级用户模式(Supervisor) ,应采用( )方法。
A、 直接修改 CPU 状态寄存器(CPSR)对应的模式
B、 先修改程序状态备份寄存器(SPSR)到对应的模式,再更新 CPU 状态
C、 使用软件中断指令(SWI)
D、 让处理器执行未定义指令

39、以下哪项关于SRAM和DRAM的区别是不对的
A、 SRAM比DRAM慢
B、SRAM比DRAM耗电多
C、 DRAM存储密度比SRAM高得多
D、DRM需要周期性刷新

DRAM
利用MOS管的栅电容上的电荷来存储信息,一旦掉电信息会全部的丢失,由于栅极会漏电, 所以每隔一定的时间就需要一个刷新机构给这些栅电容补充电荷,并且每读出一次数据之后也需要补充电荷,这个就叫动态刷新,所以称其为动态随机存储器。 由于它只使用一个MOS管来存信息,所以集成度可以很高,容量能够做的很大。SDRAM比它多了一个与CPU时钟同步。
SRAM 利用寄存器来存储信息,所以一旦掉电,资料就会全部丢失,只要供电,它的资料就会一直存在,不需要动态刷新,所以叫静态随机存储器。 以上主要用于系统内存储器,容量大,不需要断电后仍保存数据的。
总结一下:
SRAM成本比较高
DRAM成本较低(1个场效应管加一个电容)
SRAM存取速度比较快
DRAM存取速度较慢(电容充放电时间)
SRAM一般用在高速缓存中
DRAM一般用在内存条里

40、下面哪个选项不是USB设备的特点
A、串行通信方式
B、不可热拨插
C、分HOST、DEVICE和HUB
D、通信速率比RS232快

41、在所有工作模式下,( )都指向同一个物理寄存器,即各模式共享。
A、R0-R7
B、R0-R12
C、R8-R12
D、R13,R14

和上面某一题相同

42、嵌入式系统最常用的数据传输方式
A、中断
B、查询
C、DMA
D、IO机

43.寄存器R15除了可以做通用寄存器外,还可以做
A.程序计数器
B.链接寄存器
C.堆栈指针寄存器 D.基址寄存器

见第35题的图

44.寄存器R13除了可以做通用寄存器外,还可以做
A、程序计数器
B、链接寄存器
C、栈指针寄存器
D、基址寄存器

见第35题的图,或者看书P21

45.嵌入式操作系统一般通过( )手段来解决代码体积与嵌入式应用多样性的问题
A、使用可定制的操作系统
B、将操作系统分布在多个处理器上运行
C、增大嵌入式设备的存储容量
D、使用压缩软件对操作系统进行压缩

填空题

  1. 从广义的角度来说,数据通信方式可以分为___并行通信___和___串行通信___两大类 (P142)
  2. 嵌入式系统开发一般采用___宿主机___,目标机方式。
  3. 总线通常包括___数据总线___、___地址总线___和___控制总线___。
  4. IC芯片工作一般供电电压有:___1.8V___、___2.0V___、___3.3V___、___5V___。
  5. 串行通信的两种基本工作方式为:___异步串行___和__同步串行____。 标准异步串行通信(UART)接口有: ___RS-232C___、___RS-422___和___RS-485___。
  6. UART串行通信接口标准是___RS-232___,它采用___负___逻辑来进行电平传输。
  7. I2C采用两根I/O线是:___SCL串行时钟线___和___SDA串行数据线___。
  8. Linux系统中,命令提示符分为普通用户和管理员用户两种,普通用户的命令提示符使用___$___, 管理员用户的命令提示符是 ___#___。
  9. ARM微处理器在较新的体系结构中支持两种指令集:___ARM指令___、___Thumb指令___,状态寄存器CPSR的___T___ 位反映了处理器运行不同指令的当前状态。(P23 CPSR控制位)
  10. ARM处理器有9种基本寻址方式,分别是:___寄存器寻址___、___立即寻址___、___寄存器移位寻址___、 ____寄存器间接寻址___、 ___变址寻址____、 ___多寄存器寻址___、 ___堆栈寻址___、 ___块复制寻址___ 、 ___相对寻址___ 。
  11. ARM指令集可以分为6类,分别是:___跳转指令___ 、 ___数据处理指令___ 、 ___程序状态寄存器(PSR)传输指令___ 、 ___Load/Store指令___ 、___协处理器指令___、___异常中断产生指令___。

ARM指令的条件码位于指令的 ___最高4([31:28])___,每种条件码可用 ___2___ 个字符来表示,可添加在指令助记符的后面和指令同时使用。 12. 在ARM的汇编程序中,有如下几种伪指令:___符号定义伪指令___、___数据定义伪指令___、___汇编控制伪指令___、 ___宏指令___、___其他伪指令___。 13. 汇编语言与C/C++的混合编程通常有以下几种方式:___在C/C++代码中嵌入汇编指令___、 ___从汇编程序中访问C程序变量___ 、 ___汇编程序、C/C++程序间的相互调用___。 ATCPS规则中,参数传递使用 ___R0___ 和 ___R3___ 传递。 14. 在线仿真包括3个过程:___装载映像文件___、___程序执行___、___查看寄存器和内存空间___。 15. 串行通信方式有三种: ___单工___通信、 ___双工___ 通信和 ___半双工___ 通信。 16. 某数码相机内置128MB的存储空间,拍摄分辨率设定为1600×1200像素,颜色为24位,若不采用压缩技术,使用内部存储器最多可以存储 ___23___ 张照片,该相机最多支持 ___ 224 ___ 种色彩。

24位图像是典型的JPG图片,RGB各占8位,合计3字节,每个通道值0~255共256个灰阶。未经压缩的图片大小=160012003=5760000字节(5.4932M), 128 / 5.4932=23张

17. ___Bootloader___ 主要功能是系统初始化、加载和运行内核程序。 18. 在宿主机上使用编译器软件将嵌入式应用、嵌入式操作系统编译成为可以在目标机上运行代码的过程,称为 ___交叉编译___, 而采用的编译器称为 ___交叉编译器___。 19. ARM 系列微处理器支持的数据类型有:___字节___、___半字___ 和 ___字___ 等三种类型。 20. 采用 RS232C 实现最简单的双机互联,至少需要如下信号线:___TXD___、___RXD___ 和 ___GND___。 21. 在ARM汇编语言中,以程序段为单位来组织代码,段可以分为 ___代码段___ 和 ___数据段___ 。

程序题

1.写一条 ARM 指令,完成操作r1 = r2 * 4(4分)
MOV R1,R2, LSL #2

2.写一条 ARM 指令,完成操作r1 = r2 * 3(4分)
答:ADD R1,R2,R2, LSL #1

3. 初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #1后,寄存器R0,R1的值分别是多少?(4分)
答:R0=21H,R1=23H

4.说明指令STMIA r12!, {r0-r11}的操作功能。(4分)
答:将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的操作方式是先操作、后增加,并更新地址。

P87有例子,这是块拷贝寻址指令!

5. 初始值R2=5,R3=4,R4=3,执行指令SUBS R2,R3,R4,LSR #2后,寄存器R2,R3的值分别是多少?(4分)
答:R2=4,R3=4

指令的意思是 R2 = R3 - (R4>>2) 也就是 R2 = R3 - R4/4 = 4 - 3 / 4 = 4

  1. 实验一 ARM汇编与C语言的相互调用实验

  2. 实验二 GPIO控制与PWM 蜂鸣器实验

简答题

1.目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
答:Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、iOS任选六

2. 嵌入式开发环境主要包括哪些组件?
答:嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括: 宿主机 、目标机(评估电路板) 、基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE、运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境、嵌入式操作系统。

3. 嵌入式系统的BooTLoader的功能是什么?
答: BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。)

4. 嵌入式系统开发的基本流程
答:
1)系统定义与需求分析;
2)系统设计方案的初步确立;
3)初步设计方案性价比评估与方案评审论证;
4)完善初步方案、初步方案实施;
5)软硬件集成测试;
6)系统功能性能测试及可靠性测试。

5. ARM核中什么寄存器用于存储PC?R13通常用来存储什么?R14通常用来存储什么?
答:R15用于程序计数寄存器PC,R13通常用来做堆栈指针寄存器,R14通常用来做链接寄存器,保存函数调用的返回地址

6. Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?
答: Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过 Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调整好适当的系统软硬件环境。

7. 嵌入式系统设计的特点有哪些?
答:嵌入式系统通常是面向特定应用的系统、量体裁衣,高效设计、嵌入式系统设计需要交叉开发环境、嵌入式系统的程序需要固化、嵌入式系统的软件开发难度较大、嵌入式需要强大的硬件开发工具和软件包的支持。

8. 当一个异常出现以后,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从相关的异常向量地址取下一条指令执行,从而跳转到相应的异常处理程序处。

9. 异步串行通信协议规定字符数据的传输规范,总结起来有哪几点?
答:异步串行通信协议规定字符数据的传输规范,包括:
◎起始位。通信线上没有数据被传送时处于逻辑“1”状态,当发送设备要发送一个字符数据时,首选发送一个逻辑“0”信号,这个逻辑低电平就是起始位。起始位通过通信线传向接收机,接收设备检测到这个低电平后,就开始准备接收数据位信号。起始位所起的作用就是使设备同步,通信双方必须在传送数据位前一致同步。
◎数据位。当接收设备收到起始位后,开始接收数据位。数据位的个数可以是5~9位,PC机中经常采用7~8位数据传送。在字符传送过程中,数据位从最低有效位开始传送,依次在接收设备中被转换为并行数据。
◎奇偶校验位。数据位发送完毕后,为了保证数据的可靠性传输,常传送奇偶校验位。奇偶校验用于有限差错检测。如果选择偶校验,则数据位和奇偶位的逻辑“1”的个数必须为偶数;相反,如果是奇校验,则逻辑“1”的个数为奇数。
◎停止位。在奇偶位或者数据位(当无奇偶校验时)之后发送停止位。停止位是一个字符数据的结束,可以是1~2位的低电平,接收设备收到停止位后,通信线路便恢复逻辑“1”状态,直到下一个字符数据的起始位到来。
◎波特率设置。通信线路上传送的所有位信号都保持一致的信号持续时间,每一位的宽度都由数据的码元传送速率确定,而码元速率是单位时间内传送码元的多少,即波特率。

10. 简述什么是小端存储格式?什么是大端存储格式?
答:
小端存储格式:较高的字节存放在较高的存储器地址,较低字节存放在较低的存储器地址;
大端存储格式:较高的字节存放在较低的存储器地址,较低字节存放在较高的存储器地址。

11. 嵌入式系统的软件层次结构包括哪些部分?简单说明各部分的功能与作用。
答:
驱动层程序、操作系统、应用程序接口和应用程序。
驱动层程序:为上层软件提供设备的操作接口。
操作系统:进程管理、进程间通信、内存管理等。
应用程序接口:复杂函数和数据结构的集合,简化应用程序的开发。
应用程序:实现用户功能。

12. 嵌入式系统有什么特点?
答: 完成某一项或有限项功能;
在性能和实时性方面有严格的限制;
能源、成本和可靠性通常是影响设计的重要因素;
占有资源少、易于连接;
系统功能可针对需求进行裁剪、调整,以便满足最终产品的设计要求。

13. 嵌入式系统同通用型计算机系统相比具有哪些特点?
答:
用于特定的任务(专用的计算机系统)
比通用PC系统资源少
极其关注成本、大多有功耗的要求、集成度高体积小
运行环境广泛
软件硬件可靠性要求更高(具有系统测试和可靠性评估体系)
相关产品具有较长的生命周期
软件要求固态化存储 (ROM、EPROM、EEPROM或FLASH)
有实时的要求(使用RTOS)
需要专用开发工具和方法进行设计
片上包含专用调试电路

14. 分析嵌入式系统应用领域。
答:
家用市场:机顶盒、掌上电脑、DVD、MP3、数码相机、数字电视、WebTV、网络冰箱、网络空调、家庭网关、智能家用电器、车载导航器系统,机器人等
通信市场:电话交换系统,电缆系统,卫星和全球定位系统(L3D),数据交换设备,移动电话等
工业市场:制造工厂,污水处理系统,发电站和电力传输系统,自动化工厂,控制系统开发,维护和测试的工具,石油提炼和相关的贮运设施,建筑设备,计算机辅助制造系统,能源控制系统,核电站,机器人系统等
商业和金融市场:自动柜员机,信用卡系统,售货端系统,安全系统等
办公市场:网络可视电话系统,传真系统,复印机,计时系统照相机,摄象机
运输市场:航空、铁路、公路运输系统,燃料服务,航空管理,信令系统,雷达系统,交通指挥系统,停车系统,售票系统,乘客信息系统,检票系统,行李处理系统,应急设备等
建筑市场:电力供应,备用电源和发电机,火警控制系统,供热和通风系统,电梯和升降系统,车库管理,安保系统,电子门锁系统,楼宇管理系统,闭路电视系统,电子保险柜,警铃等
医疗市场:心脏除颤器,心脏起搏器,患者信息和监视系统,MN光设备,理疗控制系统,电磁成像系统等
军事工业:武器控制,夜视扫描,全球定位,指挥通讯
航空航天:火箭发射的主控系统,卫星信号测控系统,飞机上的飞控系统,瞄准系统,自动环境感知,实时视频拍摄,数据采集等。

#qimi