嵌入式复习1
1、一般而言,嵌入式系统的构架可以分为 4 个部分:处理器、(存储器)、输入
/输出和软件,一般软件亦分为(操作系统)和应用软件两个主要部分。
2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为(嵌入式微控制
器),嵌入式 DSP,(嵌入式微处理器)以及片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有进程管理、(进
程间通信)、(内存管理)、I/O 资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和(分时操
作系统),其中实时系统亦可分为(硬实时操作系统)和软实时系统。
5、内核负责管理各个任务,或者为每个任务分配 CPU 时间,并且负责任务之
间的(通信),内核的基本服务是(任务调度)。
6、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC
机或者台式机)。 7、哈佛体系结构数据空间和地址空间(分开),ARM920T 采用(哈
佛体系)的内核架构。 8. ARM7TDMI 采用(3)级流水线结构,ARM920TDMI 采用(5)级
流水线。
9 .按操作系统的分类可知,Dos 操作系统属于顺序执行操作系统,Unix 操作
系统属于(分时)操作系统,VxWorks 属于(实时嵌入式)操作系统。
10、ARM7TDMI 中,T 表示支持 16 位 Thumb 指令集,D 表示(在片可调试),M 表
示内嵌乘法器 Multiplier,I 表示(嵌入式 ICE),支持在线断点和调试。
11、下面哪种操作系统不属于商用操作系统。 (B)
A. windows xp B. Linux C. VxWorks D. WinCE
12. 下面哪点不是嵌入式操作系统的特点。 (C)
A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性
13. 下面哪种不属于嵌入式系统的调试方法。 (D)
A. 模拟调试 B. 软件调试 C. BDM/JTAG 调试 D. 单独调试
14. 在嵌入式 ARM 处理器中,下面哪种中断方式优先级最高。 (A) A. Reset
B. 数据中止 C. FIQ D. IRQ
15. NAND FLASH 和 NOR FLASH 的区别正确的是。 (D)
A. NOR 的读速度比 NAND 稍慢一些 B. NAND 的写入速度比 NOR 慢很多
C. NAND 的擦除速度远比 NOR 的慢 D.大多数写入操作需要先进行擦除操作
16. 下面哪种嵌入式操作系统很少用在手机上。 (D)
A. Symbian B. linux C. Win CE D. VxWorks
17、0X17&0X11 的运算结果是。 (B)
(A) 0X01 (B)0X11
(C) 0X17 (D)0X07
18、嵌入式系统的定义。
以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、
体积、功耗严格要求的专用计算机系统。
19、 写出 uc/os 操作系统在某一任务正在执行时发生中断的处理过程。
中断现有程序->保护现场->执行中断服务程序->判断当前程序优先级或是否允
许任务调度—>(否)执行原来程序/(是)执行更高优先级任务->返回。
1、 从底层硬件到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几
个部分,并写出各部分所完成的功能。
(1)硬件层
(2)BSP(板级支持包 Board Support Package):将系统上层软件与底层硬件分离
开来,使系统的底层
驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据
BSP 层提供的接口即可进行开发。
(3)RTOS(实时操作系统 Real Time Operating System)
(4)文件系统,GUI(图形用户界面 Graphical User Interface)
(5)应用软件
五、专业名词解释
(1)RISC 精简指令集计算机(Reduce Instruct Set Computer) (2)IP 互联网
协议(Internet Protocol)
(3)ISR 中断服务程序(Interrupt Service Routine)
(4)JTAG 联合测试行动组(Joint Test Action Group);调试接口 (5)IDE 集成
开发环境(integrated development environment)
(6)RTOS 实时操作系统(Real Time Operating System) (7)CISC 复杂指令集
计算机(complex instruction set computer) (8)Kernel 内核
(9)Scheduler 调度
嵌入式复习2
1
、 占空比就是输出的
PWM
中,高电平保持的时间 与该
PWM
的时钟周期的时间之比。
2
、 可以通过改变高低电平的时间改变占空比,也可以通过修改时钟周期的时间改变占空
比。(
F
)
前面话对,后面话错
3
、
ARM
处理器有两个级别的中断请求,他们分别是(
fiq
)和(
irq
)。
ARM
上实现内存管理的单元叫(
MMU
)。
4
、
ARM
的全称是(
Advanced RISC Machine
)目前常用的嵌入式外围设备按功能可
以分为(
存储设备
)、(
通信设备
)和(
显示设备
)。
硬件设备
=
嵌入式处理器
+
外围设备外围设备是完成存储通信调试显示等辅助功能的其
他部件。目前常用,存储设备
(ram
,
sram
,
flash)
,通信设备
(rs232
接口,
)
,显示设备
(
显示屏
)
。
5
、 嵌入式
linux
操作系统属于免费的操作系统。
6
、
ARM
有
3
种含义,它是(
一个公司名词
),是(
一类微处理器通
称
),还是(
一种技术
)的名称。
7
、
ARM
支持(
大端
)和(
小端
)两种内存模式。
8
、
CPSR
寄存器是(
程序状态寄存器
)寄存器,
SPSR
寄存器是(
程
序状态保存
)寄存器。
9
、 嵌入式系统的硬件包括(
嵌入式处理器
)和(
外围设备
)。
嵌入式系统是,以应用为中心,计算机技术为基础,软硬件可剪裁,适应应用系统对功能成
本体积功耗等要求的专用计算机系统
根据掉电是否丢失数据分为
RAM ROM
RAM
随机存储器,又称内存,易失存储器,
RAM
分为
SRAM
静态存储器
利用触发器保存信息,
和
DRAM
动态存储器
,利用
MOS
电容储存电荷保存信息,优于前者。
ROM
只读存储器,是非易失存储器一种
flash
是非易失存储器优秀一种。掉电不会丢失,速度快,擦写方便。
arm
采用
32
位架构,基本数据类型
4
种
Byte
8
位
字节
HalfWord
16
半字
2
字节对齐
Word
32
4
DoubleWord
64
8
较高级操作系统,存储系统管理使用存储管理单元,
MMU
,启动后转换映射虚拟地址
arm7
为止使用流水线
3
级
取指令,从寄存器装载一条指令
译码 为下一周期准备控制信号
执行
处理指令,结果写会寄存器
arm9
,五级流水线
3
级
+
缓冲
/
数据
回写
arm10 6
级流水线
影响流水线性能因素
1.
互锁,指令结果是下一个指令操作数,等待指令结果才能进行下一条
2.
跳转指令,预取指令不得不丢弃
二、 判断题:(每题
1
分,共
10
分)
1 、 ARM 只 是 一 种 处 理 器 架 构 。(×
)
2
、 除用户模式和系统模式外,其它模式均为异常模式。
(
√
)
3
、
FCLK
是
CPU
的时钟,也是定时器的工作时钟。
( × )
7
、
CISC
将被
RISC
所取代。
. ( ×
)
9
、
cortex-A8
中只有
CP14
和
CP15
两种协处理器。
CP14
用来测试,
CP15
用作系统控制( )
10
、可以通过改变高低电平的时间改变占空比,也可以通过修改时钟周期的时间改变占空比(F
)
12
、芯片的缓存区越多,读取的速度就越快。(
√
)
嵌入式复习3
1
、 嵌入式系统的概念
广义上讲,凡是带有微处理器的专用软硬件系统都可称为嵌入式系统。如各类单片机和
DSP
系统。这些系统在完成较为单一的专业功能时具有简洁高效的特点。但由于他们没有操
作系统,管理系统硬件和软件的能力有限,在实现复杂多任务功能时,往往困难重重,甚至
无法实现。
从狭义上讲,我们更加强调那些使用嵌入式微处理器构成独立系统,具有自己操作系统,
具有特定功能,用于特定场合的嵌入式系统。本书所谓的嵌入式系统是指狭义上的嵌入式系
统。
根据
IEEE
(国际电气和电子工程师协会)的定义:嵌入式系统是“用于控制、监视或者
辅助操作机器和设备的装置”(原文为
devices used to control, monitor, or assist the operation
of equipment, machinery or plants
)。
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、
成本、体积、功耗严格要求的专用计算机系统。
2
、 嵌入式系统的特点
1)
系统内核小
2)
专用性强
3)
运行环境差异大
4)
可靠性要求高
5)
系统精简和高实时性操作系统
6)
具有固化在非易失性存储器中的代码
7)
无自举开发能力
3
、 嵌入式系统的硬件平台由哪些部分组成
嵌入式系统的微硬件包括嵌入式核心芯片、存储器系统及外部接口
4
、 什么是分时系统、软实时系统、硬实时系统,它们的区别是什么?
分时操作系统按照相等的时间片调度进程轮流运行,分时操作系统由调度程序自动计算
进程的优先级,而不是由用户控制进程的优先级。这样的系统无法实时响应外部异步事件。
硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时
错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。
软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并
不严重,仅仅是轻微的降低了系统的吞吐量。
5
、 嵌入式系统的分类
按嵌入式微处理器的位数分类
a) 4
位
b) 8
位
c) 16
位
d) 32
位
e) 64
位
按软件实时性需求分类
a)
非实时系统
b)
软实时系统
c)
硬实时系统
按嵌入系统的复杂程度分类
b)
小型嵌入式系统
c)
中型嵌入式系统
d)
复杂嵌入式系统
6
、
ARM9
处理器的工作状态有哪些
ARM
状态,
Thumb
状态
7
、
ARM9
处理器的内部寄存器结构
ARM
处理器总共有
37
个寄存器,可以分为以下两类寄存器 :
1
)
31
个通用寄存器 :
R0
~
R15
;
R13_svc
、
R14_svc
;
R13_abt
、
R14_abt
;
R13_und
、
R14_und
;
R13_irq
、
R14_irq
;
R8_frq-R14_frq
。
2
)
6
个状态寄存器
CPSR
;
SPSR_svc
、
SPSR_abt
、
SPSR_und
、
SPSR_irq
和
SPSR_fiq
。
8
、
ARM9
处理器的工作模式有哪些
用户,
FIQ
,
IRQ
,
SVC
,中止,未定义,系统
9
、
CPSR
寄存器各数据位的作用
CPSR
包含条件码标志、中断禁止位、当前处理器模式以及其它状态和控制信息。
10
、
如何实现
ARM
状态和
Thumb
状态的切换
ARM
处理器在两种工作状态之间切换方法:
进入
Thumb
状态:
当操作数寄存器
Rm
的状态位
bit
[
0
]为
1
时,执行
BX Rm
指令进入
Thumb
状态。如
果处理器在
Thumb
状态进入异常,则当异常处理(
IRQ
,
FIQ
,
Undef
,
Abort
和
SWI
)返回
时,自动切换到
Thumb
状态。
进入
ARM
状态:
当操作数寄存器
Rm
的状态位
bit
[
0
]为
0
时,执行
BX Rm
指令进入
ARM
状态。如果处
理器进行异常处理(
IRQ
,
FIQ
,
Undef
,
Abort
和
SWI
),在此情况下,把
PC
放入异常模式
链接寄存器
LR
中,从异常向量地址开始执行也可以进入
ARM
状态。
11
、
ARM
为何集成了
32
位的
ARM
指令集和
16
位的
Thumb
指令集
ARM
的
RISC
体系结构的发展中已经提供了低功耗、小体积、高性能的方案。而为了解
决代码长度的问题,
ARM
体系结构又增加了T变种,开发了一种新的指令体系,这就是
Thumb
指令集。它有从标准
32
位
ARM
指令集抽出来的
36
条指令格式,可以重新编成
16
位的操作码。这能带来很高的代码密度。
12
、
ARM
指令寻址方式与
ARM
指令集中各类常用指令的用法
(内容太多,第三章全部内容!)
13
、
什么是交叉编译,为什么要进行交叉编译
在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,这个编
译过程就叫交叉编译。
原因:有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要
这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器;
有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。
14
、
简述构建交叉编译链的主要步骤
1)
获取相关的源代码和补丁包
2)
它们都存放在
src
目录下
3)
安装
binutils
4)
安装
Linux header
5)
安装
Glibc
头文件
6)
编译
GCC Stage1
7)
使用刚编译出的
GCC
编译
Glibc
8)
重新编译
GCC
,即
GCCStage2
15
、
简述嵌入式系统的开发流程
主要包括系统需求分析
(
要求有严格规范的技术要求
)
、体系结构设计、软硬件及机械系
统设计、系统集成、系统测试,最终得到最终产品。
16
、
嵌入式系统与通用计算机的区别
一是能力不同。通用计算机系统通常什么都能做,我们买个电脑,上网、听音乐、看电
影、做软件都不在话下。嵌入式系统一般面向某一特定应用,不是什么都能干。例如鼠标里
的嵌入式系统任务只是监视鼠标的按键,并向主
CPU
发送键码,数码相机里面的嵌入式系
统主要进行图像处理,让它们什么都能做,有点难也没必要。
二是大小不同。通用计算机系统通常对个头没有要求,台式机占据一张桌子,大型服务
器可以占据一个房间,笔记本放到膝盖上就行。嵌入式系统由于要嵌入到它服务的主体里面,
一般都比较小,而且要与服务的主体有机结合成为一个整体。
三是实时性要求不同。实时性指完成任务的时间要求。通用计算机系统一般实时性要求
不高,但嵌入式系统往往实时性要求很高。比如汽车里的嵌入式系统,如果发动机过热,必
须要求在规定的时间内作出反应,如果像
PC
那样不紧不慢的,后果可想而知。
四是可靠性要求不同。电脑死机估计每个人都经常遇到,死机了怎么办?重启就是。但
是如果火箭发射时里面的嵌入式系统死机了
......,
五是二次开发能力不同。我们买来个电脑,通常也就装了个操作系统,其它的程序我们
需要什么就可以装什么,我们甚至可以打开机箱,加几条内存。但嵌入式系统通常买来后就
那样了,软件和硬件都不变了。数码相机相信多数人没有打开过,也没有再安装什么新软件。
倒是智能手机可以装一些软件,但能力有限。
六是数量不同。嵌入式系统的数量远大于通用计算机系统的数量。因为一个通用计算系
统中至少包括数十个嵌入式系统。更别说其它的嵌入式系统了。
17
、
常见的嵌入式操作系统有哪些,各自有什么特点
1) VxWorks:
性能优越,开发调试便利,强大的技术支持,但是昂贵的价格让开发者望而却步。
2) Windows CE:
精简的模块化操作系统
多硬件平台支持
支持有线和无线的网络连接
稳健的实时性支持
丰富的多媒体和多语言支持
强大的开发工具
3) Palm OS:
3Com
公司产品,专门为掌上电脑开发的
32
位的嵌入式操作系统
占有非常小的内存,基于
Palm OS
编写的应用程序占用的空间也非常小(通常只有
几十
KB
)
Palm
提供了串行通信接口和红外线传输接口,利用它可以方便地与其它外部设备通
信、传输数据
拥有开放的
OS
应用程序接口,开发商可根据需要自行开发所需的应用程序
具有强开放性,现在有大约数千种专门为
Palm OS
编写的应用程序,从程序内容上看,
小到个人管理、游戏,大到行业解决方案,
Palm OS
无所不包。在丰富的软件支持下,
基于
Palm OS
的掌上电脑功能得以不断扩展。
操作系统的节能功能。在
Palm OS
的应用程序中,如果没有事件运行,则系统设备进
入半休眠(
doze
)的状态;如果应用程序停止活动一段时间,则系统自动进入休眠(
sleep
)
状态。
合理的内存管理。
Palm
的存储器全部是可读写的快速
RAM
,动态
RAM
(
Dynamic
RAM
)类似于
PC
机上的
RAM
,它为全局变量和其它不需永久保存的数据提供临时的存
储空间;存储
RAM
(
Storage RAM
)类似于
PC
机上的硬盘,可以永久保存应用程序和
数据。
Palm OS
的数据是以数据库(
database
)的格式来存储的。
4)
嵌入式
Linux:
嵌入式
Linux OS
逐渐形成了可与
Windows CE
等
EOS
相抗衡的局面。目前正在开发
的嵌入式系统中,
49%
的项目选择
Linux
作为嵌入式操作系统。
Linux
现已成为嵌入式操
作系统的理想选择。
开放源码,丰富的软件资源,广泛的软件开发者的支持,价格低廉,结构灵活,适
用面广。
精简的内核,性能高、稳定,多任务。
适用于不同的
CPU
,支持多种体系结构,如
X86
、
ARM
、
MIPS
、
ALPHA
、
SPARC
等。
能够提供完善的嵌入式
GUI
以及嵌入式
X-Windows
。
提供嵌入式浏览器、邮件程序、
MP3
播放器、
MPEG
播放器、记事本等应用程序。
提供完整的开发工具和
SDK
,同时提供
PC
上的开发版本。
用户可定制,可提供图形化的定制和配置工具。
常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。
针对嵌入式的存储方案,提供实时版本和完善的嵌入式解决方案。
完善的中文支持,强大的技术支持,完整的文档。
18
、
什么是
Boot Loader
,
ARM
系统中
Boot Loader
的主要作用是什么
Boot Loader
就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们能
初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,
以便为最终调用操作系统内核准备好正确的环境。
作用:硬件初始化,操作系统引导。
19
、
简述
Boot Loader
的启动过程
大多数
BootLoader
都包含两种不同的操作模式:启动加载模式和下载模式。启动加载
模式也称为自主模式,即
BootLoader
从目标机上的某个固态存储设备上将操作系统加载
到
RAM
中运行,整个过程并没有用户的介入。而下载模式则是目标机上的
BootLoader
将通
过串口连接或网络连接等通信手段从主机(
Host
)下载文件。从主机下载的文件通常首先
被
Boot Loader
保存到目标机的
RAM
中,然后再被
BootLoader
写到目标机上的
FLASH
类固态
存储设备中。这种模式通常在第一次安装内核与根文件系统时被使用,或系统更新时使用。
一般嵌入式系统的
Boot Loader
较为常用的是启动加载模式,它的加载流程也是我们要重点
讨论的内容。
(
1
)启动部分
启动部分主要是实现初始化硬件的功能。在参考板的
BootLoader
目录下,会发现一些
.s
文件,可能会是
init.s
或者是
reset.s
等,这样的文件是
CPU
加电后最先执行的代码。接着
Oal.exe
通过
Startup
函数完成硬件的初始化,
StartUp
函数是
Boot Loader
的入口函数。该函
数一般是使用汇编语言编写,与
CPU
关系非常紧密,能完成初始化
CPU
、内存等核心硬件。
Startup.s
代码与硬件平台的
Bootloader
启动代码共用。如果是热启动,即在该函数调
用之前已经启动了
Bootloader
程序,相当基本硬件初始化已经完成,则直接跳转到
OALStartUp
函数中;否则需要进行硬件中断屏蔽、内存、系统时钟频率、电源管理等硬件的
基本初始化过程。在系统硬件初始化完毕之后,
Startup
调用
OALStartUp
函数,
OALStartUp
函数主要完成将
OEMAddressTable
表传递给内核,然后调用
KernelStart
函数跳转到内核。因
此,这部分工作是
BootLoader
的一大重点。
(
2
)主控部分
StartUp
函数初始化
CPU
等核心硬件并跳转到
Main
函数后,系统就会转入
C
语言代码
执行环境。这时函数分为
3
个模块:
BLCOMMON
、
Download
、
FLASH
。其中
BLCOMMON
模
块是由微软提供的,执行一些逻辑上的功能,因此建议开发人员不要对其进行修改。而
Download
、
FLASH
中的函数与硬件平台息息相关,因此对于每种硬件平台都要将函数的实
现进行修改。
其中,
BLCOMMON
库是与
BootLoader
程序链接在一起的,
BLCOMMON
库的入口点为
BootloaderMain
函数,它是
Startup
汇编函数完成后跳转至该入口的。
Main
函数的主要任务
时调用
BLCommon
中的
BootloaderMain()
函数,这是
BootLoader
的主控函数,它控制了
BootLoader
的完整执行流程。这部分代码由
C
语言实现,是
BLCOMMON
代码的一部分,它
可以用来执行比较复杂的操作。比如检测内存和
Flash
的有效性、检测外部设备接口、检测
串口并且向已经连接的主机发送调试信息、通过串口等待命令、启动网络接口、建立内存映
射等汇编无法完成的工作。
(
3
)下载部分
一般在平台调试完毕后,可以在不用人工干预的情况下自动加载
CE
,这也是
BootLoader
的功能之一。而在调试阶段时,这需要通过
Loader
所支持的命令来进行操作的,借助于这
些命令不仅可以完成硬件平台的部分测试,还能完成
CE
的
BootLoader
程序最为重要的一个
功能
--
下载
CE
映像。如果说硬件调试功能可以由其它的程序代替而不放入
BootLoader
中,
但是下载映像文件却是
BootLoader
必需的功能。
CE
映像文件通常叫做
nk.bin
,它是
Windows CE
二进制数据格式文件,不仅包含了有
效的程序代码,还有按照一定规则加入的控制信息。当然,也可以选择生成
.sre
格式的代码
文件,但是相于对前一种格式,它的代码要长很多,所需要的下载时间也更长。
(
4
)支持
DOC
部份
对于
WinCE
操作系统而言,丰富的多媒体功能是其一大特点。但是随之而来的问题是,
如果选择了图形界面和中文支持,系统很容易大大超出嵌入式系统上百
KB
的数量级。而
DOC
(
Disk On Chip
)则提供了一种相对廉价的大存储容量的解决方案。
DOC
本质上是一种加以软件控制的
NAND
格式的
Flash
,通过
TFFS
这一软件层提供对
WinCE
的支持。由于
DOC
不能像内存一样被直接访问,所以其加载
WinCE
的过程有些特殊,
必须要在
BootLoader
中加入专门的代码,才能使用
DOC
来存放
WinCE
映像文件
20
、
设备驱动程序的功能,设备驱动程序的分类
设备驱动程序的功能
:
1)
设备驱动程序将复杂的硬件抽象成一个结构良好的设备,并通过提供统一的程序接
口为系统的其它部分提供使用设备的能力和方法。
2)
设备驱动程序
(
应该只是
)
为系统的其它部分提供各种使用设备的能力,使用设备的
方法应该由应用程序决定。
设备驱动程序的分类
:
1)
字符设备驱动程序
各种串行接口,并行接口等。
2)
块设备驱动程序
磁盘设备等
3)
网络设备驱动程序
网卡等。
4)
杂项设备驱动程序
不属于上述三种设备之外的一些设备,如
SCSI,
时钟等。
嵌入式复习 4
2
、请写出嵌入式系统在某一任务正在执行时发生中断的处理过程。
3
、在进行基于
ARM
的嵌入式开发时,调用函数如下:
int example(int arg1, int arg2, int arg3, int arg4, int arg5)
,那么根据
ATPCS
标准,以上五个参
数通过什么方式从调用程序传入被调函数?
4
、简述
BootLoader
在嵌入式系统中的主要作用?简述其主要完成哪些工作?
5
、简述嵌入式开发环境主要包括哪些组件(由哪些部分构成)?
6
、为实现以下流程图功能,已有程序段如下所示,请补充编写出该
ARM
汇编代码。
程序段:
MOV R0, #15
MOV R1, #9
start ;
请补充代码
stop B stop
END
7
、初始值
R1=23H
,
R2=0FH
,现执行指令如下:
BIC R0, R1, R2, LSL #1
请给出最后
R0
,
R1
寄存器的值分别为多少?
8
、请说明
STMIA R12!, {R0-R11}
的操作功能。
9
、从底层硬件到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个
部分,并写出各部分所完成的功能。
10
、以下是一个由源程序和
strtest.c
和
scopy.s
组成的项目程序,通过调用
strcopy
完成字符串复制,程序代码如下。要求阅读程序,在注释符后,解释该语句的作
用。(程序如下)
strtest.c
#include <stdio.h>
extern void strcopy(char *d, const char *s);
int main()
{ const char *srcstr = “First string - source”;
char dststr[] = “Second string - destination”;
printf (“ Before copying:\n”);
printf (“ ‘%s\n’ ‘%s\n’ ’’, srcstr, dststr); //
strcopy (dststr, srcstr);
//
printf (“After copying:\n”);
printf (“ ‘%s’\n ‘%s\n’ ”, srcstr, dststr); //
return 0; }
scopy.s
AREA Scopy, CODE, READONLY
EXPORT strcopy
strcopy
LDRB R2, [R1], #1 ;
STRB R2, [R0], #1 ;
CMP R2, #0 ;
BNE strcopy ;
MOV PC, LR ;
END
3 、
4、
5、
6、
7、
8、
9
、
(1)
硬件层
(2)BSP(
板级支持包
Board Support Package):
将系统上层软件与底层硬件分离开来,
使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体
情况,根据
BSP
层提供的接
口即可进行开发。
(3)RTOS(
实时操作系统
Real Time Operating System)
(4)
文件系统,
GUI(
图形用户界面
Graphical User Interface)
(5)
应用软件
10、
习题1
1、与个人计算机(PC)相比,嵌入式系统具有许多不同的特点。下面不属于嵌入式系统特点的是(D)。??
A)??嵌入式系统与具体应用紧密结合,具有很强的专用性??
B)??嵌入式系统通常包含在非计算机设备(系统)中,具有隐蔽性??
C)??嵌入式系统的软硬件资源往往受到严格的限制??
D)??嵌入式系统性能较低,价格也比较便宜?
【解析】:与人们日常使用的个人计算机相比,嵌入式系统具有许多不同的特点。1)专用型,嵌入式系统与具体应用紧密结合,具有很强的专用型;2)隐蔽性,嵌入式系统通常总是非计算机设备(系统)中的一个部分,它们隐藏在其内部,不为人知;3)资源受限,嵌入式系统通常要求小型化、轻量化、低功耗及低成本,因此其软硬件资源受到严格的限制;4)高可靠性;5)实时性;6)软件固化。综上所述,D选项不属于嵌入式系统的特点。
2.嵌入式系统中的CPU具有一些与通用计算机所使用的CPU不同的特点,下面不是其特点的是(C)。??
A)??支持实时处理??
B)??低功耗??
C)??高主频??
D)??集成了测试电路?
【解析】:嵌入式系统中的CPU一般具有4个特点:1)支持实时处理;2)低功耗;3)结构可扩展;4)集成了测试电路。因此,该题选C。
3、嵌入式系统使用的片上系统英文缩写名为SoC,下面关于SoC叙述中错误的是(D)。??
A)??SoC也称为系统级芯片,它是电子设计自动化水平的提高和集成电路制造技术飞速发展的产物??
B)??SoC芯片中既包含数字电路,也可以包含模拟电路,甚至还能包含数字/模拟混合电路和射频电路??
C)??SoC将嵌入式系统的几乎全部功能都集成在一块芯片中,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能??
D)??SoC的设计制造难度很大,目前还没有得到广泛使用?
【解析】:随着电子设计自动化水平的提高和VLSI制造技术的飞速发展,半导体加工已经从微米、亚微米进入到深亚微米的时代,单个芯片上可以集成几亿个甚至几十亿个晶体管,因而能够把计算机或其他一些电子系统的全部电路都集成在单个芯片上,这种芯片就是所谓的片上系统。SoC芯片中既包含数字电路,也可以包含模拟电路,甚至还能包含数字/模拟混合电路和射频电路。由于SoC将嵌入式系统的几乎全部功能都集成在一块芯片中,单个芯片就能实现数据的采集、转换、存储、处理和I/O等多种功能。目前,大多数32位的嵌入式处理芯片均为SoC,SoC逐渐成为集成电路设计的主流发展趋势。综上可知,D选项不正确。
4.下面说法正确是(B )
A. 嵌入式系统不是一个计算机系统。 ??
B. MP3播放器是软实时的。 ??
C. 嵌入式系统的资源受限就是嵌入式系统的体积太小。 ??
D. 嵌入式系统的开发调试通常比通用计算机轻松容易。
嵌入式系统通常 要求小型化、轻量化、低功耗及低成本,因此其软硬件资源受到严格的限制;
5.通常所说的?32 位微处理器是指( ?C?)
A.地址总线的宽度为?32 位?? ? B.处理的数据长度只能为?32 位
C.CPU 字长为?32 位 ? D.通用寄存器数目为?32 个
6.将高速缓存分为指令缓存(I Cache)和数据缓存(D Cache)的体系结构是(B)
A.冯?诺依曼结构 ? B.哈佛结构
C.RISC?? D.CISC
7.嵌入式应用通常考虑进行运行速度优化和代码尺寸优化,这是由嵌入式系统的(C )
A.专用性特点决定的
B.计算机系统特点决定的 ?
C.资源受限特点决定的 ??
D.功耗约束特点决定的
8、下面哪点不是嵌入式操作系统的特点( ??C )
A. 内核精简 B. 专用性强 C. 功能强大 D. 高实时性
9、0x07&0x11的运算结果是( ????A ????)
(A) 0x01 ?????????????????????(B)0x11
(C) 0x17 ?????(D)0x07
10、存储一个32位数0x3162465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为( D )。
A、0x21 ????B、0x62 ??????? ???C、0x65 ??? D、0x03
11、寄存器R13除了可以做通用寄存器外,还可以做(C )。
A、程序计数器 B、链接寄存器 C、栈指针寄存器 ????D、基址寄存器
12、寄存器R14除了可以做通用寄存器外,还可以做(B)
A. 程序计数器 B. 链接寄存器 C. 堆栈指针寄存器 D. 基址寄存器
13、和PC机系统相比下列哪个不是嵌入式系统独具的特点(C)
A、系统内核小 B、专用性强 C、可执行多任务 D、系统精简
14、关于ARM处理器的工作模式,以下说法错误的是()。??
A)??用户模式是程序正常执行的模式??
B)??快速中断模式处理高速中断,用于高速数据传输或通道处理??
C)??管理模式用于操作系统的保护模式,处理软中断??
D)??系统模式用于处理未定义的指令陷阱
【解析】:ARM处理器有多种工作模式,其中用户模式(usr),ARM处理器正常的程序
执行状态系统模式(sys),运行具有特权的操作系统任务;快中断模式(fiq),支持高速数据传输或通道处理;管理模式(svc),操作系统保护模式。除此之外还有数据访问终止模式(abt)、中断模式(irq)、未定义指令终止模式(und)。综上,D项错误,故选择D
15、在嵌入式ARM处理器中,下面哪种中断方式优先级最高( ???A ???)
A. ?Reset B. 数据中止 C. FIQ D. IRQ
16、在ARM处理器中,___________寄存器包括全局的中断禁止位,控制中断禁止位就可以打开或者关闭中断。( ????A ????)?
A.CPSR ?????B.SPSR ????C.PC ????????D.IR
17、在下列ARM处理器的各种模式中,____D___模式有自己独立的R8-R14寄存器。( ??D ??)
A、系统模式(System) ??????????????B、终止模式(Abort) ?
C、中断模式(IRQ) ????????????????D、快中断模式(FIQ)
18、嵌入式系统最小硬件系统不包括( ??C ??)
A、时钟系统 ????????????????????B、供电系统(电源)
C、存储器系统 ??????????????????D、复位及其配置系统
19、嵌入式系统软件的要求与台式通用计算机有所不同,其特点主要有( ????ACD ????)
A、软件要求固态化存储 ???????????????B、用面向过程的语言进行编程
C、软件代码要求高效率、高可靠性; ???D、系统软件(OS)有较高的实时性要求。
20、由于受到某种强干扰导致程序“跑飞”,ARM处理器的最可能进入哪一种工作模式( ?D ???)
A、管理模式????????????????????????B、数据访问终止模式
C、系统模式????????????????????????D、未定义指令中止模式
21、关于ARM处理器的异常的描述不正确的是( ?C ???)
A、复位属于异常????????????????????B、除数为零会引起异常
C、所有异常都要返回????????????????D、外部中断会引起异常
22、下面哪一种工作模式不属于ARM特权模式(???A ???)。
A、用户模式 B、管理模式 ?C、软中断模式 D、FIQ模式
23、以下关于ARM处理器CPSR寄存器说法错误的是()。??
A)??CPSR记录ARM的工作状态??
B)??CPSR决定ARM工作模式??
C)??CPSR可设定是否允许外部中断和快速中断??
D)??CPSR是ARM的控制寄存器?
【解析】:ARM处理器的CPSR寄存器是程序状态寄存器,包含条件码标志,中断禁止位,当前处理器模式以及其他状态和控制信息。故此题选择D。
24、关于ARM处理器的异常,以下说法错误的是()。??
A)??复位异常级别最高
B)??FIQ是外部中断异常??
C)??每个异常中断向量占据4个字节??
D)??不同类型的异常中断其中断服务程序入口地址不同??
【解析】ARM有七种异常类型,复位异常、数据访问中止异常、快速中断请求异常(FIQ)、一般中断请求(IRQ)、预取指令异常、软件中断异常、未定义异常。每个异常中断向量占据4个字节,不同类型的异常中断其中断服务程序入口地址不同,其中复位异常级别最高。故此题选B。
当异常发生时,ARM处理器自动将PC更新为向量表中的中断入口地址。处理器挂起正常的指令执行,将流水线重新刷新,并开始装载异常处理指令进行执行。
向量表保存的一般为跳转地址。
Each vector table?entry contains a form of branch instruction pointing to the start of a specific routine:
复位向量? ? 处理器上电时第一条需要执行的指令的位置,该指令将跳转至初始化代码段,执行系统初始化功能。
未定义指令向量??当处理器不能解码一条指令时
软件中断向量? ???当处理器执行SWI指令时,SWI指令常用于调用操作系统API,由用户态切换至内核态时。
预取终止向量? ? 当处理器试图从一个未授权的地址取指令时,实际的异常在流水线解码阶段发生。
数据终止向量? ?当处理器试图从一个未授权的地址取数据时。与预取终止类似。
中断请求向量? ?当外设发出请求并中断处理器正常执行流程时,仅在CPSR中I标志位未屏蔽时。
快速中断请求向量??与中断请求类似,保留给需要快速响应的硬件外设,仅在CPSR中F标志位未屏蔽时。
嵌入式开发环境主要包括哪些组件?
??嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括
l 宿主机
l 目标机(评估电路板)
l 基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE
l 运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境
l 嵌入式操作系统
?
习题2
1、下列哪一项不属于嵌入式系统软件结构一般包含的四个层面。(???A??)?
A.嵌入式处理器?
B.实时操作系统(RTOS)??
C.应用程序接口(API)层??
D.实际应用程序层??
2、一条ARM数据处理指令,例如“ADD?R0,R1,#immed”中使用的立即数?#immed?是有一定限制的,下列立即?数表示中合法的是(??B???)。?
A.0x00001234?
B.0xF000000F?
C.0x0000F008?
D.0xF080000?
3、μCOS-II操作系统不属于(??C???)。?
A、RTOS?
B、占先式实时操作系统
C、非占先式实时操作系统??
D、嵌入式实时操作系统?
4、?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??
5、ARM寄存器组有(???D??)个寄存器。?
A、7???????B、32? C、6 ?D、37?
6、?每种嵌入式操作系统都有自身的特点以吸引相关用户,下列说法错误的是(?D???)。?
A.?嵌入式Linux提供了完善的网络技术支持;?
B.?mCLinux是专门为没有MMU的ARM芯片开发的;?
C.?mC/OS-Ⅱ操作系统是一种实时操作系统(RTOS);
D.?WinCE提供完全开放的源代码。?
7、存储一个32位数0x2168465到2000H~2003H四个字节单元中,若以大端模式存储,则2000H存储单元的内容为(??D????)。?
A、0x21?????
B、0x68??
C、0x65?
D、0x02?
8、下列不是嵌入式系统的特点的是(??C????)??
A.嵌入式系统需要专用开发工具和方法进行设计。??
?B.嵌入式系统是技术密集、资金密集、高度分散、不断创新的知识集成系统。???
C.嵌入式系统使用的操作系统一般不是实时操作系统(RTOS),系统不具有实时约束。?
D.嵌入式系统通常是面向特定任务的,而不同于一般通用PC计算平台,是“专用”的计算机系统?
9、寄存器R15除了可以做通用寄存器外,还可以做(?A????)?
A.?程序计数器??
?B.?链接寄存器?
C.?堆栈指针寄存器??
D.?基址寄存器?
10、若R1=2000H,(2000H)=0x28,(2008H)=0x87,则执行指令LDR?R0,[R1,#8]!后R0的值为(?D?????)。?
A.?0x2000??????
B.?0x28?
C.?0x2008??
D.?0x87?
11、FIQ中断的入口地址是(????A??)。?(P36)
A、0x0000001C?????
B、0x00000008?
C、0x00000018??
D、0x00000014?
12、ARM指令集是(???B???)位的。?
A.?16???????B.?32 ?C.?8? ?D.?24?
13、IRQ中断的入口地址是(?C)。
A、0x00000000??
B、0x00000008
C、0x00000018??
D、0x00000014
14、?实时操作系统中,两个任务并发执行,一个任务要等待其合作伙伴发来信息,或建立某个条件后再向前执行,这种制约性合作关系被成为(A)。
?A.?同步????B.?互斥??????C.?调度??????D.?执行?
15、ADD?R0,R1,#3属于(A)寻址方式。
- 立即寻址?
B.?多寄存器寻址?
C.?寄存器直接寻址?
D.?相对寻址
16、GET伪指令的含义是(?A)?
A.?包含一个外部文件??
B.?定义程序的入口
C.?定义一个宏?
D.?声明一个变量?
17、存储一个32位数0x876165到2000H~2003H四个字节单元中,若以小端模式存?储,则2000H存储单元的内容为(?C)。
?A、0x00??B、0x87??C、0x65??D、0x61
18、假设R1=0x31,R2=0x2??则执行指令ADD?R0,R1,R2?LSL?#3?后,R0的值是(?C)?
A.?0x33??、
B.?0x34?
C.?0x41?
?D.?0x39
19、Cache用于存放主存数据的部分拷贝,主存单元地址与Cache单元地址之间的转换用(A)完成。?
A.硬件??????
B.?软件??????
C.?用户??????
D.?程序员
20、?下列关于存储管理单元(MMU)说法错误的是(B)。?
A.?MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行。?
B.?在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计。?
C.?MMU提供了一些资源以允许使用虚拟存储器。?
D.?MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址。
21、IRQ中断的优先级别是(?????D?????)。
?A.?1???B.?2???C.?3???D.?4?
22、?LDR??R2,[R3,#128]?的寻址方式是(???C???????)。
?A.?寄存器寻址??B.?寄存器移位??C.?变址寻址??????D.?间接寻址
23、在下列ARM处理器模式中,(D)模式有自己独立的R8-R14寄存器。(P31)
A.系统模式??
B.终止模式?
C.中断模式?
D.快速中断模式?
24、NAND?FLASH和NOR?FLASH的区别正确的是。?(????D????)?
A.?NOR的读速度比NAND稍慢一些??
B.?NAND的写入速度比NOR慢很多
C.?NAND的擦除速度远比NOR的慢??
D.大多数写入操作需要先进行擦除操作
25、下面指令执行后,改变R1寄存器内容的指令是(??D?)。?
?A、TST?R1,#2???????????????????????
B、ORR??R1,R1,R1???
?C、CMP?R1,#2??????????????????
D、EOR??R1,R1,R1
三、判断题(每题2分,共14分)?
1、ARM处理器在未定义模式下可以处理存储器故障,实现虚拟存储器和存储器保护。(??F?)?(P27)
2、在ARM的数据处理指令中,大多数均可在指令助记符后加S来设置状态寄存器的条件码。??(?T??)?
5、ARM和Thumb之间状态的切换不影响处理器的模式或寄存器的内容。??(??T??)
?6、当操作数寄存器Rm的状态位bit[0]为1时,执行BX?Rm指令就可从ARM状态进入Thumb状态。??(???T?)
?7、ARM处理器结构体系中具有T变种的处理器核可以工作在ARM状态和Thumb状态。
?(?T???)
习题3
1、在ARM处理器的工作模式中( ??A ??)是操作系统使用的保护模式。
A、管理模式 ?????B、系统模式 ??????C、用户模式 ?????D、外部中断模式 ???????????????
2、已知R0=0x12345678,R1=0x300,在小端存储格式下,执行以下语句之后,R2=( ?D ??)
STR R0,[R1]
LDRB R2,[R1]
A、0x12 ??????????????????B、0x34
C、0x56 ??????????????????D、0x78
3、关于ARM汇编语言,以下叙述中正确的是( ??B ??)
A、ARM汇编语言程序可以直接在ARM微处理器上运行 ???????????????????
B、ARM汇编语言通常会提供控制伪指令,用于控制汇编程序的执行流程
C、在ARM汇编语言中,不能定义符号常量
D、ARM伪指令语句所指示的操作是在程序运行时完成的
4、下列描述不属于RISC计算机的特点的是( ??C ??)
A、流水线每周期前进一步。 ???????????????????
B、更多通用寄存器。
C、指令长度不固定,执行需要多个周期。
D、独立的Load和Store指令完成数据在寄存器和外部存储器之间的传输。
5、某系统需要永久存放大量不再修改的数据,最合适的存储器是( ?D ???)
A、SRAM ?????????????????????????B、DRAM
C、EEPROM ???????????????????????D、Flash
6、指令“LDMIA R0!,{R1-R4}”的寻址方式为( ??C ??)
A、立即寻址 ????B、寄存器间接寻址 ???C、块复制寻址 ????D、堆栈寻找
7、下面哪一类嵌入式处理器最适合于做FFT(快速傅立叶变换)计算( ??C ??)
A、嵌入式微处理器 ???????????????B、微控制器 ??????
C、DSP ?????????????????????????D、以上都不合适 ??
8、下面关于冯·诺依曼结构描述正确的是( ??C ??)。
A、程序存储空间与数据存储空间分离 ????????B、存储空间与IO空间分离
C、程序存储空间与数据存储空间合并 ????????D、存储空间与IO空间合并
9、ARM7TDMI在开始执行代码时应处于( ?A ???)
A、ARM状态 ???????????????????????B、Thumb状态
C、由用户通过硬件设计指定 ??????????D、不确定
10、关于ARM处理器的异常向量表的描述正确的是( ??C ??)
A、异常向量表放的就是中断服务子程序
B、异常向量表放的是中断服务子程序的入口地址
C、异常向量表放的是跳转指令,执行该指令进入相应中断服务子程序 ????????????
D、以上都不是
11、嵌入式系统最常用的数据传送方式是( ?B ??)
A、查询 ??????B、中断 ??????C、DMA ???????D、I/O处理机
12、关于ARM处理器的异常的描述不正确的是( ??C ??)
A、复位属于异常 ???????????????????B、除数为零会引起异常
C、所有异常都要返回 ???????????????D、外部中断会引起异常
13、某系统需要小量的高速缓存,最合适的存储器是( ??A ??)
A、SRAM ???????????????????B、DRAM
C、EEPROM ?????????????????D、Flash
14、嵌入式操作系统一般通过( ?A ??)手段来解决代码体积与嵌入式应用多样性的问题。
A、使用可定制的操作系统
B、将操作系统分布在多个处理器上运行
C、增大嵌入式设备的存储容量
D、使用压缩软件对操作系统进行压缩
15、软实时系统要求( ??A ??)
A、事件响应实时 ???????????????????B、事件和任务响应都实时
C、任务响应实时 ???????????????????D、事件和任务响应都不实时
16、基于中断的实时编程结构的实时性取决于( ?A ??)
A、中断响应时间 ???????????????????B、最长任务执行时间
C、任务切换时间 ???????????????????D、所有其它任务执行时间之和
17、下面属于ARM 子程序调用指令的是( ?C ???)
A、B ??????????B、BX ?????????C、BL ????????D、MOV
18、以下有关ARM处理器工作状态的描述中( ??D ??)是不正确的。
A、ARM处理器有两种工作状态。
B、系统复位后自动处于ARM工作状态。
C、在程序执行过程中,微处理器可以随时在两种工作状态之间切换。
D、切换工作状态时必须保存现场。
19、下面ARM汇编指令( ??B ??)完成R1=R0×8操作。
A、ADD R1,R0,#8 ???????????????????
B、MULL R1,R0,#8
C、MOV R1,R0,#8 ??????????????
D、MOV R1,R0,LSL #3
20、以下哪条指令不会影响CPSR( ?A ??)
A、CMN?????????????????????B、TEQ
C、SUBS????????????????????D、ADDCS
21、0x27&0x15的运算结果是( ??C ??)
A、0x01 ???????????????????B、0x11
C、0x05 ???????????????????D、0x00