ARM cotex-A8嵌入式原理与系统设计习题答案

ARM cotex-A8嵌入式原理与系统设计习题答案
ARM cotex-A8嵌入式原理与系统设计习题答案

第1章

1.1 什么是嵌入式系统?

嵌入式系统是以应用为中心、以计算机技术为基础、软/硬件可剪裁、适用于对系统功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统。

1.2 嵌入式系统的应用领域有哪些? 列举一些生活中的嵌入式系统实例。

嵌入式系统的应用领域有交通管理、工控设备、智能仪器、汽车电子、环境监测、电子商务、医疗仪器、移动计算、网络设备、通信设备、军事电子、机器人、智能玩具、信息家电等;

①网络设备: 交换机、路由器、Modem 等。

②消费电子: 手机、MP3、PDA、可视电话、电视机顶盒、数字电视、数码照相机、数码摄像机、信息家电等。

③办公设备: 打印机、传真机、扫描仪等。

④汽车电子: ABS (防死锁制动系统)、供油喷射控制系统、车载GPS 等。

⑤工业控制: 各种自动控制设备

1.3 嵌入式系统的组成有哪些?

嵌入式系统一般由硬件层,中间层,软件层三层组成。

1.4 嵌入式系统的特点有哪些?

嵌入式系统有以下4个特点:系统内核小、专用性强、系统精简、实时性高。

1.5 简述嵌入式系统的发展。

嵌入式系统具有以下6个发展趋势:系统工程化、开源化、功能多样化、节能化、人性化、网络化。

1.6 常用的嵌入式处理器分为哪几类?

常见的嵌入式处理器有一下四类:嵌入式微处理器、嵌入式微控制器、嵌入式DSP 处理器、嵌入式片上系统。

1.7 嵌入式操作系统的特点有哪些?

嵌入式操作系统有以下6个特点:系统内核小、专用性强、系统精简、高实时性、多任务的操作系统、需要专用开发工具和环境。

1.8 什么是实时操作系统? IEEE 实时UNIX 分委会认为实时操作系统应具备哪些特点?

实时操作系统是指在限定的时间内能对过程调用产生正确的响应的操作系统。IEEE 的实时UNIX分委会认为实时操作系统应具备以下特点:异步的事件响应、切换时间和中断延迟时间确定、优先级中断和调度、抢占式调度、内存锁定、连续文件、同步。

1.9 常用的嵌入式操作系统有哪些? 它们各有什么特点?

1.10 嵌入式系统工程设计的要点有哪些?

应用需求;硬件要求;实时性的实现;系统功耗;系统升级方式;调试方式;开发环境的选择等。

1.11 举出几个嵌入式系统应用的例子, 通过查资料和独立思考, 说明这些嵌入式系统产品主要由哪几部分组成,每个组成部分用于完成什么功能。

比较典型的例子:手机。

组成部分:

处理器:核心处理器;

内存:操作系统,程序运行的存储空间;

闪存:存放操作系统,文件等;

屏幕:显示,如果是触摸屏还有输入功能;

按键(非必须):输入。

第2章

2.1 ARM 微处理器及技术的应用领域及主要产品有哪些? 举一些生活中常用的ARM 处理器应用的例子。

ARM微处理器觉得应用领域有工业控制领域、无线通信领域、网络应用、消费类电子产品、成像和安全产品等。目前绝大多数的手机、平板采用的处理器都是ARM架构cortex-a 系列的处理器,而其cortex-m系列在智能设备也得到广泛应用,小米手环2就是用的cortex-m4的核。

2.2 采用RISC 架构的ARM 微处理器有哪些特点?

体积小、低功耗、低成本、高性能;支持Thumb (16 位) / ARM (32 位)双指令集, 能很好地兼容8位/16位器件;大量使用寄存器;指令执行速度更快;大多数数据操作都在寄存器中完成;寻址方式灵活简单,执行效率高;指令长度固定。

2.3 ARM内核基本版本有哪些? 每个版本都有哪些基本的性能?

2.4 ARM 微处理器有哪些系列? 它们有什么特点?

2.5 在选择ARM微处理器时要考虑哪些因素?

处理器的基本架构与内核版本;处理器的性能,功耗;处理器的兼容性;处理器的价格;支持的指令格式;处理器支持的操作系统等因素。

2.6 Cortex-A8内核结构有哪些组成部分?每个部分各完成什么功能?

Cortex-A8内核有以下结构组成:

指令读取单元完成对指令流进行预测;指令解码单元对所有ARM指令,Thumb-2指令进行译码排序;指令执行单元执行所有整数ALl 运算和乘法运算, 并影响标志位,根据要求产生用于存取的虚拟地址以及基本回写值,将要存放的数据格式化, 并将数据和标志向前发送,处理分支及其他指令流变化, 并评估指令条件码;数据存取单元包含了全部L1 数据存储系统和整数存取流水线;L2 Cache单元包含L2 Cache和缓冲接口单元BIU;NEON单元单元包含一个10段NEON流水线, 用于译码和执行高级SIMD多媒体指令集;ETM单元是一个非侵入跟踪宏单元,可以对指令和数据进行跟踪, 并能对跟踪信息进行过滤和压缩;处理器外部接口。

2.7 三星S5PV210处理器是基于哪种架构的?它主要有哪些特点?

三星S5PV210处理器基于ARM架构,采用基于ARM V7的Cortex-A8核;有如下特点:

低功耗,高性能;主频可达1GHz,具有64/32位内部总线结构,32/32KB的数据/指令一级缓存,512KB二级缓存,运算能力可以达到2000DMIPS;支持LPDDR1,LPDDR2,DDR2类型RAM;Nandflash,Norflash,OneNand等类型Flash;支持存储空间最大32G(ROM),最大支持32G的TF卡;包含强大的硬件编解码功能,内建MFC,支持多种格式视频编解码;支持IIS、AC97和PCM音频接口;外部总线模块支持4路UART串口,3路IIC总线,2路SPI总线。

2.8 ARM集成开发环境RVDS包含哪几个模块?这些模块各有什么特点?

RVDS包含4个模块: IDE、RVCT、RVD和RVISS;

IDE:将软件开发与ARM RealView工具的编译和调试技术结合在一起。可以用作项目管理器, 为ARM目标创建、生成、调试、监视和管理项目。

RVCT:业界最优秀的编译器,支持全系列的ARM和XSCALE架构,支持汇编、C和C++ 语言,支持二次编译和代码数据压缩技术,能够生成更小的可执行文件,节省ROM空间。

RVD:RVD是RVDS中的调试软件,功能强大,支持Flash烧写和多核调试,支持多种调试手段,快速错误定位

RVISS:RVISS是指令集仿真器,支持外设虚拟,可以使软件开发和硬件开发同步进行,同时可以分析代码性能,加快软件开发速度。

2.9 ARM集成开发环境RVDS支持哪些处理器和模拟器?

RVDS支持以下处理器:ARM7,ARM9,ARM10,ARM11处理器系列;ARM11 MPCore 多核处理器;Cortex系列处理器;RealView Debugger中的SecurCore、SC100和SC200 处理器;RVCT 中的SecurCore SC300处理器;RealView Debugger中支持Faraday FA526、FA626和FA626TE处理器;Marvell Feroceon 88FR101和88FR111处理器。

RVDS支持以下模拟器:RealView ARMulator指令集模拟器(RVISS);指令集系统模型(ISSM);RTSM;SoC Designer。

2.10 什么是嵌入式系统的交叉开发环境?

嵌入式系统充当程序的运行环境而非开发环境,因此为了能够开发出适合在嵌入式系统运行的程序,就要使用交叉开发环境。在一个平台上开发出来在另一个平台运行的程序就是交叉开发。交叉开发环境就是用来在宿主机(通用计算机,通常为PC或工作站)上面生成可以在目标机(嵌入式系统)运行的程序的开发环境。

2.11 GCC 交叉编译器的编译流程和执行过程有哪些? GCC 编译常见的错误类型有哪些?

GCC交叉编译的流程如下:源文件(*.c,*.s等)->预处理(*.i)->编译(*.S)->汇编(*.o)->链接(elf可执行文件)->转换(bin文件)

GCC编译常见的错误类型有:语法错误;头文件错误,找不到代码中使用的头文件;内建函数使用错误;档案库错误,找不到库文件;未定义的符号错误等

2.12 嵌入式系统的交叉开发环境下有哪些调试方法?

有以下调试方法:ROM仿真、在线仿真、在系统编程、JTAG调试、软件仿真器等。

2.13 Eclipse for ARM 开发环境搭建的步骤是什么? 根据本书介绍搭建Eclipse for ARM 开发环境。

安装YAGARTO GCC编译工具;安装YAGARTO工具;安装JRE;安装Eclipse for ARM;安装仿真器驱动和仿真器工具软件。

2.14 在Eclipse for ARM开发环境下构建一个工程并且编译调试工程,学会Eclipse for ARM的使用。

根据教材内容自行操作。

第3章

3.1 简述Cortex - A8微处理器的几种工作模式。

Cortex-A8处理器有8种模式:用户模式(usr);系统模式(sys);管理模式(svc);中止模式(abt);未定义模式(und);通用中断模式(irq);快速中断模式(fiq);监控模式(mon)。

3.2 举例说明Cortex - A8微处理器的存储格式。

Cortex - A8处理器支持小端格式和字节不变的大端格式。此外,处理器还支持混合大小端格式(既有大端格式又有小端格式)和非对齐数据访问。对指令的读取,则总是以小端格式操作。

3.3 简述机器指令LDR与汇编伪指令的区别。

机器指令LDR用于将存储器中的32位的字数据传送到目标寄存器中,使用格式为:

LDR{条件}目的寄存器<存储器地址>

而LDR伪指令的作用是将一个值加载到目标寄存器中,使用格式为:

LDR目的寄存器=<立即数>

两者的本质的区别是一个是加载地址中的数据,一个是加载一个立即数。LDR伪指令补充了MOV指令加载立即数限制的不足。

