嵌入式系统.docx
《嵌入式系统.docx》由会员分享,可在线阅读,更多相关《嵌入式系统.docx(21页珍藏版)》请在冰豆网上搜索。
![嵌入式系统.docx](https://file1.bdocx.com/fileroot1/2023-8/5/db4f6f33-c283-4047-bbcd-7c8f527190c5/db4f6f33-c283-4047-bbcd-7c8f527190c51.gif)
嵌入式系统
《ARM嵌入式系统》复习
一、填空题
1、一般而言,嵌入式系统的构架可以分为4个部分:
处理器、(存储器)、输入/输出和软件,一般软件亦分为(操作系统)和应用软件两个主要部分。
2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(嵌入式微控制器),嵌入式DSP,(嵌入式微处理器)以及片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、(进程间通信)、(内存管理)、I/O资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(分时操作系统),其中实时系统亦可分为(硬实时操作系统)和软实时系统。
5、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式机)。
6、哈佛体系结构数据空间和地址空间(分开),ARM920T采用(哈佛体系)的内核架构。
7.ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5)级流水线。
8、ARM9TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器Multiplier,I表示(嵌入式ICE),支持在线断点和调试。
9.嵌入式系统是以(应用)中心,以计算机技术为基础,(软件硬件)可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的(专用计算机)系统。
10.在嵌入式系统设计过程中,需求分析包括:
(功能性需求分析)和(非功能性需求分析)。
11.ARM字数据存储格式有:
(大端格式)和(小端格式)。
12.总线按照传输关系分类可分为:
(主从结构)和(对等结构)。
13.RS-232C的帧格式由四部分组成,包括:
起始位、(数据位)、奇偶校验位和(停止位)。
14.USB低速设备应该在(D-线)上接一个上拉电阻,全速设备应该在(D+线)上接一个上拉电阻。
15.I/O接口电路数据传送方式有:
(查询)、(中断)、DMA、I/O通道和I/O处理机方式。
实时系统的关键问题是保证系统的实时性;实时操作系统就是指具有实时性、能支持实时系统工作的操作系统。
16.ARM微处理器有七种工作模式,它们分为两类(非特权模式)、(特权模式)。
其中用户模式属于(非特权模式)
17.ARM核有两个指令集,分别是(ARM)、(Thumb)
18.ARM微处理器复位后,PC(R15)的地址通常是(0X0),
初始的工作模式是(管理模式)
二、选择题
1.在嵌入式ARM处理器中,下面哪种中断方式优先级最高。
(A)
A.ResetB.数据中止C.FIQD.IRQ
2.NANDFLASH和NORFLASH的区别正确的是。
(D)
A.NOR的读速度比NAND稍慢一些B.NAND的写入速度比NOR慢很多
C.NAND的擦除速度远比NOR的慢D.大多数写入操作需要先进行擦除操作
3、0x17&0x11的运算结果是。
(B)
(A)0x01(B)0x11
(C)0x17(D)0x07
4、以下哪种方式不属于文件系统的格式。
(B)
(A)FAT(B)DOS
(C)NTFS(D)Ext
5下列描述不属于RISC计算机的特点的是(C)。
A.流水线每周期前进一步。
B.更多通用寄存器。
C.指令长度不固定,执行需要多个周期。
D.独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
6、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存
储,则2000H存储单元的内容为(C)。
A、0x00B、0x87C、0x65D、0x61
7存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为(D)。
A、0x21B、0x68C、0x65D、0x02
8RS232-C串口通信中,表示逻辑1的电平是(D)。
A、0vB、3.3vC、+5v~+15vD、-5v~-15v
9IRQ中断的入口地址是(C)。
FIQ的入口地址为0x0000001C
A、0x00000000B、0x00000008C、0x00000018D、0x00000014
10S3C2420XI/O口常用的控制器是(D)。
(1)端口控制寄存器(GPACON-GPHCON)。
(2)端口数据寄存器(GPADAT-GPHDAT)。
(3)外部中断控制寄存器(EXTINTN)。
(4)以上都是。
11、寄存器R13除了可以做通用寄存器外,还可以做(C)。
A、程序计数器B、链接寄存器C、栈指针寄存器D、基址寄存器
12、FIQ中断的入口地址是(A)。
A、0x0000001CB、0x00000008C、0x00000018D、0x00000014
13、ARM指令集和Thumb指令集分别是(D)位的。
A.8位,16位B.16位,32位C.16位,16位D.32位,16位
14、ARM寄存器组有(D)个寄存器。
A、7B、32C、6D、37
15、寄存器R15除了可以做通用寄存器外,还可以做(A)
A.程序计数器B.链接寄存器C.堆栈指针寄存器D.基址寄存器
16、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用(A)完成。
A.硬件B.软件C.用户D.程序员
17.S3C2410有(B)个USB接口。
A.1B.2C.3D.4
18ARM处理器的工作模式有(C)种。
A.5B.6C.7D.8
19.下面哪个系统属于嵌入式系统。
(D)
A、“天河一号”计算机系统B、联想T400笔记本计算机
C、联想S10上网本D、联想OPhone手机
20.软硬件协同设计方法与传统设计方法的最大不同之处在于(B)。
A、软硬件分开描述B、软硬件统一描述
C、协同测试D、协同验证
21.下面关于哈佛结构描述正确的是(A)。
A、程序存储空间与数据存储空间分离B、存储空间与IO空间分离
C、程序存储空间与数据存储空间合并D、存储空间与IO空间合并
22.下面哪一种工作模式不属于ARM特权模式(A)。
A、用户模式B、系统模式C、软中断模式D、FIQ模式
23.ARM7TDMI的工作状态包括(D)。
A、测试状态和运行状态B、挂起状态和就绪状态
C、就绪状态和运行状态D、ARM状态和Thumb状态
24.USB接口移动硬盘最合适的传输类型为(B)。
A、控制传输B、批量传输C、中断传输D、等时传输
25.下面哪一种功能单元不属于I/O接口电路。
(D)
A、USB控制器B、UART控制器
C、以太网控制器D、LED
26.下面哪个操作系统是嵌入式操作系统。
(B)
A、Red-hatLinuxB、µCLinuxC、UbuntuLinuxD、SUSELinux
三、简答题
1、举出3个书本中未提到的嵌入式系统的例子。
答:
红绿灯控制,数字空调,机顶盒
2、什么叫嵌入式系统
嵌入式系统:
以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系
统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
3、什么叫嵌入式处理器?
嵌入式处理器分为哪几类?
嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。
嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)
嵌入式微控制器(MicrocontrollerUnit,MCU)
嵌入式DSP处理器(EmbeddedDigitalSignalProcessor,EDSP)
嵌入式片上系统(SystemOnChip)
4、什么是嵌入式操作系统?
为何要使用嵌入式操作系统?
是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。
其次,提高了开发效率,缩短了开发周期。
再次,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。
5.ARM7TDMI中的T、D、S、I分别表示什么含义?
T:
支持高密度16位的Thumb指令集
D:
支持片上调试
S:
ARM7TDMI的可综合(synthesizable)版本(软核)
I:
支持EmbededICE观察硬件
M:
支持64位乘法
6.ARM7TDMI处理器采用什么样的体系结构,其可寻址地址空间多大?
ARM处理器使用冯.诺依曼结构
使用单个平面的232个8位字节地址空间。
地址空间可以看作是包含230个32位字,或231个16位半字。
7.ARM7TDMI处理器采用几级流水线处理,使用何种存储器编址方式?
ARM7TDMI处理器采用三级流水线。
ARM处理器将存储器看做是一个从0开始的线性递增的字节集合。
8.ARM处理器模式和ARM处理器状态有什么区别?
ARM处理器模式指用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式。
ARM处理器状态指ARM状态和Thumb状态
ARM两种处理器状态下均有上述7种模式。
9.ARM7TDMI内部寄存器特点?
分别为31个通用32位寄存器和6个状态寄存器。
它们不能在同一使劲同时被访问,对其的访问取决于处理器状态和处理器模式。
10.ARM7TDMI有几种寻址方式?
寄存器寻址、立即寻址、寄存器移位寻址、寄存器间接寻址、基址寻址、多寄存器寻址、堆栈寻址、相对寻址。
11.ARM7的内部寄存器R13、R14、R15的主要功能和作用?
R13:
堆栈指针,用于保存堆栈的出入口处地址、保存待使用寄存器的内容
R14:
连接寄存器,当使用BL指令调用子程序时,返回地址将自动存入14中;当发生异常时,将R14对应的异常模式版本设置为异常返回地址;其他时候作为通用寄存器。
R15:
程序寄存器,总是指向正在“取指”的指令
12.FIQ、IRQ有什么不同?
向量IRQ和非向量IRQ有什么不同?
FIQ是快速中断,具有最高优先级,中断处理转入FIQ模式;IRQ是普通中断,优先级低于FIQ,中断处理转入IRQ模式。
向量IRQ支持16个向量IRQ中断,16个优先级,能为每个中断源设置服务程序地址;非向量IRQ支持一个非向量IRQ中断,所有中断都共用一个相同的服务程序入口地址。
13.ARM7TDMI支持哪几种指令集,各有什么特点?
支持ARM指令集和Thumb指令集两种。
ARM指令集:
指令32位,效率高,代码密度低,所有ARM指令都是可以有条件执行的。
Thumb指令集:
指令16位,代码密度较高,Thumb指令仅有一条指令具备条件执行功能。
保持ARM的大多数性能上的优势,是ARM指令集的子集。
14.ARM7TDMI有几种处理器模式,简单介绍该几种模式的工作特点?
ARM7TDMI有7种处理器模式。
用户模式:
正常程序运行的工作模式,不能直接从用户模式切换到其它模式
系统模式:
用于支持操作系统的特权任务等,可以直接切换到其它模式
快中断模式:
用于快速中断处理,支持高速数据传输及通道处理,只有在FIQ异常响应时,才进入此模式。
中断模式:
用于通用中断处理,只有在IRQ异常响应时,才进入此模式。
管理模式:
供操作系统使用的一种保护模式,只有在系统复位和软件中断响应时,才进入此模式。
中止模式:
用于虚拟内存和/或存储器保护。
未定义模式:
支持软件仿真的硬件协处理器,只有在未定义指令异常响应时,才进入此模式。
15.什么是引导程序?
什么是启动程序?
两者有什么区别?
引导程序是ARM微处理器在上电或复位后首先运行BootBlock中的一段代码;启动程序是在运行引导程序后,正式运行用户main函数之前,还需要运行一段代码
引导程序由芯片厂商固化在芯片中,功能包括:
判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程(IAP)以及在系统编程功能(ISP)。
启动程序由用户添加,功能包括:
向量表定义、堆栈初始化、系统变量初始化、中断系统初始化、I/O初始化、外围初始化,地址重映射等操作。
16.简要描述LPC2000系列芯片内部GPIO的功能特点?
(1)可以独立控制每个GPIO口的方向;
(2)可以独立设置每个GPIO的输出状态;
(3)所有GPIO口在复位后默认位输入状态。
17.试说明LPC2000系列芯片的引脚设置寄存器PINSEL0、PINSEL1、PINSEL2的具体功能?
PINSEL0控制引脚P0.0~P0.15的连接状态,每两位控制一个引脚。
PINSEL1控制引脚P0.16~P0.31的连接状态,每两位控制一个引脚。
PINSEL2控制P1端口和P2端口。
18.试说明LPC2000系列芯片的存储器映射的结构特点?
(看图回答问题4)
(1)0GB向上为128KB或256KB的片内非易失性存储器;
(2)1GB向上为16KB片内静态RAM;
(3)2GB向下为BootBlock重映射;
(4)3.5GB向上为VPB外设;
(5)4GB向下为AHB外设。
19.试说明LPC2000系列芯片内部向量中断控制器(VIC)的功能特点?
(看图回答问题5)
(1)可以管理最多32个中断请求,可将其编程为FIQ、向量IRQ或非向量IRQ;
(2)有16个向量IRQ中断;
(3)16个优先级,可动态分配优先级;
(4)可产生软件中断。
20.根据嵌入式系统的特点,写出嵌入式系统的定义。
以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
21.试分析实时操作系统的工作状态特点及相互之间的转换。
运行:
获得CPU的控制权;
就绪:
进入任务等待队列,通过调度中转为运行状态;
挂起:
任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒,从而转为就绪或者运行;
休眠:
任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。
22.什么是嵌入式系统?
其特点有些什么?
答:
嵌入式系统是“以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
”
特点:
1)是专用的计算机系统,用于特定的任务;
2)资源较少,可以裁减;
3)功耗低,体积小,集成度高,成本低;
4)使用实时操作系统;
5)可靠性要求更高,具有系统测试和可靠性评估体系;
6)运行环境差异大
7)大部分程序固化在ROM中;
8)较长的生命周期;
9)嵌入式微处理器通常包含专用调试电路
23嵌入式系统的BooTLoader的功能是什么?
答:
BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。
通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。
(对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。
)
24构造嵌入式开发环境有哪几种形式?
答:
1)交叉开发环境;2)软件模拟环境;3)评估电路板
25嵌入式系统开发的基本流程?
答:
1)系统定义与需求分析;
2)系统设计方案的初步确立;
3)初步设计方案性价比评估与方案评审论证;
4)完善初步方案、初步方案实施;
5)软硬件集成测试;
6)系统功能性能测试及可靠性测试。
26什么是可编程片上系统?
答:
用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统SOPC.它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。
27有时要使用Thumb技术的原因
答:
(Thumb指令集是把32位的ARM指令集的一个子集重新编码后形成的一个特殊的16位指令集。
)在性能和代码大小之间取得平衡,在需要较低的存储代码时采用Thumb指令系统用Thumb指令编写最小代码量的程序(能够很好的解决代码长度的问题),却取得以ARM代码执行的最好性能,可以带来低功耗,小体积,低成本。
28ARM处理器的工作模式有哪几种?
答:
1)正常用户模式(usr);
2)快速中断模式(fiq);
3)普通中断模式(irq);
4)操作系统保护模式(svc)或管理模式;
5)数据访问中止模式(abt);
6)处理未定义指令的未定义模式(und);
7)运行特权级的操作系统任务的系统模式(sys)。
29寄存器R13,R14,R15的专用功能各是什么?
答:
1)寄存器R13保存堆栈指针SP;2)寄存器R14用作子程序链接寄存器,也称为LR,用以保存返回地址;3)R15(PC)用作程序计数器。
30寄存器CPSR,SPSR的功能各是什么?
答:
1)CPSR包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。
所有处理器模式下都可以访问当前的程序状态寄存器CPSR。
2)在每种异常模式下都有一个对应的物理寄存器——程序状态保存寄存器SPSR。
当异常出现时,SPSR用于保存
CPSR的状态,以便异常返回后恢复异常发生时的工作状态。
31ARM的异常有哪几种,各进入何种工作模式?
他们退出各采用什么指令?
答:
1)复位(Reset)异常(管理模式);
2)未定义指令(undefinedinstruction)异常(未定义模式);
3)软件中断(SWI)异常(管理模式);
4)指令预取中止(PrefechAbort)异常(中止模式);
5)数据访问中止(DataAbort)(中止模式);
6)快速中断请求(FIQ)(FIQ模式);
7)外部中断请求(IRQ)(IRQ模式)。
异常返回指令:
1)SWI,未定义的返回:
MOVSPC,R14;2)IRQ,FIQ,预取中止的返回:
SUBSPC,R14,#4;3)数据中止返回并重新存取:
SUBSPC,R14,#8
异常中断的优先级:
复位(最高优先级)-->数据异常中止--->FIQ-->IRQ--->预取指异常中止--->SWI---->未定义指令(包括缺协处理器)。
32什么是小端和大端存储器组织?
答:
1)小端存储器组织是较高的有效字节存放在较高的存储器地址,较低的有效字节存放在较低的存储器地址(同同小)。
2)大端存储器组织是较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址(正反大)。
33什么是数据的边界对齐?
答:
默认情况下,ADS编译器使用的是数据类型的自然边界对其方式。
数据的自然对其方式是指:
如果该数据类型是n个字节的,那么该数据类型就按n字节对齐。
34ARM核现在有哪几种?
答:
ARM7、ARM9、ARM9E、ARM10E,、SecurCore、ARM11
五分析计算题
1、从底层硬件到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,并写出各部分所完成的功能。
(1)硬件层
(2)BSP(板级支持包BoardSupportPackage):
将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。
(3)RTOS(实时操作系统RealTimeOperatingSystem)
(4)文件系统,GUI(图形用户界面GraphicalUserInterface)
(5)应用软件
六、专业名词解释(写出以下英文简写对应的中文名称)
(1)RISC精简指令集计算机(ReduceInstructSetComputer)
(2)IP互联网协议(InternetProtocol)
(3)ISR中断服务程序(InterruptServiceRoutine)
(4)JTAG联合测试行动组(JointTestActionGroup);调试接口
(5)IDE集成开发环境(integrateddevelopmentenvironment)
(6)RTOS实时操作系统(RealTimeOperatingSystem)
(7)CISC复杂指令集计算机(complexinstructionsetcomputer)
(8)Kernel内核
(9)Scheduler调度
一、阅读程序题
9、阅读下列与看门狗有关的寄存器描述,解释每一行代码的功能。
看门狗定时器控制寄存器(WTCON)
寄存器
地址
读/写
描述
初始值
WTCON
0x53000000
读/写
看门狗定控制寄存器
0x8021
WTCON的标识位
WTCON
Bit
描述
初始值
PrescalerValue
[15:
8]
预装比例值,有效范围值为0~255
0x80
Reserved
[7:
6]
保留
00
WatchdogTimer
[5]
使能和禁止看门狗定时器
0=禁止看门狗定时器
1=使能看门狗定时器
0
ClockSelect
[4:
3]
这两位决定时钟分频因素
00:
1/1601:
1/32
10:
1/6411:
1/128
00
InterruptGeneration
[2]
中断的禁止和使能
0=禁止中断产生
1=使能中断产生
0
Reserved
[1]
保留
0
Reset
Enable/Disable
[0]
禁止很使能看门狗复位信号的输出
1=看门狗复位信号使能
0=看门狗复位信号禁止
1
看门狗定时器数据寄存器(WTDAT)
寄存器
地址
读/写
描述
初始值
WTDAT
0x53000004
读/写
看门狗数据寄存器
0x8000
看门狗计数寄存器(WTCNT)
寄存器
地址
读/写
描述
初始值
WTCNT
0x53000008
读/写
看门狗计数器当前值
0x8000
#definerWTCON(*(volatileunsigned*)0x53000000)//第1行
#definerWTDAT(*(volatileunsigned*)0x53000004)//第2行
#definerWTCNT(*(volatileunsigned*)0x53000008)//第3行
voidwatchdog_test(void)
{
rWTCON=((PCLK/1000000-1)<<8)|(3<<3)|(1<<2);//第4行
rWTDAT=7812;