3.4 简述CPSR状态寄存器中各有效位的含义。

条件标志位(N、Z、C、V);Q标志位(定用于指示增强的DAP指令是否发生了溢出);IT块(用于对thumb指令集中if-then-else这一类语句块的控制);J位用于表示处理器是否处于ThumbEE状态;GE[3:0](该位用于表示在SIMD指令集中的大于、等于标志);E位(控制存取操作的字节顺序);A位(表示异步异常禁止);控制位(中断禁止位,T位和模式位)。

3.5 简述Cortex - A8微处理器的异常类型。

3.6 什么是寻址? 简述Cortex - A8微处理器的寻址方式。

寻址是根据指令中给出的地址码字段来寻找真实操作数地址的方式;Cortex-A8支持的寻址方式有以下几种:寄存器寻址(取出寄存器中的值作为操作数)、立即数寻址(操作数为明确数值)、寄存器移位寻址(对操作数进行移位操作)、寄存器间接寻址(将寄存器中的值作为地址,去改地址中保存的值作为操作数)、变址寻址(在基址寄存器的基础上加上偏移量,然后将该值作为地址取其地址中的值作为操作数)、多寄存器寻址(一次操作传送多寄存器的值)、堆栈寻址(堆栈是一种按特定顺序进行存取)、块拷贝寻址(把一块数据从存储器的某一位置复制到另一位置)、相对寻址(变址寻址的一种变通,由程序计数器(PC)提供基地址,指令中的地址码字段作为偏移量,两者相加后得到操作数的有效地址)等。

3.7 编程实现64位加法、64位减法、64位求负数功能,结果放在R1、R0寄存器中。

@64位加法:

@R2,R3存放第一个64位数据

@R4,R5存放第二个64位数据

ADDS R0, R2, R4 :加低32位字

ADC R1, R3, R5 :加高32位字

@64位减法

@R2,R3存放第一个64位数据(被减数)

@R4,R5存放第二个64位数据(减数)

SUBS R0, R2, R4

SBC R1, R3, R5

@64位求负数

RSB R0, R2, #0

RSC R1, R3, #0

3.8 B指令、BL指令、BLX指令和BX指令用于实现程序流程的跳转,有何异同?

B指令只是做简单的跳转;BL指令在跳转之前会将当前PC寄存器的值保存在R14寄存器(LR)中,通过LDR PC,LR 语句可以返回跳转前的位置;BLX指令与BL区别在于跳转的时候切换处理器工作状态,在ARM状态和Thumb状态间切换。

3.9 简述汇编语言的程序结构。

汇编语言的程序结构由段(section)构成;段又分为代码段和数据段;每个汇编程序至少包含一个代码段,零个或多个包含初值的数据段,零个或多个不包含初值的数据段。

3.10 ALIGN伪操作的指令的作用是什么?什么情况下需要伪操作?在AREA伪操作中有ALIGN 属性,它与单独的ALIGN伪操作有什么不同?

定义代码段和数据段的对齐方式。当某代码段的地址不是4的整数倍的时候需要该伪操作。在AREA伪操作中ALIGN属性的作用范围只限定于AREA申请的区域,而单独的ALIGN 作用范围为该伪操作后面的所有代码。

3.11 如何在C语言程序中内嵌汇编程序?如何在汇编程序中访问C程序变量?

在C语言中使用以下格式来嵌套汇编代码

__asm{

/*汇编1*/

/*汇编2*/

………...

}

在汇编程序中访问C程序变量方式如下:

1) 使用IMPORT 伪指令声明这个全局变量;

2) 使用LDR 指令读取该全局变量的内存地址,通常该全局变量的内存地址存放在程序的数据缓冲池中;

3) 根据该数据类型, 使用相应的LDR 指令读取该全局变量的值,使用相应的STR 指令修改该全局变量的值。

3.12 程序设计:使用LDR指令读取0x40003100上的数据,将数据加1,若结果小于10则使用STR指令把结果写回原地址,若结果大于等于10,则把0写回原地址。然后再次读取0x40003100上的数据,将数据加1,判断结果是否小于10……周而复始循环。

程序设计如下:

_START:

MAIN:

LDR R0, =0X40003100

LDR R1, [R0]

ADD R1, R1, #1

MOV R2, #10

SUBS R3, R1, R2

MOVLT R3,#0

STR R3, [R0]

B MAIN

第4章

4.1 S5PV210微处理器是哪种封装形式?这种封装有什么优缺点?

S5PV210芯片是584引脚的FCFBGA封装,引脚间距0.65mm,体积为17x17mm。

FCFBGA封装既能容纳较多的管脚,又能保证管脚间距,具有良好的电气性能。但是对焊装的要求很高,无法手工焊装。

4.2S5PV210微处理器有多少个GPIO端口?有多少GPIO引脚?

S5PV210微处理器有35组GPIO端口,237个GPIO引脚。

4.3如何对复用的GPIO引脚进行配置?

通过设置该引脚所属组的端口控制寄存器的相应位进行配置其功能,例如GPA0组的第一个端口作为输入端口则只需要将GPA0CON的0-3位设置为0000即可。寄存器具体地址以及相应位可以查询芯片手册。

4.4 端口上拉寄存器的功能是什么?何种情况下需要上拉?

端口上拉寄存器控制了每个端口的上拉电阻的允许/禁止;当引脚端口作为输入端口时,需要上拉,用于检测低电平信号。

4.5 如何在C程序中给32位的寄存器中的某几位置1而不影响其他位的值?

用位或和移位操作实现,例如将32位整型数据的a位、b位(a、b为整常量)置1,可参考以下代码:

x |= (1<

4.6 如何在C程序中给32位的寄存器中的某几位置0而不影响其他位的值?

用位与和移位操作实现,例如将32位整型数据的a位、b位(a、b为整常量)置0,可参考以下代码:

x &= ~(1<

4.7 如何在C程序中编程检测32位寄存器中的某位是否为1?

可以通过位与操作判断,例如判断a位是否为1示例如下:

x &= (1<

if(x)

{/*该位为1*/}

else

{/*该位为0*/}

4.8 如何在C程序中编程检测32位寄存器中的某位是否为0?

可以通过位与操作判断,例如判断a位是否为0示例如下:

x &= (1<

if(!x)

{/*该位为0*/}

else

{/*该位为1*/}

第5章

5.1 随机存储器和只读存储器有何区别?

随机存储器数据掉电易丢失;随机存储器读写时可以从存储器任意地址处进行。

只读存储器数据掉电不丢失。

5.2 请解释SRAM、DRAM 和SDRAM。

SRAM(Static Random Access Memory)静态随机存储器;DRAM(Dynamic Random Access Memory)动态随机存储器;SDRAM(Synchronous Dynamic Random Access Memory)同步动态随机存储器。

5.3 简述内存管理单元的作用。

地址存储单元(MMU)主要有两个作用:①实现虚拟地址向物理地址的映射,即管理地址重定位;②管理访问权限。

5.4 试描述ARM存储器管理的分页功能和处理流程。

ARM存储管理器将物理地址和虚拟地址都划分一块块的小空间,这种划分成为分页;CPU访问的地址空间为虚拟地址空间,而存储器对应的是物理地址空间。当CPU去访问一个虚拟地址空间的时候,如下图所示,MMU会找到该虚拟地址空间的所属页,然后根据预先设置好的对应规则去寻找相应的物理地址的所属页,在物理页的基础上加上偏移量从而完成虚拟地址向物理地址的映射。一般情况下虚拟地址空间大于物理地址空间,所以有可能多块虚拟地址映射到同一物理地址,也有可能没有映射到物理地址,当用到该虚拟地址时才得到映射。

MMU处理流程

5.5 嵌入式系统的初始化过程包括哪些步骤?

嵌入式系统初始化包括两大步:初始化运行环境,初始化应用程序。

在初始化运行环境的时候应该完成以下工作:标识初始化代码的入口;设置异常向量表、中断向量表; 初始化存储器系统; 初始化堆栈指针; 初始化一些关键的I/O口; 初始化中断系统需要的RAM变量;使能中断;如果需要,切换处理器模式;如果需要,切换处理器状态。

在初始化应用程序的时候应该完成以下工作:通过复制初始化数据到可写数据段来初始化非0 可写数据;对ZI数据段清零;存储器初始化后,程序控制权交给应用程序的入口,如C 运行时库。

5.6 简述S5PV210微处理器进行内存映射的机制。

S5PV210的虚拟地址由虚拟页号和页内偏移量两部分组成。MMU根据虚拟页号查找Translation Table找到虚拟页号对应的物理页,然后加上页内偏移量即可得到虚拟地址对应的物理地址。例如如果虚拟地址的页内偏移量为4K,则需要12位来表示,即虚拟地址的低12位表示页内偏移量,其余高20位保存着映射关系的信息(如段式转化,粗细页转化,细页转化等转化方式,以及虚拟地址的页信息,映射方式,访问控制位等信息)。这些信息可以查阅cortex-a8的手册。

5.7 读以下程序, 说明程序功能

.text

.global _start

_start:

ldr r0, = 0xE2700000

mov r1, #0

str r1, [r0]

ldr sp, = 0xD0037D80 ;设置栈,以便调用c 函数

ldr r0, = main

ldr r1, = 0xD0030000 ;0xd0030000 目标地址

ldr r2, = redirt_end

cmp r0, r1

beq run_on_dram

copy_loop:

ldr r3, [r0], #4 ;源

str r3, [r1], #4 ;目的

cmp r0, r2

bne copy_loop

run_on_dram:

ldr pc, = 0xD0030008 ;跳转

halt:

b halt

该段代码完成的功能是代码的复制以及重定位:将以标号main开始到redirt_end这段地址空间的代码复制到以0xD0030000(RAM 起始地址)为起始地址的存储区域。如果标号main的地址恰好等于0xD0030000就跳过复制,直接到RAM中去执行。

5.8 读以下电路图, 说明该内存单元应该如何和S5PV210 微处理器进行硬件连接? 如何进行虚拟内存地址映射?(图略)

第6章

6.1 简述嵌入式系统通过查询方式和中断方式获取数据的特点。

程序查询方式:操作简单,但因为处理器一直查询I/O端口或部件的状态,所以处理器的效率非常低。

中断方式:CPU在中断信号到来时决定是否处理该中断,处理完成后返回中断前的程序,继续执行效率高,但实现相对于查询方式复杂。

6.2 请阐述ARM的异常向量表的结构。

在ARM体系中,有7种异常处理。当异常发生时,处理器会把PC设置为一个特定的存储器地址。这一地址被放在异常向量表中。异常向量表包含一系列不能修改的指令,用以跳转到各异常的响应程序。ARM的异常向量表由异常类型对应的跳转指令构成。

6.3 软中断指令中的中断号可以通过哪几种方式获取?

软中断指令中的中断号可以通过以下两种方式获取:①SWI指令后的24位立即数;②SWI指令后的24位立即数被忽略,中断号保存在R0寄存器中。

6.4 IRQ中断和FIQ中断发生时, 处理器进行哪些工作?

IRQ中断和FIQ中断发生时的处理步骤如下:

1)初始化微处理器中断有关的寄存器,开放中断;

2)I/O端口或部件完成数据操作后产生中断请求信号;

3)当中断请求信号有效时,微处理器可能处在不可中断状态,等微处理器允许中断时保存当前状态,停止它现行的操作并开始进行中断源的识别;

4)在识别出优先级最高的中断源后,微处理器转到对应的中断服务例程入口,并应答中断,I/O端口或部件收到应答信号后,撤销其中断请求;

5)微处理器读入或写出数据,当中断服务例程结束后,返回到原来的被中断程序处继续执行。

6.5 中断处理完毕后,处理器是如何回到原来的程序断点处的?

中断处理程序中首先应该保存现场(中断之前的现场,包括程序状态寄存器(CPSR),PC的指向等);在中断服务程序执行完毕之后,就要恢复现场,即重新加载PC,寄存器等。从而回到原来的程序断点处。

事实上,当异常发生时,分组寄存器R14和SPSR用于保存处理器状态,异常返回时,SPSR内容恢复到CPSR,连接寄存器R14恢复到程序计数器PC。

6.6 什么是向量中断控制器?其主要工作是什么?

向量中断控制器(Vectored Interrupt Controller),是中断控制器的组成部分。S5PV210的中断控制器有4个向量中断控制器(VIC)。向量中断控制器的主要工作是:支持93个向量IRQ 中断;配置中断优先级;硬件中断优先级屏蔽;产生IRQ与FIQ;产生软件中断;限制访问特权模式等。

6.7 请解释中断优先级仲裁。

若嵌入式系统中有多个中断源,则这些中断源必须要进行中断优先级的排列。所谓优先级仲裁,指的是以下两层含义:

1)若有2个及2个以上的中断源同时提出中断请求,微处理器先响应哪个中断源,后响应哪个中断源。

2)若1个中断源提出中断请求,得到响应后,又有1个中断源提出中断请求,后来的中断源能否中断前一个中断源的中断服务程序。

6.8 在对图6-1所示硬件电路进行中断编程时,如果没有在start.s中定义异常向量表,那么中断能够正常被响应吗? 为什么?

不能。如果为未定义异常向量表,则CPU跳转到向量入口地址之后不知道接下该执行哪里的代码,无法正确跳转到中断服务程序中,因此不能正常响应。

第7章

7.1 简述通用定时器工作原理。

通用定时器内部工作原理:以一个N位的加1或减1计数器为核心,计数器的初始值由初始化编程设置,计数脉冲的来源有系统时钟或外部事件脉冲。若编程设置定时/ 计数器为定时工作方式时,则N 位计数器的计数脉冲来源于内部系统时钟,并经过M 分频。每个计数脉冲使计数器加1 或减1,当N 位计数器里的数加到0 或减到0 时, 则会产生一个“回0 信号”,该信号有效时表示N 位计数器里的当前值是0。因为系统时钟的频率是固定的, 其M 分频后所得到的计数脉冲频率也就是固定的,因此通过对该频率脉冲的计数就转换为定

时,实现了定时功能。若编程设置定时/ 计数器为计数方式时,则N 位计数器的计数脉冲来源于外部事件产生的脉冲信号。有一个外部事件脉冲,则计数器加1 或减1,直到N 位计数器中的值为0,产生“回0信号”。

7.2 什么是ARM的脉宽调制定时器?

S5PV210有5个32位双缓冲脉冲宽度调制定时器。配合定时器计数缓冲寄存器TCNTBn 和定时器比较缓冲寄存器TCMPBn,可以很方便地实现脉宽调制功能,所以被称为脉宽调制定时器。

7.3 如何对S5PV210微处理器的定时器时钟进行分频? 定时时间如何计算?

定时器0和1共用一个可编程8位分频器,该分频器为PCLK提供第一层分频,定时器2,3,4共用一个不同的8位分频器。每个定时器都有自己的专用时钟分频器提供第二层分频(又称分割器,可提供1,2,4,8,16分频)。定时时间=计数器初值*定时器时钟频率。

7.4 试编写定时器控制蜂鸣器鸣叫频率和占空比的程序。

参考代码如下:(篇幅有限,在此只给出核心代码供参考)

void timer_init(unsigned long utimer,unsigned long uprescaler,unsigned long udivider,unsigned long utcntb,unsigned long utcmpb) {

unsigned long temp0;

// 定时器的输入时钟= PCLK / ( {prescaler value + 1} ) / {divider value} = PCLK/(65+1)/16=62500hz

//设置预分频系数为66

temp0 = TCFG0;

temp0 = (temp0 & (~(0xff00ff))) | ((uprescaler-1)<<0);

TCFG0 = temp0;

// 16分频

temp0 = TCFG1;

temp0 = (temp0 & (~(0xf<<4*utimer))& (~(1<<20))) |(udivider<<4*utimer);

TCFG1 = temp0;

// 1s = 62500hz

TCNTB0 = utcntb;

TCMPB0 = utcmpb;

// 手动更新

TCON |= 1<<1;

// 清手动更新位

TCON &= ~(1<<1);

// 自动加载和启动timer0

TCON |= (1<<0)|(1<<3);

// 使能timer0中断

temp0 = TINT_CSTAT;

temp0 = (temp0 & (~(1<

TINT_CSTAT = temp0;

}

//中断处理函数

void irs_timer()

{ unsigned long uTmp;

//清timer0的中断状态寄存器

uTmp = TINT_CSTAT;

TINT_CSTAT = uTmp;

}

int main(void)

{

system_initexception();

intc_setvectaddr(NUM_TIMER0, irs_timer);

intc_enable(NUM_TIMER0);

timer_init(0, 65, 4, 62500, 31250);

while(1);

return 0;

}

7.5 嵌入式系统为什么需要看门狗?

嵌入式系统对可靠性有严格要求。为保证系统能够长期可靠地运行,需要加入看门狗,在程序发生错误时自动重新启动系统,避免系统死锁。

7.6 简述看门狗定时器工作原理。

看门狗定时器是一个特殊的定时器,它既能引起中断,也能发送一个系统重启信号。看门狗定时器被使能之后,需要在一定周期内(小于看门狗定时器产生的时间间隔)执行重置看门狗的动作(喂狗)。如果在看门狗定时器产生的时间间隔内没有喂狗操作,定时器将会发送一个重启信号,系统将重新启动。

7.7 编写0.1s看门狗复位的程序。

参考代码如下:(篇幅有限,在此只给出核心的设置看门狗的代码供参考)(设PCLK为32MHz)

void enable_watchdog()

{

//允许输出重置信号,允许中断生成,128分频,预分频78

rWTCON = ((1<<0)|(1<<2)|(0b11<<3)|(0x4E<<8));

rWTDAT = 0x8000;

rWTCON = 1 << 5; //启动看门狗

}

void feed_dog()

{

rWTCNT = 0x8000;

}

7.8 为什么嵌入式系统使用RTC定时器获取时间, 而不用普通定时器?

普通定时器在系统关机状态下无法工作,而实时时钟单元即使在系统处于关机状态下它也能够正常工作(通常采用后备电池供电),为系统提供可靠的时钟,包括时、分、秒和年、

月、日。

7.9 读以下程序, 试述各语句的作用和该段程序的功能。

year = (((year / 100) << 8) + (((year / 10)% 10) << 4) + (year% 10));//将year 转换为BCD 码 month = (((month/10)<<4) + (month% 10)); //将month 转换为BCD 码 date = (((date / 10) << 4) + (date% 10)); //将date 转换为BCD 码

weekday = (weekday% 10); //将weekday 转换为BCD 码 hour = (((hour / 10) << 4) + (hour% 10)); //将hour 转换为BCD 码 min = (((min / 10) << 4) + (min% 10)); //将min 转换为BCD 码 sec = (((sec / 10) << 4) + (sec% 10)); //将sec 转换为BCD 码 rtc_enable(true);

//保存

BCDSEC = sec; //将秒钟保存到BCD 秒钟寄存器

BCDMIN = min; //将分钟保存到BCD 分钟寄存器

BCDHOUR = hour; //将小时保存到BCD 小时寄存器

BCDDATE = date; //将日期保存到BCD 日期寄存器

BCDDAY = weekday; //将星期保存到BCD 星期寄存器

BCDMON = month; //将月份保存到BCD 月寄存器

BCDYEAR = year; //将年份保存到BCD 年寄存器

rtc_enable(false);

该段程序的功能是将年月日,时分秒转换为BCD 码然后保存到RTC 相应寄存器中。即设置RTC 时钟初始值。

第8章

8.1 什么是模拟量?什么是数字量?请分别举例说明。

在时间和幅度上都是连续的物理量称为模拟量,例如如温度、压力、位移、图像等;在时间和幅度上离散的物理量称为数字量。

8.2 在A-D 转换过程中,模拟量和输出的数字量应该满足怎样的关系?

输出的数字量与模拟量应满足线性关系;采样频率应高于模拟量最大频率的2.5倍。

8.3 什么是A-D 转换的分辨率?其与转换位数之间是什么关系?

分辨率用来表明A-D 转换器对模拟信号的分辨能力,由它确定能被A-D 转换器辨别的最小模拟量变化。一般来说,A-D 转换器的位数越多,其分辨率则越高。

8.4 满量程电压为33V 且位数为12位的A-D 转换器的量化误差是多少?

计算如下:

1233q 2= ≈ 0.008

量化误差为0.008V 。

8.5 A-D转换器的转换过程分为哪四个步骤?分别完成什么功能?

采样,保持,量化,编码四个步骤。采样与保持:将模拟量转换为在时间上离散的时间离散量。量化与编码:将采样得到的时间离散量的幅度转化为离散幅度并进行编码得到数字量。

8.6 A-D转换器有哪几种类型?其优缺点分别是什么?

8.7 如何设置S5PV210微处理器的A-D转换时钟?若系统主频为100MHz,且预分频比为65, 则A-D转换的时钟频率为多少?

A-D转换频率= 100MHz/(65+1) ≈1.52MHz

8.8 TSDATXn寄存器是多少位的寄存器?若所使用的A-D配置为12位,如何取出转换完成的12 位A-D输出数值?

TSDATXn寄存器是16位寄存器。将TSDATXn的值读出来然后位与操作取值,例如:

return(TSDATXn&0xfff);

将AD转换的12位数据以返回值形式返回。

8.9 第8.4节中的实例,若改为10位A-D转换,应如何修改程序?

修改read_adc函数:

int read_adc(int ch)

{

//使能预分频功能,设置A - D 转换器的时钟= PCLK/ (65 + 1)

TSADCCON0 = (0 << 16)| (1 << 14)| (65 << 6); //修改1:设置为使用10位ADC

//清除位[2],设为普通转换模式,禁止read start

TSADCCON0 & = ~ ((1 << 2) |(1 << 1));

//选择通道

ADCMUX = 0;

//设置位[0]为1,启动A - D 转换

TSADCCON0 = (1 << 0);

//当A - D 转换真正开始时,位[0]会自动清零

while (TSADCCON0 &(1 << 0));

//检测位[15],当它为1 时表示转换结束

while (!(TSADCCON0 &(1 << 15)));

//读取数据

return (TSDATX0 & 0x3ff); //修改2:改为返回TSDATX0寄存器低10位

}

8.10 如果外部待测模拟信号电压数值超过A-D转换器满量程电压, 请问软件和硬件应如何修改?

提供以下参考方案:在硬件电路设计的时候外接分压电阻,将被测量的一部分电压接入AD测量(例如分压1/2),在软件中将读出的转换结果乘以分压倍数即可。

第9章

9.1 简述DMA的工作原理。

DMA传输将数据从一个地址空间复制到另外一个地址空间,传输操作本身是由DMA控制器来实行和完成的。DMA操作并不依赖于微处理器,微处理器可以去处理其他的工作。因此可以提高系统运行效率。

9.2 S5PV210支持几种DMA工作方式?有什么区别?

S5PV210支持2种DMA工作方式,分别为DMA_mem和DMA_peri。前者为存储器转移DMA,由一个PL330组成,用于内存到内存的数据传输;后者为外围设备转移DMA,由两个PL330组成,用于外围设备数据的转移。

9.3 如何对S5PV210微处理器进行peri_DMA编程?如何进行M2M_DMA编程?二者有何区别?

可以通过将PL330的指令编码写进某一地址,然后将地址写进DMD_peri或者DMA_mem 的相关寄存器进行编程。区别在于DMD_peri只在非安全模式下运行,DMA_mem只在安全模式下运行。

9.4 请查阅PL330数据手册,简述PL330的指令集。

9.5 在9.6节所示的实例中,数组instr_seq的作用是什么?

用于保存PL330的指令,作为指令缓存区。

9.6 模仿9.6节,编程实现UART_DMA数据传输。

#define MAX 100

#define Inp(addr) (*(volatile unsigned int *)(addr))

#define Outp(addr, data) (*(volatile unsigned int *)(addr) = (data))

#define VIC0ADDR (*((volatile unsigned int *)0xF2000F00))

#define VIC0INTENCLEAR (*((volatile unsigned int *)0xF2000014))

#define VIC0INTENABLE (*((volatile unsigned int *)0xF2000010))

#define VIC0VECTADDR18 ( *((volatile unsigned long *)0xF2000148))

#define DMA_INTEN 0xFA200020

#define DMA_DBGSTATUS 0xFA200D00

#define DMA_DBGCMD 0xFA200D04

#define DMA_DBGINST0 0xFA200D08

#define DMA_DBGINST1 0xFA200D0C

#define UTBR (*(voiatile unsigned long))0xE2900020

char dma_src[48] = "dma_src data1234567";

char dma_dst[48] = "dma_dst";

volatile char instr_seq[MAX];

void dma_start()

{

//clear DMA_mem INTCLR清除DMA的中断标志(DMA除了隶属于VIC0以外有自己的一个中断机制控制)//Outp(0xFA200000+0x2C, 0x2);

//取消对DMA_mem的使能,即不在响应DMA_mem中断请求

//和之前为开启DMA的时候作对比,到这里已经在没有CPU干预的情况下,

//利用DMA将dma_src的数据搬运到dma_dst里面了

printf("This is second print dam_dst\r\n");

printf("%s\r\n",dma_dst);

printf("\r\nDMA Ending!\r\n");

}

//dma初始化

void dma_init(unsigned int source, unsigned int destination;)

{

int size = 0, x;

int loopstart, loopnum;

unsigned int start;

/*1.先打印没有启动DMAC之前的dam_dst*/

printf("\r\nThis is first printf dam_dst:\r\n");

printf("%s\r\n",dma_dst);

/*2.DMAMOV SAR0设置源地址寄存器*/

source = (unsigned int)dma_src;

instr_seq[size + 0] = (char)(0xbc);

instr_seq[size + 1] = (char)(0x0);

instr_seq[size + 2] = (char)((source>>0) & 0xff);

instr_seq[size + 3] = (char)((source>>8) & 0xff);

instr_seq[size + 4] = (char)((source>>16) & 0xff);

instr_seq[size + 5] = (char)((source>>24) & 0xff);

size += 6;

/*3.DMAMOV DAR0设置目的地址寄存器*/

destination = (unsigned int)dma_dst;

instr_seq[size + 0] = (char)(0xbc);

instr_seq[size + 1] = (char)(0x2);

instr_seq[size + 2] = (char)((destination>>0) & 0xff);

instr_seq[size + 3] = (char)((destination>>8) & 0xff);

instr_seq[size + 4] = (char)((destination>>16) & 0xff);

instr_seq[size + 5] = (char)((destination>>24) & 0xff);

size += 6;

/*4.DMAMOV CC0. burst_size 8byte, burst_len 2设置通道0控制寄存器,源地址和目的地址在搬运完一次以后都自动增加,每次搬运8*2=16个字节,都是挂载到AXI接口,因为是内存之间的访问*/

//0000 000 0,00 0001 01,1 1 000 000, 0001 011 1

instr_seq[size + 0] = (char)(0xbc);

instr_seq[size + 1] = (char)(0x1);//CCR寄存器

instr_seq[size + 2] = (char)(0x17);//源地址递增,每次读8个字节,每次2个数据传输

instr_seq[size + 3] = (char)(0xc0);//ARPROT[0:2]=0b000,ARCACHE[0:2]=0b000,目标地址递增,每次写8字节

instr_seq[size + 4] = (char)(0x5);//每次2个数据传输,AWPROT[0:2]=0b000

instr_seq[size + 5] = (char)(0x0); //AWCACHE[0:1,3] =0b000,不交换8位数据

size += 6;

/*5.DMALP LC0设置要搬运得次数,开始循环搬运数据。数组大小是48字节(dam_src[48]),所以要搬运48除以16等于3次*/

loopnum = 3;

instr_seq[size + 0] = (char)(0x20); //lc=0

instr_seq[size + 1] = (char)(loopnum - 1);// 循环次数

size += 2;

loopstart = size;//需要循环执行的起始位置

/*6.DMALD装载源地址的数据到MFIFO数据缓冲区*/

instr_seq[size + 0] = (char)(0x04);

size += 1;

/*7.DMAST将MFIFO的数据存入目的地址*/

instr_seq[size + 0] = (char)(0x08);

size += 1;

/*8.DMALPEND 0循环搬运的代码块结束*/

instr_seq[size + 0] = (char)(0x38);

instr_seq[size + 1] = (char)(size - loopstart); //记录循环结束的位置

size += 2;

/*9.做一个简单的延时*/

/*9.1 DMALP LC0循环开始*/

instr_seq[size + 0] = (char)(0x20);

instr_seq[size + 1] = (char)(250);

size += 2;

loopstart = size;

/*9.2 DMANOP循环执行的内容,空操作*/

instr_seq[size + 0] = (char)(0x18);

size += 1;

/*9.3 DMALPEND 0循环结束*/

instr_seq[size + 0] = (char)(0x38);

instr_seq[size + 1] = (char)(size - loopstart);

size += 2;

/*10.DMASEV 产生一个中断源,这里要和下面Outp(0xFA200020, 0x2);一致*/

instr_seq[size + 0] = (char)(0x34);

instr_seq[size + 1] = (char)(1<<3); //irq<1>

size += 2;

/*11.DMAEND 结束DMAC的控制,这里是存放结束指令,并非真的结束,他只是存放一条结束指令到instr_seq[MAX]这个数组*/

instr_seq[size + 0] = (char)(0x0);

size += 1;

/*12.enable irq注意选对是DMA——mem的中断向量,隶属于VICO组的18号中断*/

VIC0VECTADDR18 = (unsigned int)dma_start; //MDMA在vic0的18位

VIC0INTENABLE |= 1<<18;//使能该中断源

//因为上面使用irq<1>所以得使能event_1

Outp(DMA_INTEN, 0x2);//enable DMA_mem 的1号中断

/*13.DMAGO开始真正的DMA控制---搬运数据*/

do{

x = Inp(DMA_DBGSTATUS);//check DMA_mem DBGSTATUS读取状态寄存器

} while ((x&0x1)==0x1);

Outp(DMA_DBGINST0, (0<<24)|(0xa0<<16)|(1<<8)|(0<<0));//DMA_mem DBGINST0选择通道0,执行DMA的DMAGO命令

start = (unsigned int)instr_seq;

Outp(DMA_DBGINST1, start);//DMA_mem DBGINST1存放了DMAGO命令执行的起始地址start,透过DMAGO来执行上面的脚本

Outp(DMA_DBGCMD, 0);//DMA_mem DBGCMD执行DBGINST0和DBGINST1中的命令}

int main()

{

unsigned long data[10];

dma_init(data,UTBR)

dma_start();

return 0;

}

嵌入式系统模拟试题及答案

学习中心/函授站_ 姓名学号 西安电子科技大学网络与继续教育学 院 2014学年下学期 《嵌入式系统》期末考试试题 (综合大作业) 题号一二三四五总分 题分2010302020 得分 考试说明: 1、大作业于2014年12月25日下发,2015年1月10日交回; 2、考试必须独立完成,如发现抄袭、雷同均按零分计; 3、答案须手写完成,要求字迹工整、卷面干净。 一、问题简述(每小题4分,共20分) 1、简述嵌入式系统的定义和组成结构。 答:嵌入式系统是以应用为中心,以计算机技术为基础,并软硬件可剪裁、功能、 ,可靠性、体积、重量、成本、功耗、成本、安装方式等方面符合要求的专用计算机系统。 嵌入式系统一般由嵌入式微处理器、存储与I/O部分、外设与执行部分、嵌入式软件等四个部分组成。 2、简单说明ARM微处理器的特点。 答:(1) 体积小、低功耗、低成本、高性能。 (2) 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼 容8位/16位器件。

(3) 大量使用寄存器,指令执行速度更快。 (4) 大多数数据操作都在寄存器中完成,通过Load/Store结 构在内存和寄存器之间批量传递数据。 (5) 寻址方式灵活简单,执行效率高。 (6) 指令长度固定。 3、简述嵌入式系统产品的设计和开发过程。 答:①在嵌入式系统的开发过程中,一般采用的方法是首先在通用PC机上的集成开发环境中编程;②然后通过交叉编译和链接,将程序转换成目标平台(嵌入式系统)可以运行的二进制代码;③接着通过嵌入式调试系统调试正确;④最后将程序下载到目标平台上运行。 要强调,选择合适的开发工具和调试工具,对整个嵌入式系统的开发都非常重要。 4、简述嵌入式系统设计中要考虑的因素。 答:在嵌入式系统的开发过程中,要考虑到实时性、可靠性、稳 定性、可维护性、可升级、可配置、易于操作、接口规范、抗干 扰、物理尺寸、重量、功耗、成本、开发周期等多种因素。 5、什么是BootLoader,了解其在嵌入式系统中作用。 答:就是启动载入或引导加载又叫自举装载。由于系统加电后需 要首先运行BootLoader这段程序,因此它需要放在系统加电后 最先取指令的地址上。嵌入式处理器的生产厂商都为其处理器预 先安排了一个在系统加电或复位后最先取指令的地址。 二、名词解释(每小题2分,共10分) 1、DSP(Digital Signal Processor),数字信号处理器,一种特别用于快速处理数字信号的微处理器。DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。 2、RTOS Real Time Operating System. 译为实时操作系统。实时系统是指一个能够在指定的或者确定的时间内,实现系统功能和对外部或内部、同步或异步事件作出响应的系统。 3、BSP设计板级支持包(BSP)的目的主要是为驱动程序提供访问硬件设备寄存器的函数包,从而实现对操作系统的支持。类似于PC机上的BIOS,是一个承上启下的软件层次。由嵌入OS和用户开发相结合取得。BSP一般是在嵌入式系统上固化存放。 4、总线竞争就是在同一总线上,同一时刻,有两个以上器件要通

嵌入式系统复习题6

1.选择题 1.以下哪个不是嵌入式系统的设计的三个阶段之一:(A) A分析 B设计 C实现 D测试 2.以下哪个不是RISC架构的ARM微处理器的一般特点:(C) A体积小、低功耗 B大量使用寄存器 C采用可变长度的指令格式,灵活高效 D寻址方式灵活简 3.通常所讲的交叉编译就是在X86架构的宿主机上生成适用于ARM架构的(A)格式的可执行代码。 A elf B exe C pe D sh 4.下面不属于Boot Loader阶段1所完成的步骤的是:(C) A.硬件设备初始化。 B.拷贝Boot Loader的阶段2到RAM空间中。 C.将kernel映像和根文件系统映像从Flash读到RAM空间中。 D.设置堆栈。 5.以下哪个不是ARM的7种运行状态之一:(B) A快中断状态 B挂起状态 C中断状态 D无定义状态 6.用以下的哪个命令可以把server的/tmp mount到client的/mnt/tmp并且是(A) A.mount-o ro server:/tmp/mnt/tmp B.mount-o ro/mnt/tmp server:/tmp C.mount-o ro client:/mnt/tmp server:/tmp D.mount-o ro server:/tmp client:/mnt/tmp 7.以下哪个GUI是由中国人主持的一个自由软件项目:(A) A MinuGUI B OpenGUI C MicroWindows D Qt/Embedded 8.在下面的叙述中,(D)不是嵌入式图形用户接口(GUI)的主要特点。 A运行时占用的系统资源少 B.模块化结构,便于移植和定制 C.可靠性高 D.美观华丽,图形算法复杂 9.以下叙述中,不符合RISC指令系统特点的是(B)。 A.指令长度固定,指令种类少 B.寻址方式种类丰富,指令功能尽量增强 C.设置大量通用寄存器,访问存储器指令简单 D.选取使用频率较高的一些简单指令 10.通常所说的32位微处理器是指(C)。 A.地址总线的宽度为32位 B.处理的数据长度只能为32位 C.CPU字长为32位 D.通用寄存器数目为32个 11.在嵌入式软件交叉调试过程中,宿主机与目标机之间的连接与通信方式有(ABCD)种。 A.串口 B.并口 C.网络 D.JTAG E.BDM 12.ADD R0,R1,[R2]属于(B)。 A.立即寻址

嵌入式习题答案

嵌入式习题答案Last revision on 21 December 2020

第一章习题答案 1.什么是嵌入式系统请列举几个常见的嵌入式系统。 答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。 目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。 常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。 2.嵌入式系统与通用计算机有哪些区别 答:(1) 以应用为中心;(2) 以计算机技术为基础(3) 软件和硬件可裁减(4) 对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具 3.嵌入式系统的发展分为哪几个阶段 答:第一阶段:无操作系统的嵌入算法阶段。第二阶段:以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。第三阶段:以嵌入式操作系统为标志的嵌入式系统。第四阶段:以基于Internet为标志的嵌入式系统。 4.请列举嵌入式系统的主要应用领域。 答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域

arm9嵌入式课后答案

arm9嵌入式课后答案 【篇一:arm嵌入式系统结构与编程习题答案(全)】ass=txt>第一章绪论 1. 国内嵌入式系统行业对“嵌入式系统”的定义是什么?如何理解?答:国内嵌入式行业一个普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗严格要求的专业计算机系统。从这个定义可以看出嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的剪裁利用。因此有人把嵌入式系统比作是一个针对特定的应用而“量身定做”的专业计算机系统。 2.嵌入式系统是从何时产生的,简述其发展历程。 答:从20世纪70年代单片机的出现到目前各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了30多年的发展历史。 嵌入式系统的出现最初是基于单片机的。intel公司1971年开发出第一片具有4位总线结构的微处理器4004,可以说是嵌入式系统的萌芽阶段。80年代初的8051是单片机历史上值得纪念的一页。20世纪80年代早期,出现了商业级的“实时操作系统内核”,在实时内核下编写应用软件可以使新产品的沿着更快,更节省资金。20世纪90年代实时内核发展为实时多任务操作系统。步入21世纪以来,嵌入式系统得到了极大的发展。在硬件上,mcu的性能得到了极大的提升,特别是arm技术的出现与完善,为嵌入式操作系统提供了功能强大的硬件载体,将嵌入式系统推向了一个崭新的阶段。 3.当前最常用的源码开放的嵌入式操作系统有哪些,请举出两例,并分析其特点。答:主要有嵌入式linux和嵌入式实时操作内核uc/os-ii 嵌入式linux操作系统是针对嵌入式微控制器的特点而量身定做的一种linux操作系统,包括常用的嵌入式通信协议和常用驱动,支持多种文件系统。主要有以下特点:源码开放,易于移植,内核小,功能强大,运行稳定,效率高等。 uc/os是源码工卡的实时嵌入式系统内核,主要有以下特点:源码公开,可移植性强,可固化,可剪裁,占先式,多任务,可确定性,提供系统服务等。

嵌入式系统试题闭卷及答案

《嵌入式系统》试题 闭卷答题时间:30分钟 一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是()、存储器、输入/输出和软件,一般软件亦分为操作系统相关和()两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(),()以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有()、进程间通信、()、I/O资源管理。 4、从嵌入式操作系统特点可以将嵌入式操作系统分为()和分时操作系统,其中实时系统亦可分为()和软实时系统。 5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(),内核的基本服务是()。 6、嵌入式开发一般采用()方式,其中宿主机一般是指()。 7、哈佛体系结构数据空间和地址空间(),ARM7TDMI采用()的内核架构,ARM920T采用()的内核架构。 采用()级流水线结构,ARM920TDMI采用()级流水线。 9.按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix 操作系统属于()操作系统,VxWorks属于()操作系统。 10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(),M表示内嵌乘法器Multiplier,I表示(),支持在线断点和调试。 二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。() (A)处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断(C)处理器支持中断,并且能产生定时中断(D)有大量的存储空间 2、下面哪种操作系统最方便移植到嵌入式设备中。() (A)DOS (B)unix (C)Windowsxp (D)linux 3、下面哪个选项不是SUB设备的特点。() (A)串行通信方式(B)不可热拨插 (C)分HOST、DEVICE和HUB (D)通信速率比RS232快 4、下面哪种嵌入式操作系统很少用于手机终端设备上。() (A)Symbian (B)WinCE (C)uc/os (D)linux 5、以下哪项关于SRAM和DRAM的区别是不对。() (A)SRAM比DRAM慢(B)SRAM比DRAM耗电多 (C)DRAM存储密度比SRAM高得多(D)DRM需要周期性刷新 6、uc/os操作系统不包含以下哪几种状态。() (A)运行(B)挂起 (C)退出(D)休眠 7、0x07&0x11的运算结果是。() (A)0x01 (B)0x11 (C)0x17 (D)0x07 8、以下哪种方式不是uc/os操作系统中任务之间通信方式。() (A)信号量(B)消息队列 (C)邮件(D)邮箱 9、以下哪种方式不是文件系统的格式。() (A)FAT (B)DOS (C)NTFS (D)Ext 10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。() (A) (B) (C) (D)OSTaskInit 三、判断题:共5小题,每小题2分,满分10分。 1、所有的电子设备都属于嵌入式设备。() 2、冯诺依曼体系将被哈佛总线所取代。() 3、嵌入式linux操作系统属于免费的操作系统。() 4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。() 5、的最大通信速率为12M/S。() 简答题:共2小题,每小题10分,满分20分。 1、根据嵌入式系统的特点,写出嵌入式系统的定义。 2、试分析实时操作系统的工作状态特点及相互之间的转换。

嵌入式系统设计师练习题及答案解析

嵌入式系统设计师练习题及答案第一套 (1) 嵌入式系统设计师练习题及答案第二套 (5) 嵌入式系统设计师练习题及答案第三套 (16) 嵌入式系统设计师练习题及答案解析第四套 (27) 嵌入式系统设计师练习题及答案解析第五套 (45) 嵌入式系统设计师练习题及答案解析第六套 (59) 嵌入式系统设计师练习题及答案解析第七套 (67) 嵌入式系统设计师练习题及答案解析第八套 (75) 嵌入式系统设计师练习题及答案解析第九套 (81) 嵌入式系统设计师练习题及答案解析第十套 (90) 嵌入式系统设计师练习题及答案解析第十一套 (99) 嵌入式系统设计师练习题及答案解析第十二套 (106) 嵌入式系统设计师练习题及答案解析第十三套 (115) 嵌入式系统设计师练习题及答案解析第十四套 (126) 嵌入式系统设计师练习题及答案解析第十五套 (139) 嵌入式系统设计师练习题及答案解析第十六套 (154) 嵌入式系统设计师练习题及答案解析第十七套 (161) 嵌入式系统设计师练习题及答案解析第十八套 (169) 嵌入式系统设计师练习题及答案解析第十九套 (177) 嵌入式系统设计师练习题及答案解析第二十套 (189) 嵌入式系统设计师练习题及答案解析第二十一套 (199) 嵌入式系统设计师练习题及答案解析第二十二套 (212) 嵌入式系统设计师练习题及答案第一套 1、以下关于CPU的叙述中,错误的是 A.CPU产生每条指令的操作信号并将操作信号送往相应的部件进行控制

B.程序计数器PC除了存放指令地址,也可以临时存储算术/逻辑运算结果 C.CPU中的控制器决定计算机运行过程的自动化 D.指令译码器是CPU控制器中的部件 2、以下关于Cache的叙述中,正确的是 A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素 B.Cache的设计思想是在合理成本下提高命中率 C.Cache的设计目标是容量尽可能与主存容量相等 D.CPU中的Cache容量应大于cPu之外的Cache容量 3、风险预测从两个方面评估风险,即风险发生的可能性以及 A.风险产生的原因 B.风险监控技术 C.风险能否消除 D.风险发生所产生的后果 4、许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括 A.便于为数据合理分配存储单元 B.便于对参与表达式计算的数据对象进行检查 C.便于定义动态数据结构 D.使于规定数据对象的取值范围及能够进行的运算 5、在计算机系统中,对程序员是透明的。 A.磁盘存储器 B.高速缓存 C.RAM存储器 D.flash存储器

嵌入式系统课后答案马维华

第1章嵌入式系统概述 1,什么是嵌入式系统嵌入式系统的特点是什么 嵌入式系统概念: (1) IEEE对嵌入式系统的定义:用于控制,监视或者辅助操作机器和设备的装置. (2)一般定义:以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统. 嵌入式系统的特点: (1) 专用的计算机系统 (2) 必须满足环境要求 (3) 必须能满足对象系统的控制要求 (4) 是集成计算机技术与各行业应用的集成系统 (5) 具有较长的生命周期 (6) 软件固化在非易失性存储器中 (7) 必须能满足实时性要求 (8) 需要专用开发环境和开发工具 2,简单分析几种嵌入式操作系统的主要特点,包括嵌入式Linux,Windows CE,uCOS II 及VxWorks. (1)嵌入式Linux:有多个主流版本,根据应用需求,性能略有差别.μCLinux是Linux小型化后,适合于没有MMU的微处理器芯片而裁剪成的操作系统,μCLinux保持了传统Linux操作系统的主要特性,包括稳定,强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合像512KB RAM,1MB Flash这样小容量,低成本的嵌入式系统.RT_Linux即能兼容通常的Linux,又能保证强实时性. (2)Windows CE:开发平台主要为WinCE Platform Builder,有时也用EVC环境开发一些较上层的应用.WinCE开发难度远低于嵌入式Linux,实时性略低,常用于手机,PDA等手持设备中. (3)uCOS II:结构小巧,抢先式的实时嵌入式操作系统,具有执行效率高,占用空间小,可移植性强,实时性能好和可扩展性能等优点.主要用于小型嵌入式系统. (4) VxWorks: 集成开发环境为Tornado,Vxworks因出现稍早,实时性很强,并且内核可极微(最小8K),可靠性较高等.通常应用在通信设备等实时性要求较高的系统中. 第2章嵌入式处理器体系结构 1,具体说明ARM7TDMI的含义,其中的T,D,M,I分别代表什么 ARM7TDMI是ARM7处理器系列成员之一,采用V4T版本指令.T表示Thumb,该内核可从16位指令集切换到32位ARM指令集;D表示Debug,该内核中放置了用于调试的结构,支持片内Debug调试;M表示Multiplier,支持位乘法;I表示Embedded ICE ,内含嵌入式ICE宏单元,支持片上断点和观察点. 2,ARMV4及以上版本的CPSR的哪一位反映了处理器的状态若CPSR=0x000000090,分析系统状态.CPSR=0x000000090表示当前处理器工作于ARM状态,系统处于用户模式下. CPSR的BIT5(T)反映当前处理器工作于ARM状态或Thumb状态. 3,ARM有哪几个异常类型,为什么FIQ的服务程序地址要位于0x1C 在复位后,ARM处理器处于何种模式,何种状态 ARM的7种异常类型:复位RESET异常,未定义的指令UND异常,软件中断SWI异常,指令预取中止PABT异常,数据访问中止DABT异常,外部中断请求IRQ异常,快速中断请求FIQ 异常.在有快速中断发生时,CPU从0x1C处取出指令执行.ARM复位后处于管理模式,工作于ARM状态. 4,为什么要使用Thumb模式,与ARM代码相比较,Thumb代码的两大优势是什么

嵌入式期末复习提纲包含答案

嵌入式期末复习提纲包 含答案 文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]

考试题型: ?1、判断题 10分 ?2、填空题 20分 ?3、选择题 20分 ?4、简答题 30分(5个) ?5、应用题 20分(3个) ?6、名字解释 复习资料: ?书本 ?PPT课件,平时课堂例题。 ?平时作业和练习 ?考试范围:1-5章 ?其他说明: ?课后习题是重点。 ?简答题来源于前5章,每章一个。 每章重点: 第一章: 1.什么是嵌入式系统试简单列举一些生活中常见的嵌入式系统的实例。 嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。 2.嵌入式系统具有哪些特点 3.嵌入式系统由哪些部分组成简单说明各部分的功能和作用。

4.嵌入式系统是怎样分类的 5.嵌入式系统的定义。 嵌入式系统是用于检测、控制、辅助、操作机械设备的装置。以应用为中心,一计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。 6.什么是交叉编译,试说明交叉编译的实现过程。 7.嵌入式系统有哪些应用领域。 嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括: 1.工业控制: 基于嵌入式芯片的工业自动化设备将获得长足的发展,目前已经有大量的8、16、32位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源主要途径,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。 2.交通管理: 在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业获得了成功的使用。目前GPS设备已经从尖端产品进入了普通百姓的家庭,只需要几千元,就可以随时随地找到你的位置。 3.信息家电:

《嵌入式系统》考试试卷及答案

《嵌入式系统》课程试卷 考试时间:__120___分钟开课学院___计算机___ 任课教师____________ 姓名______________ 学号_____________班级_______________ 一.单项选择题(2 × 20): 1下面不属于Xscale微架构处理器的主要特征有:( ) A.采用了7级超级流水线、动态跳转预测和转移目标缓冲器BTB技术(Branch Target Buffer)。 B.支持多媒体处理技术、新增乘/累加器MAC、40位累加器、兼容ARM V5TE 指令和特定DSP型协处理器CP0。 C.采用了32KB的指令Cache。 D.采用了64KB的数据Cache。 2以下不属于XScale超级流水线的流水级是( ) A.寄存器文件/移位级(FR) B.写回级(XWB) C.寄存器读取级 D.和执行级二(X2) 3 目前嵌入式系统领域中使用最广泛、市场占有率最高的实时系统是:() A. Symbian B. Windows CE C. VxWorks D. QNX 4 下面那句话的描述是不正确的?( ) A.在一个基于XScale内核的嵌入式系统中,系统在上电或复位时通常都从

地址0x00000000 处开始执行 B.引导装载程序通常是在硬件上执行的第一段代码,包括固化在固件中的 引导代码(可选)和Boot Loader两大部分。 C.在嵌入式系统中,Boot Loader不依赖于硬件实现。 D.Boot Loader就是在操作系统内核运行之前运行的一段小程序。 5 通常情况下,目标机上的Boot Loader通过串口与主机之间进行文件传输,下面不属于通常使用的传输协议的是:( ) A.modem协议 B.xmodem协议 C.ymodem协议 D.zmodem协议 6 Make预置了一些内部宏,其中$@表示:() A.没有扩展名的当前目标文件 B.当前目标文件 C.当前目标文件最近更新的文件名 D.当前目标文件最近更新的文件名 7 在Default kernel command string “root=1f03 rw console=ttyS0,115200 init=/linuxrc”中,代表根文件系统(“/”) 的设备文件主号码是什么?( ) A.1f B.03 C.ttyS0 D.115200 8 用命令dd if=/dev/zero of=ramdisk_img bs=1k count=8192创建的ramdisk_img 其空间大小为多少?( ) A.8M bit

嵌入式系统设计复习题

山东理工大学成人高等教育嵌入式系统设计复习题 一、简述题 1、画出MCS-51单片机的总线形成图,并写出地址线和数据线的数量 2、简述定时器/计数器方式1和方式2的最长定时器时间与最短定时时间(外部晶振为6MHz) 3、简述串行口的控制寄存器SCON中的SM0、SM1、SM2的含义 4、如果一个8位的D/A转换器满量程为5V,试分别确定当数字量为75H、0ACH时对应的模拟量。 5.MCS-51系列单片机三总线如何产生?说明各控制总线的名称及含义。 6.写出MCS-51单片机P3口的第二功能名称含义。 7.MCS-51单片机工作寄存器区字节地址范围是多少?若选择当前工作寄存器区为2区,应如何设置? 8.当中断控制寄存器IE的内容为92H时的含义是什么? 9.简述程序状态字PSW各位的含义。 10.MCS-51系列单片机内部有哪些主要逻辑部件组成? 11.P3口的第二功能是什么。 12.MCS-51单片机内部RAM如何分配的? 13.写出将片内RAM 30H单元、片外RAM 3000H单元的内容读入A中的指令。 14.位地址20H与字节地址20H有何区别?位地址20H具体在片内RAM中什么位置?15.写出特殊功能寄存器IE、IP、TMOD的名称及功能。 二、名词解释 1、A/D分辨率 2、中断

三、编程 1、定时器/计数器初始化编程 若要求T0作为定时器以方式1工作,定时时间为50ms; T1作为计数器以方式2工作,计3个脉冲溢出。设单片机晶振频率为12MHZ,编写初始化程序。 2、编程将片内RAM31H单元的高3位和30H单元的高5位合并为1个字节送片内RAM32H,要求31H的高3位在高位上。 3.以30H为起始地址的内部RAM中,连续存放8个单字节无符号数, 试编一程序,求其平均值送52H单元。 4.片内RAM的40H、41H单元存放2个压缩的BCD码,编制程序将其转换成七段码,并存入片内30H~33H单元中。已知七段码表的首地址为TAB。 四、设计 1、画出利用8255A管理LED3位静态显示的原理简图,并编写显示数字5、7、9的程序。 五、指令题 1.设片内RAM(30H)=0EH,执行下面程序后,(A)=?该程序完成何功能? MOV R0,#30H 答: MOV A,@R0 结果A= RL A 功能: MOV B,A RL A RL A ADD A,B RET 2.设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值? (1)XCH A,R1 (2)XCHD A,@R1 3.设内部RAM中44H单元的内容为43H,执行下列程序后 MOV SP,#78H MOV R1,#44H

ARM嵌入式系统基础教程第二版课后习题答案

第1章嵌入式系统概述 (1)举出3个本书中未提到的嵌入式系统的例子。 答:键盘、鼠标、扫描仪。 (2)什么叫嵌入式系统? 答:嵌入到对象体系中的专用计算机应用系统。 (3)什么叫嵌入式处理器?嵌入式处理器分为哪几类? 答:嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。分为3类:1.注重尺寸、能耗和价格;2.关注性能;3.关注全部4个需求——性能、尺寸、能耗和价格。 (4)什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入式操作系统是操作系统的一种类型,是在传统操作系统的基础上加入符合嵌入式系统要求的元素发展而来的。原因:1.提高了系统的可靠性;2.提高了开发效率,缩短了开发周期。3.充分发挥了32位CPU的多任务潜力。 第2章 ARM7体系结构 1.基础知识 (1)ARM7TDMI中的T、D、M、I的含义是什么? 答:T:高密度16位Thumb指令集扩展;D:支持片上调试;M:64位乘法指令;I:Embedded ICE硬件仿真功能模块。 (2)ARM7TDMI采用几级流水线?使用何种存储器编址方式? 答:3级;冯·诺依曼结构。 (3)ARM处理器模式和ARM处理器状态有何区别? 答:ARM处理器模式体现在不同寄存器的使用上;ARM处理器状态体现在不同指令的使用上。 (4)分别列举ARM的处理器模式和状态? 答:ARM的处理器模式:用户模式、系统模式、管理模式、中止模式、未定义模式、中断模式、快速模式;ARM的处理器状态:ARM状态、Thumb状态。 (5)PC和LR分别使用哪个寄存器? 答:PC:R15;LR:R14。 (6)R13寄存器的通用功能是什么? 答:堆栈指针SP。 (7)CPSR寄存器中哪些位用来定义处理器状态?

ARM嵌入式系统课后习题部分答案

A R M嵌入式系统课后 习题部分答案 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

一填空题 嵌入式系统从大的方面分为(嵌入式系统硬件平台)和(嵌入式软件)两大部分。 驱动层程序一般包括(硬件抽象层HAL)、(板级支持包BSP)和(设备驱动程序)。 嵌入式系统核心是嵌入式处理器,可分为(嵌入式微处理器)、(嵌入式微控制器)、嵌入式DSP处理器和(嵌入式片上系统SoC)4大类。 处理器分为(ARM)和(Thumb)两种操作状态。 状态下,SP寄存器指的是(R13)、LR寄存器指的是(R14)、PC寄存器指的是(R15). 处理器支持的数据类型中,字节为(8)位、半字为(16)位、字为(32)位。 (-S)指令集包括(ARM)指令集和(Thumb)指令集。 指令用于从(存储器)中将一个32位的字数据传送到(目的寄存器)中。指出下面各条指令的寻址方式。 SUB R0,R1,R2 ;寻址方式:(寄存器寻址)。 SUBS R0,R0,#1 ;寻址方式:(立即寻址)。 MOV R0,R2,LSL#3 ;寻址方式:(寄存器移位寻址)。 SWP R1,R1,[R2] ;寻址方式:(寄存器间接寻址)。 LDR R2,[R3,#0x0C] ;寻址方式:(基址寻址)。 汇编语言源程序中语句一般有(指令)、(伪指令)、(伪操作)和宏指令组成。 对Flash存储器的编程可通过(JTAG仿真/调试器)、( ISP )和(IAP)3重方法来实现。 异常向量表可以来自4个不同的存储器区域,分别是(片内Flash )、(片内SRAM )、( Boot Block )和片外存储器。 系列的定时器主要用于3个方面:(对内部事件进行计数的间隔定时器)、(通过捕获输入实现脉宽解调器)、(自由运行的定时器)。二选择题 可以表示微控制器的缩略词是( B ) A. MPU B. MCU C. WDT 类存储器包括( ABD ) A. NOR Flash B. EPROM C. SRAM D. PROM 不属于ARM的系列是( D ) A. MCS-96 B. 80C51 C. LPC2000 处理器系列采用( A )级流水线。 A. 3 B. 5 C. 6 D. 8 下面ARM处理器模式中属于特权模式的有( BCD ) A. 用户模式 B. 中断模式 C. 系统模式 D. 管理模式 (或STM)指令允许一条指令最多传送( C )个寄存器。 A. 4 B. 8 C. 16 D. 24 指令限制在当前指令的( B )地址范围。

嵌入式系统试卷及答案

嵌入式系统试卷及答案

2014年上学期11级计算机专业嵌入式系统期末试卷 专业班级学号姓名___ _____ 考试时间120分钟考试方式闭卷考试成绩__________ _ 题号一二三四五六 得分 一、选择题(本大题共10个小题,每小题1分,共10分) 1、和PC机系统相比,下列哪点不是嵌入式系统所特有的:( C) A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简 2、ADD R0,R1,#3属于( A)寻址方式。 A、立即寻址 B、多寄存器寻址 C、寄存器直接寻址 D、相对寻址 3、GET伪指令的含义是:(A) A、包含一个外部文件 B、定义程序的入口 C、定义一个宏 D、声明一个变量 4、μCOS-II操作系统不属于:(C) A、RTOS B、占先式实时操作系统 C、非占先式实时操作系统 D、嵌入式实时操作系统 5、FIQ中断的入口地址是:(A) A、0x0000001C B、0x00000008 C、0x00000018 D、0x00000014 6、ARM指令集和Thumb指令集分别是(D)位的。 A、8位,16位 B、16位,32位 C、16位,16位 D、32位,16位 7、BL和BX的指令的区别是( D ) A、BL是跳转并切换状态;BX带返回的跳转并切换状态。 B、BL是带返回的连接跳转;BX带返回的跳转并切换状态。 C、BL是跳转并切换状态;BX是带返回的连接跳转。 D、BL是带返回的连接跳转;BX是跳转并切换状态。 8、Boot Loader 的启动过程是( A ) A.单阶段 B. 多阶段 C.单阶段和多阶段都有 D.都不是 9、以下说法不正确的是( B ) A 、任务可以有类型说明 B 、任务可以返回一个数值 C 、任务可以有形参变量 D 、任务是一个无限循环 10、若已定义的函数有返回值,则以下关于该函数调用叙述中错误的是(D) A、函数调用可以作为独立的语句存在

嵌入式练习题

1. 什么是嵌入式系统?其特点有些什么? 答:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。 特点:(1)通常是面向特定应用,低功耗、体积小、集成度高; (2)是技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)软硬件必须高效率地设计,根据应用需求量体裁衣,去除冗余; (4)与具体应用有机结合,具有较长的生命周期; (5)为提高执行速度和系统可靠性,软件一般固化在存储器芯片或单片机本身中; (6)本身不具备自举开发能力,必须有一套开发工具和环境才能进行开发。 2. 嵌入式系统的BooTLoader的功能是什么? 答: BooTLoader是系统加电后,操作系统内核或用户应用程序运行之前,首先必须运行的一段程序,即引导加载程序。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。 3. 什么是嵌入式操作系统?为何要使用嵌入式操作系统? 答:嵌入到对象体系中的专用计算机应用系统。 4. 目前嵌入式操作系统有哪些? 答:(1)Windows CE(2)VxWorks(3)pSOS(4)QNX(5)Palm OS(6)嵌入式Linux 5. 构造嵌入式开发环境有哪几种形式? 答:(1)交叉开发环境(2)软件模拟环境(3)评估电路板 6. 嵌入式系统开发的基本流程? 答:(1)系统定义与需求分析 (2)规格说明 (3)系统结构设计 (4)构件设计 (5)系统集成 7. 什么是可编程片上系统? 答:用可编程逻辑技术把整个系统放到一块硅片上,称作可编程片上系统PSOC.它是一种特殊的嵌入式系统,首先它是SOC,即由单个芯片实现整个系统的主要逻辑功能,具有一般SOC基本属性;其次,它又具备软硬件在系统可编程的功能,是可编程系统,具有可裁剪、可扩充、可升级等灵活的设计方式。 8. 有时要使用Thumb技术的原因? 答:16位Thumb指令集是32位ARM指令集的子集,用16位代码密度的指令获得32位处理器的性能既节省存储空间及成本,又不降低处理性能,低功耗,小体积,低成本。 9. ARM处理器的工作模式有哪几种? 答:用户模式,系统模式,管理模式,中止模式,未定义模式,IRQ模式,FIQ模式 10. 寄存器R13,R14,R15的专用功能各是什么? 答:R13寄存器的作用通常是堆栈指针,SP; R14用作子程序链接寄存器,LR; R15的功能是程序计数器,PC。

嵌入式系统课后答案整理版

第一章 思考与练习 1、举出3个书本中未提到的嵌入式系统的例子。 答:红绿灯控制,数字空调,机顶盒 2、什么叫嵌入式系统 嵌入式系统:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 3、什么叫嵌入式处理器?嵌入式处理器分为哪几类? 嵌入式处理器是为完成特殊的应用而设计的特殊目的的处理器。 嵌入式微处理器(Embedded Microprocessor Un it, EMPU) 嵌入式微控制器(Microco ntroller Un it, MCU) 嵌入式 DSP 处理器(Embedded Digital Signal Processor, EDSP) 嵌入式片上系统(System On Chip) 4、什么是嵌入式操作系统?为何要使用嵌入式操作系统? 是一段在嵌入式系统启动后首先执行的背景程序,首先,嵌入式实时操作系统提高了系统的可靠性。其次,提高了开发效率,缩短了开发周期。再次,嵌入式实时操作系统充分发挥了 32位CPU的多任务潜力。 第二章 1、嵌入式系统项目开发的生命周期分哪几个阶段?各自的具体任务是什么? 项目的生命周期一般分为识别需求、提出解决方案、执行项目和结束项目4个阶段。 识别需求阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。 提出解决方案阶段由各厂商向客户提交标书、介绍解决方案。 执行项目阶段细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必要措施以实现目标。 结束项目阶段主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 2、为何要进行风险分析?嵌入式项目主要有哪些方面的风险? 在一个项目中,有许多的因素会影响到项目进行,因此在项目进行的初期,在客户和开发团队都还未投入大量资源之前,风险的评估可以用来预估项目进行可能会遭遇的难题。

单片机原理及应用张毅刚课后习题答案完整版

第1章思考题及习题1参考答案 一、填空 1. 除了单片机这一名称之外,单片机还可称为或。答:微控 制器,嵌入式控制器. 2.单片机与普通微型计算机的不同之处在于其将、、和 三部分,通过内部连接在一起,集成于一块芯片上。答:CPU、存储器、I/O口、总线 3. AT89S52单片机工作频率上限为 MHz。答:33 MHz。 4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低 和提高。答:成本,可靠性。 二、单选 1. 单片机内部数据之所以用二进制形式表示,主要是 A.为了编程方便B.受器件的物理性能限制 C.为了通用性D.为了提高运算速度答:B 2. 在家用电器中使用单片机应属于微计算机的。 A.辅助设计应用B.测量、控制应用

C.数值计算应用D.数据处理应用 答: B 3. 下面的哪一项应用,不属于单片机的应用范围。 A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备 答:C 三、判断对错 1. STC系列单片机是8051内核的单片机。对 2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、 1个中断源、1个定时器(且具有捕捉功能)。对 3. 单片机是一种CPU。错 4. AT89S52单片机是微处理器。错 5. AT89C52片内的Flash程序存储器可在线写入,而AT89S52则不能。错 6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。对 7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。对

嵌入式Linux试题答案

《嵌入式开发》期中试卷 试卷适用范围:2011级计算机科学与技术(本)1、2班 一、填空题(每空1分,共46分) 习题 1 1.填空题 (1)嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。 (2)嵌入到对象体系中的专用计算机系统。嵌入性、专用性与计算机系统是嵌入式系统的三个基本要素。对象系统是指嵌入式系统所嵌入的宿主系统。 (3)嵌入式系统按形态可分为设备级(工控机)、板级(单板、模块)、芯片级(MCU、SOC)。 (4)嵌入式系统由硬件和软件两大部分组成,硬件一般由高性能微处理器和外围接口电路组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。 (5)嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层组成。 (6)在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、 Linux内核、文件系统、用户应用程序。 (7)嵌入式系统硬件的核心部件是各种类型的嵌入式处理器。 (8)嵌入式系统的核心部件是嵌入式处理器,一般把嵌入式处理器分成4类,即微处理器、微控制器、数字信号处理器、和嵌入式片上系统。 (9)ARM公司首创了 chipless 的生产模式,专门从事基于RISC技术芯片的设计开发,公司本身并不生产芯片,而是设计出高效的IP内核,授权给半导体公司使用。 (10)ARM7TDMI中,T表示支持Thump指令集。D表示支持片上调试(Debug)。M表示内嵌硬件乘法器(Multiplier)。I表示支持片上断点和调试点。 (11)ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型,以适用于不同的应用场合。 (12)ARM微处理器有两种工作状态:Thump状态、ARM状态。 (13)通用寄存器分为三类:未分组寄存器、分组寄存器、程序计数器(PC)。 (14)异常是由内/外部源引起的需要处理器干预的一个事件。 (15)精简指令集计算机RISC(Reduced Instruction Set Computer)和复杂指令集计算机CISC 是当前CPU的两种架构。 (16)ARM微处理器的在较新的体系结构中支持两种指令集: ARM指令集、Thump指令集。 (17)MMU的作用有两个:将虚拟地址转化为物理地址、对存储器访问的

嵌入式习题答案

第一章习题答案 1.什么是嵌入式系统?请列举几个常见的嵌入式系统。 答:根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是控制、监视或者辅助设备、机器和生产线运行的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从产品的应用角度加以定义的,由此可以看出嵌入式系统是软件和硬件的综合体,可以涵盖机械等附属装置。 目前被我国科学家普遍认同的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。 常见的嵌入式系统:手机,DVD,路由器,核磁共振仪,全自动洗衣机。 2.嵌入式系统与通用计算机有哪些区别? 答:(1) 以应用为中心;(2) 以计算机技术为基础(3) 软件和硬件可裁减(4) 对系统性能要求严格(5)软件的固件化(6)需要专用的开发工具 3.嵌入式系统的发展分为哪几个阶段? 答:第一阶段:无操作系统的嵌入算法阶段。第二阶段:以嵌入式CPU为基础,以简单操作系统为核心的嵌入式系统。第三阶段:以嵌入式操作系统为标志的嵌入式系统。第四阶段:以基于Internet 为标志的嵌入式系统。 4.请列举嵌入式系统的主要应用领域。 答:(1)工业控制领域(2)交通运输领域(3)消费电子产品(4)家电领域(5)通信领域(6)商业和金融领域(7)环境监测领域(8)医疗领域(9)建筑领域(10)军事国防领域(11)航天航空领域 第二章习题答案 1.简述简单嵌入式系统与复杂嵌入式系统的主要区别。 答:简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统,例如常用的单片机系统。对于复杂的嵌入式系统,它的开发模式发生了极大的改变。一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统,其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。复杂嵌入式系统具有更强大的功能,但是简单的嵌入式并不会随着复杂的嵌入式系统出现而消亡。2.简述嵌入式系统的体系结构。 答:嵌入式系统从组成上看,可分为嵌入式硬件系统与嵌入式软件系统两大部分。嵌入式硬件层由嵌入式微处理器、嵌入式存储器系统、通用设备和I/O接口等组成。嵌入式系统的软件层分为嵌入式操作系统和嵌入式应用软件两大部分。 3.嵌入式处理器分为哪几类? 答:嵌入式处理器可分为以下四种:嵌入式微控制器(MicroController Unit,MCU),嵌入式微处理器(Embedded Microprocessor Unit,EMPU),嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)和嵌入式片上系统(System on Chip,SoC)。 4.ARM中常用的嵌入式存储器都有哪些? 答:ARM系统的存储器可以分为片内存储器和片外存储器。片内一般以RAM或SRAM为主。片外通常以Flash和SDRAM为主。嵌入式系统中常用的几种内存有Flash、SRAM、SDRAM、DDRSDRAM

相关文档
最新文档