2024年3月11日发(作者:皮寄南)
1、 ARM微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模
式 。其中用户模式属于 非特权模式
2、 ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、
Thumb ,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态
3、 ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,
R15 寄存器用于存储PC,R13通常用来存储 SP
ARM处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指
令分开使用不同接口的是 哈佛结
4、 ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor 。
5、 ARM微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管
理部件)来进行虚拟内存的存储和管理。当系统发生 数据 异常和
指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过
MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。
6、 编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是
打断对齐
7、 构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,
ARM公司提供的工具链是 ADS工具链
计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于 RISC 类型,
其指令长度是 定长的
1、 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六
2、ARM系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。ATPCS编程规范约定
使用的堆栈是哪一种?
栈
栈
Lo AddressLo Address
空
空
间
间
的
的
增
增
长
长
方
方
向
向
SP
SPSP
SP
。。。
栈
栈
空
空
间
间
的
的
增
增
长
长
方
方
向
向
Hi AddressHi Address
答:FD、FA、ED、EA。ATPCS编程规范约定使用的堆栈是FD
3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?
答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过
Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调
整好适当的系统软硬件环境。
4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用
什么软件建立连接?在Linux主机上使用什么软件建立连接?
1、 答:RS-232,以太网口、并口
在Windows主机上使用超级终端软件
在Linux主机上使用Minicom软件
5嵌入式开发环境主要包括哪些组件?
嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括
宿主机
第 页 共 21 页
1
地
址
的
增
长
方
向
目标机(评估电路板)
基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE
运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境
嵌入式操作系统
6 在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:
int do_something(int arg1,void *arg2,char arg3,int *arg4)
这四个参数通过什么方式从调用程序传入被调函数?
根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个
参数使用堆栈传递。因此arg1通过R0传入, arg2, 通过R1传入,arg3通过R2传入,arg4
通过R3传入
7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六
1、 写一条 ARM 指令,完成操作r1 = r2 * 3(4分)
ADD R1,R2,R2,
LSL #1
2、 初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #1后,寄存器R0,R1的
值分别是多少?(4分)
R0=21H,R1=23H
3、说明指令STMIA r12!, {r0-r11}的操作功能。(4分)
将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的
操作方式是先操作、后增加,并更新地址。
4、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放
在r4中。程序框架如下,补充代码完成上述功能。(8分)
AREA total, CODE READONLY
ENTRY
start
MOV r4, #0
ADR r0, myarray
;在此补充代码
loop
LDR r1, [r0], #4
ADD r4, r4, r1
CMP r1, #0
BNE loop
5、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字
符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用,
并说明extern和EXPORT伪指令的在程序中的作用。(8分)
strtest.c
#include
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); //
第 页 共 21 页
2
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
//输出源串和目标串 (8分)
//调用strcopy函数
//输出复制后的源串和目标串
;r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1
;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1
;测试串尾标志0
;非零转标号strcopy
;返回
一、 程序测试题(共24分)
1、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放
在r4中。程序框架如下,补充代码完成上述功能。(8分)
AREA total, CODE READONLY
ENTRY
start
MOV r4, #0
ADR r0, myarray
;在此补充代码
答:
loop
LDR r1, [r0], #4
ADD r4, r4, r1
CMP r1, #0
BNE loop
stop
B stop
myarray
DCD 0x11
DCD 0x22
„„
DCD 0x0
END
2、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分)
第 页 共 21 页
3
num EQU 2
start
MOV r0, #0
MOV r1, #5
MOV r2, #2
BL func
stop
B stop
func
CMP r0, #num
MOVHS pc, lr
ADR r3, JumpTable
LDR pc, [r3,r0,LSL#2]
JumpTable
DCD DoA
DCD DoS
DoA
ADD r0, r1, r2
MOV pc, lr
DoS
SUB r0, r1, r2
MOV pc,lr
END
答:R0为0调用DoA,R0为1调用DoS,R0大于2直接返回,流程图略。R0=7
3、 这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字
符串复制,程序代码如下。要求阅读程序,在程序中的注释符后,说明该句程序的作用,
并说明extern和EXPORT伪指令的在程序中的作用。(8分)
strtest.c
#include
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); //调用strcopy函数
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 ; r1指向源串,从源串载入一个字节的字符到r2,
并更新r1=r1+1
STRB r2, [r0],#1 ;r0指向目标串,从r2保存一个字节的字符到目标串,
并更新r0=r0+1
CMP r2, #0 ;测试串尾标志0
第 页 共 21 页
4
BNE strcopy ;非零转标号strcopy
MOV pc,lr ;返回
END
一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。
1、一般而言,嵌入式系统的构架可以分为4个部分:分别是(处理器)、存储器、输入/输出
和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。
2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式DSP
处理器),(嵌入式微处理器)以及片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理)、进程间通信、(内
存管理)、I/O资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其
中实时系统亦可分为(硬实时系统)和软实时系统。
5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内
核的基本服务是(任务切换)。
6、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式
机)。
7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI采用(冯诺依曼体系)的内核架构。
8. ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5 )级流水线。
9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)
操作系统,VxWorks属于(实时嵌入式)操作系统。
10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器
Multiplier,I表示(嵌入式ICE),支持在线断点和调试。
二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。
1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。
( D )
(A) 处理器的编译器能够产生可重入代码 (B) 在程序中可以找开或者关闭中断
(C) 处理器支持中断,并且能产生定时中断 (D) 有大量的存储空间
2、下面哪种操作系统最方便移植到嵌入式设备中。
( D )
(A) DOS (B)unix (C) Windows xp (D)linux
3、下面哪个选项不是SUB设备的特点。
( B )
(A) 串行通信方式 (B)不可热拨插
(C) 分HOST、DEVICE和HUB (D)通信速率比RS232快
4、下面哪种嵌入式操作系统很少用于手机终端设备上。
( C )
(A) Symbian (B)WinCE (C) uc/os (D)linux
5、以下哪项关于SRAM和DRAM的区别是不对 。
( A )
(A) SRAM比DRAM慢 (B)SRAM比DRAM耗电多
(C) DRAM存储密度比SRAM高得多 (D)DRM需要周期性刷新
6、uc/os操作系统不包含以下哪几种状态。
( C )
(A) 运行 (B)挂起 (C) 退出 (D)休眠
7、0x07&0x11的运算结果是。
( A )
(A) 0x01 (B)0x11 (C) 0x17 (D)0x07
8、以下哪种方式不是uc/os操作系统中任务之间通信方式。
( C )
(A) 信号量 (B)消息队列 (C) 邮件 (D)邮箱
9、以下哪种方式不是文件系统的格式。
第 页 共 21 页
5
( B )
(A) FAT (B)DOS (C) NTFS
(D)Ext
10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。
( A )
(A) OS_CORE.C (B)include.h (C) OS_CPU.H (D)OSTaskInit
三、判断题:共5小题,每小题2分,满分10分。
1、所有的电子设备都属于嵌入式设备。
( F )
2、冯诺依曼体系将被哈佛总线所取代。
( F )
3、嵌入式linux操作系统属于免费的操作系统。
( T )
4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。
( T )
5、USB2.0的最大通信速率为12M/S。
( F )
简答题:共2小题,每小题10分,满分20分。
1、 根据嵌入式系统的特点,写出嵌入式系统的定义。
以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格
要求的专用计算机系统
2、 试分析实时操作系统的工作状态特点及相互之间的转换。
运行:获得CPU的控制权;
就绪:进入任务等待队列,通过调度中转为运行状态;
挂起:任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒,从而转为就绪
或者运行;
休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。
多任务
四、分析计算题:共2小题,每小题10分,满分20分。
1、试写抢占式和非抢占式的区别。
执行的过程中对中断处理方式不一样,抢先式:某一中断执行完成后,如果有更高优先级的任
务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃CPU
的控制权,其它任务才能够获得CPU的控制权。
2、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,
并写出各部分所完成的功能。
(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件
系统、GUI,网络及通用组件);(4)功能层。
五、专业名词解释(写出以下英文简写对应的中文名称):共5小题,每小题2分,满分10分。
(1)RTOS (2)CISC (3)Kernel (4)Scheduler (5)non-preemptive
(1)RTOS(实时操作系统); (2)CISC(复杂指令集);
(3)Kernel(内核) (4)Scheduler(调度)
(5)non-preemptive(非抢先式)
1. 请简述嵌入式系统的设计过程。
嵌入式系统得设计过程:
(1)系统定义与需求分析
(2)系统设计方案的初步确立
(3)初步设计方案性价比评估与方案评审论证
(4)完善初步方案、初步方案实施
第 页 共 21 页
6
(5)软硬件集成测试
(6)系统功能性能测试及可靠性测试
2. 简述ARM处理器的工作状态。
ARM处理器的工作状态:
(1)ARM状态:32位,ARM状态下执行字对准的32位ARM指令;
(2)Thumb状态:16位,Thumb状态下执行半字对准的16位Thumb指令。在Thumb状态下,
程序计数器PC使用位1选择另一个半字。
3. 简述ARM处理器的7种运行模式及各自的用途。
ARM处理器的7种运行模式:
(1)用户模式:正常用户模式,程序正常执行模式。
(2)FIQ模式:处理快速中断,支持高速数据传送或通道处理。
(3)IRQ模式:处理普通中断。
(4)SVC模式:操作系统保护模式,处理软件中断。
(5)中止模式:处理存储器故障,实现虚拟存储器和存储器保护。
(6)未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。
(7)系统模式:运行特权操作系统任务。
4. 简述BLX、SWI、STM、LDM、MOV、MVN的含义。
BLX: 带链接和状态切换的跳转指令 SWI: 软件中断指令 STM: 批量内存字写入指令
LDM: 加载多个寄存器指令 MOV: 数据传送指令 MVN: 数据取反传送指令
5.请解释下列程序中的各条指令:
第 页 共 21 页
7
.equ x, 45 /*定义变量x,并赋值为45 */
.equ y, 64 /*定义变量y,并赋值为64*/
.equ stack_top, 0x1000 /*定义栈顶0x1000*/
.global_start /*声明全局变量*/
.text /*将操作符开始的代码编译到代码段*/
_start: /*程序代码开始标志*/
mov sp, #stack_top /*定义堆栈位置*/
mov r0, #x /*x的值放入r0*/
str r0, [sp] /*r0的值保存到堆栈*/
mov r0, #y /*y的值放入r0*/
ldr r1, [sp] /*取堆栈中的数到r1*/
add r0, r0, r1 /*将r0中的数和r1中的数相加的结构放入r0*/
str r0, [sp] /*r0的值保存到堆栈*/
stop:
b stop /*程序结束,进入死循环*/
.end
6. 分析说明S3C44B0X的总线优先级顺序。
(1)DRAM refresh controller(DRAM刷新控制器);
(2) LCD_DMA
(3) ZDMA0,1
(4)BDMA0,1
(5) External bus master(外部总线控制器);
(6) Write buffer(写缓冲区)
(7)Cache 和 CPU。
7. S3C44B0X中具有哪几个定时器?分别有哪些功能特性?
6个16位定时器:都可以工作在中断或DMA模式。定时器0、1、2、3、4有PWM功能,定
时器5只是一个内部定时器而无输出引脚。
PWM定时器特性为:
6个基于DMA或中断操作的16位定时器
3个8位预分频器,2个5位除法器和1个4位除法器。
输出波形可编程的功率控制器(PWM)
自动重装或短脉冲模式(One-shot Pulse Mode)
死区发生器
1个看门狗定时器:
看门狗定时器具有以下特性:
带中断请求的普通间隔定时器模式
当定时器计数值达到0时,内部复位信号被激活128MCLK周期
8. S3C44B0X中功耗管理的5种模式是什么?
S3C44B0X中功耗管理的5种模式: 正常模式:正常运行模式; 低速模式:不加PLL
的低时钟频率模式;
空闲模式:只停止CPU 的时钟; 停止模式:停止所有的时钟;
LCD的SL空闲模式:SL 空闲模式的进入将导致 LCD 控制器开始工作。此时,CPU和除
LCD控制器外的所有外设都停止工作。
9. 简述BootLoader的作用。
Boot loader作用:系统引导程序,负责Linux内核的启动,用于初始化系统资源,包括SDRAM。
这部分代码用于建立Linux内核运行环境和从Flash中装载初始化Ramdisk等。它首先完成系
统硬件的初始化,包括时钟的设置、存储区的映射、堆栈指针的设置等;然后跳转到操作系统
内核的入口,将系统控制权交给操作系统。
第 页 共 21 页
8
10. 写出S3C44B0X的UART1的初始化设置程序代码。
UART初始化程序:
static int whichUart=0;
void Uart_Init(int mclk,int baud)
{int i;
If(mclk==0)
mclk=MCLK;
rUFCON1=0x0;
rUMCON1=0x0;
rULCON1=0x3;
rUCON1=0x245;
rUBRDIC1=((int)(mclk/16./baud+0.5)-1);
for(i=0;i<100;i++);
}
11 ARM常见的寻址方式有哪些?
立即寻址 寄存器寻址 寄存器间接寻址 基址加偏址寻址 堆栈寻址 块拷贝寻
址 相对寻址
12嵌入式系统软件的层次结构并简要介绍?
嵌入式系统软件的层次结构:
驱动层程序:驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何的
外部设备都需要有相应驱动层程序的支持,他为上层软件提供了设备的操作
接口。驱动层程序一般包括硬件抽象层HAL、板极支持包BSP和设备驱动程
序。
实时操作系统RTOS:对于使用操作系统得嵌入式系统而言,操作系统一般
以内核映像的形式下载到目标系统中。内核中通常必需的基本部件是进城管
理、进程间通信、内存管理部分,其他部件如文件系统、驱动程序、网络协
议等都可以根据用户要求进行配置,并以相关的方式实现。这样一来,整个
嵌入式系统与通用操作系统类似,功能比不带有操作系统得嵌入式强大了很
多。
操作系统的应用程序接口API:API是一系列复杂的函数、消息和结构的集合
体。在计算机系统中有很多可通过硬件或外部设备去执行的功能,这些功能
的执行可通过计算机操作系统或硬件预留的标准指令调用。因而系统提供标
准的API函数,可加快用户应用程序的开发,统一应用程序的开发标准,也
为操作系统版本的升级带来了方便。
应用程序:用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能
开发。
13试述两种常见的ARM开发环境及其特点?
两种常见的ARM开发环境及其特点:
ADS/SDT IDE开发环境:它由ARM公司开发,使用了CodeWarrior公司的编译器;
集成了GNU开发工具的IDE开发环境:它由GNU的汇编器as、交叉编译器gcc、和链接器
ld等组成。
2
14:S3C44B0X IC总线接口操作有那四种操作方式?
S3C44B0X I
2
C总线接口操作的四种操作模式: 主传送模式 主接收模式 从传送模式
从接收模式
15:嵌入式系统的发展趋势
1. 即将迎来以ARM为核心的32位浪潮
嵌入式系统应用的高低端 :以4位、8位单片机或为控制器(MCU)为核心的嵌入
式系统,早已广泛的应用于工业控制、军事、航空航天、家电等各个领域,极大地推动了
IT技术的发展。目前这些属于最低端应用的嵌入式系统。这些低端应用市场范围非常广泛,
第 页 共 21 页
9
局部带动了低端应用。
即将来临的32位浪潮:随着嵌入式系统的不断发展,当应用越来越复杂、使用范围
越来越广时,8位处理器已经无法满足的需要,此时32位SoC为高性能嵌入式系统开发
提供了功能丰富的硬件平台,也为实时嵌入式操作系统的广泛应用提供了硬件基础。因此,
以32位处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。
32位向ARM 转移,形成ARM市场主导地位:在嵌入式微处理器中,虽然有多种嵌
入式处理器可供选择,但是ARM处理器核以其低功耗、高性能等突出优点已在32位嵌入
式应用中稳居第一。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方
案事实上的标准。优良的性能和广泛的市场定位极大地增加和丰富了ARM的资源,加速
了ARM处理器面向各种应用的系统芯片的开发和发展。
2. 嵌入式系统与Internet的融合:
为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标
准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要
TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备
和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备
IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协
议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程
模式,还需要相应的浏览器,如HTML、WML等。
3. 未来嵌入式系统的发展趋势
近几年,在消费电子、工业应用、军事国防、网络设备等领域的嵌入式应用,为中提供
了难得的发展机遇。另外,嵌入式技术又不断地刺激新的技术的产生——信息家电、医疗电
子病历、微小型智能武器等方面应用也日益广泛,应用深度也进一步加强。
互联网的普及、微电子加工工艺的提高、3C技术的普遍融合、使用者需求的增多、信
息服务应用的生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求。
因而,移动化处理信息,即随时随地的获取信息、处理信息等,成为信息社会把握先机而制
胜的必然武器。日益发展的嵌入式已能够满足人们随时随地利用任何设备和手段来接收、处
理和发布信息的需求。低成本、低功耗的消费电子和宽带、无线通信以及处理运算的高效计
算结合技术将进一步刺激和加速嵌入式技术的发展,造就更广阔的市场空间。
一、 选择题
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)。
第 页 共 21 页
10
(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. CLinux是专门为没有MMU的ARM芯片开发的;
C. C/OS-Ⅱ操作系统是一种实时操作系统(RTOS);
D. WinCE提供完全开放的源代码。
28 下列关于存储管理单元(MMU)说法错误的是(B)。
A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中
运行。
B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,
第 页 共 21 页
11
2024年3月11日发(作者:皮寄南)
1、 ARM微处理器有 7种工作模式,它们分为两类 非特权模式 、 特权模
式 。其中用户模式属于 非特权模式
2、 ARM支持两个指令集, ARM核因运行的指令集不同,分别有两个状态 ARM 、
Thumb ,状态寄存器CPSR的 T 位反映了处理器运行不同指令的当前状态
3、 ARM核有多个寄存器,其中大部分用于通用寄存器,有小部分作为专用寄存器,
R15 寄存器用于存储PC,R13通常用来存储 SP
ARM处理器有两种总线架构,数据和指令使用同一接口的是 冯诺依曼 ,数据和指
令分开使用不同接口的是 哈佛结
4、 ARM微处理器复位后,PC的地址通常是 0x0 ,初始的工作模式是Supervisor 。
5、 ARM微处理器支持虚拟内存,它是通过系统控制协处理器 CP15 和MMU(存储管
理部件)来进行虚拟内存的存储和管理。当系统发生 数据 异常和
指令领取 异常时,异常处理程序透过嵌入式操作系统的内存管理机制,通过
MMU交换物理内存和虚拟内存的页面,以保证程序正常执行。
6、 编译链接代码时,有两种存储代码和数据的字节顺序,一种是 小端对齐 ,另一种是
打断对齐
7、 构建嵌入式系统开发环境的工具链有多种,其中开放源码的工具链是 GNU工具链 ,
ARM公司提供的工具链是 ADS工具链
计算机有CISC和RISC两种类型,以ARM微处理器为核心的计算机属于 RISC 类型,
其指令长度是 定长的
1、 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六
2、ARM系统中的堆栈有四种,如下图。请按图标出四种堆栈的类型。ATPCS编程规范约定
使用的堆栈是哪一种?
栈
栈
Lo AddressLo Address
空
空
间
间
的
的
增
增
长
长
方
方
向
向
SP
SPSP
SP
。。。
栈
栈
空
空
间
间
的
的
增
增
长
长
方
方
向
向
Hi AddressHi Address
答:FD、FA、ED、EA。ATPCS编程规范约定使用的堆栈是FD
3、Boot Loader在嵌入式系统中主要起什么作用?完成哪些主要的工作?
答:Boot Loader是在嵌入式系统复位启动时,操作系统内核运行前,执行的一段程序。通过
Boot Loader,初始化硬件设备,建立内存和I/O空间映射图,为最终加载操作系统内核调
整好适当的系统软硬件环境。
4、搭建嵌入式开发环境,连接目标板,一般使用什么通信接口连接?在Windows主机上使用
什么软件建立连接?在Linux主机上使用什么软件建立连接?
1、 答:RS-232,以太网口、并口
在Windows主机上使用超级终端软件
在Linux主机上使用Minicom软件
5嵌入式开发环境主要包括哪些组件?
嵌入式系统开发需要交叉编译和在线调试的开发环境,主要包括
宿主机
第 页 共 21 页
1
地
址
的
增
长
方
向
目标机(评估电路板)
基于JTAG的ICD仿真器、或调试监控软件、或在线仿真器ICE
运行于宿主机的交叉编译器和链接器、以及开发工具链或软件开发环境
嵌入式操作系统
6 在进行基于ARM核的嵌入式系统软件开发时,调用如下函数:
int do_something(int arg1,void *arg2,char arg3,int *arg4)
这四个参数通过什么方式从调用程序传入被调函数?
根据ATPCS编程规范,调用函数和子程序通过R0——R3四个寄存器传递参数,超过四个
参数使用堆栈传递。因此arg1通过R0传入, arg2, 通过R1传入,arg3通过R2传入,arg4
通过R3传入
7 目前使用的嵌入式操作系统主要有哪些?请举出六种较常用的。
Windows CE/Windows Mobile、VxWork、Linux、uCos、Symbian、QNX任选六
1、 写一条 ARM 指令,完成操作r1 = r2 * 3(4分)
ADD R1,R2,R2,
LSL #1
2、 初始值R1=23H,R2=0FH执行指令BIC R0, R1,R2,LSL #1后,寄存器R0,R1的
值分别是多少?(4分)
R0=21H,R1=23H
3、说明指令STMIA r12!, {r0-r11}的操作功能。(4分)
将R0-R11十二个寄存器中的32位数据,存储到R12地址指针为起始地址的内存中,地址的
操作方式是先操作、后增加,并更新地址。
4、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放
在r4中。程序框架如下,补充代码完成上述功能。(8分)
AREA total, CODE READONLY
ENTRY
start
MOV r4, #0
ADR r0, myarray
;在此补充代码
loop
LDR r1, [r0], #4
ADD r4, r4, r1
CMP r1, #0
BNE loop
5、这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字
符串复制,程序代码如下。要求阅读程序,在程序中的注释符“//”后,说明该句程序的作用,
并说明extern和EXPORT伪指令的在程序中的作用。(8分)
strtest.c
#include
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); //
第 页 共 21 页
2
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
//输出源串和目标串 (8分)
//调用strcopy函数
//输出复制后的源串和目标串
;r1指向源串,从源串载入一个字节的字符到r2,并更新r1=r1+1
;r0指向目标串,从r2保存一个字节的字符到目标串,并更新r0=r0+1
;测试串尾标志0
;非零转标号strcopy
;返回
一、 程序测试题(共24分)
1、写一段 ARM汇编程序:循环累加队列myarray中的所有元素,直到碰上零值元素,结果放
在r4中。程序框架如下,补充代码完成上述功能。(8分)
AREA total, CODE READONLY
ENTRY
start
MOV r4, #0
ADR r0, myarray
;在此补充代码
答:
loop
LDR r1, [r0], #4
ADD r4, r4, r1
CMP r1, #0
BNE loop
stop
B stop
myarray
DCD 0x11
DCD 0x22
„„
DCD 0x0
END
2、有如下程序段,画出程序流程图,并回答执行程序以后R0的值是多少。(8分)
第 页 共 21 页
3
num EQU 2
start
MOV r0, #0
MOV r1, #5
MOV r2, #2
BL func
stop
B stop
func
CMP r0, #num
MOVHS pc, lr
ADR r3, JumpTable
LDR pc, [r3,r0,LSL#2]
JumpTable
DCD DoA
DCD DoS
DoA
ADD r0, r1, r2
MOV pc, lr
DoS
SUB r0, r1, r2
MOV pc,lr
END
答:R0为0调用DoA,R0为1调用DoS,R0大于2直接返回,流程图略。R0=7
3、 这是一个由源程序strtest.c和scopy.s组成的混合程序项目,通过调用strcopy完成字
符串复制,程序代码如下。要求阅读程序,在程序中的注释符后,说明该句程序的作用,
并说明extern和EXPORT伪指令的在程序中的作用。(8分)
strtest.c
#include
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); //调用strcopy函数
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 ; r1指向源串,从源串载入一个字节的字符到r2,
并更新r1=r1+1
STRB r2, [r0],#1 ;r0指向目标串,从r2保存一个字节的字符到目标串,
并更新r0=r0+1
CMP r2, #0 ;测试串尾标志0
第 页 共 21 页
4
BNE strcopy ;非零转标号strcopy
MOV pc,lr ;返回
END
一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。
1、一般而言,嵌入式系统的构架可以分为4个部分:分别是(处理器)、存储器、输入/输出
和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。
2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式DSP
处理器),(嵌入式微处理器)以及片上系统。
3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(进程管理)、进程间通信、(内
存管理)、I/O资源管理。
4、从嵌入式操作系统特点可以将嵌入式操作系统分为(实时操作系统)和分时操作系统,其
中实时系统亦可分为(硬实时系统)和软实时系统。
5、内核负责管理各个任务,或者为每个任务分配CPU时间,并且负责任务之间的(通信),内
核的基本服务是(任务切换)。
6、嵌入式开发一般采用(宿主机/目标机方式)方式,其中宿主机一般是指(PC机或者台式
机)。
7、哈佛体系结构数据空间和地址空间(分开),ARM7TDMI采用(冯诺依曼体系)的内核架构。
8. ARM7TDMI采用(3)级流水线结构,ARM920TDMI采用(5 )级流水线。
9 .按操作系统的分类可知,Dos操作系统属于顺序执行操作系统,Unix操作系统属于(分时)
操作系统,VxWorks属于(实时嵌入式)操作系统。
10、ARM7TDMI中,T表示支持16位Thumb指令集,D表示(在片可调试),M表示内嵌乘法器
Multiplier,I表示(嵌入式ICE),支持在线断点和调试。
二、选择题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。
1、要使CPU能够正常工作,下列哪个条件不是处理器必须满足的。
( D )
(A) 处理器的编译器能够产生可重入代码 (B) 在程序中可以找开或者关闭中断
(C) 处理器支持中断,并且能产生定时中断 (D) 有大量的存储空间
2、下面哪种操作系统最方便移植到嵌入式设备中。
( D )
(A) DOS (B)unix (C) Windows xp (D)linux
3、下面哪个选项不是SUB设备的特点。
( B )
(A) 串行通信方式 (B)不可热拨插
(C) 分HOST、DEVICE和HUB (D)通信速率比RS232快
4、下面哪种嵌入式操作系统很少用于手机终端设备上。
( C )
(A) Symbian (B)WinCE (C) uc/os (D)linux
5、以下哪项关于SRAM和DRAM的区别是不对 。
( A )
(A) SRAM比DRAM慢 (B)SRAM比DRAM耗电多
(C) DRAM存储密度比SRAM高得多 (D)DRM需要周期性刷新
6、uc/os操作系统不包含以下哪几种状态。
( C )
(A) 运行 (B)挂起 (C) 退出 (D)休眠
7、0x07&0x11的运算结果是。
( A )
(A) 0x01 (B)0x11 (C) 0x17 (D)0x07
8、以下哪种方式不是uc/os操作系统中任务之间通信方式。
( C )
(A) 信号量 (B)消息队列 (C) 邮件 (D)邮箱
9、以下哪种方式不是文件系统的格式。
第 页 共 21 页
5
( B )
(A) FAT (B)DOS (C) NTFS
(D)Ext
10、在将uc/os操作系统移植到ARM处理器上时,以下哪些文件不需要修改。
( A )
(A) OS_CORE.C (B)include.h (C) OS_CPU.H (D)OSTaskInit
三、判断题:共5小题,每小题2分,满分10分。
1、所有的电子设备都属于嵌入式设备。
( F )
2、冯诺依曼体系将被哈佛总线所取代。
( F )
3、嵌入式linux操作系统属于免费的操作系统。
( T )
4、移植操作系统时需要修改操作系统中与处理器直接相关的程序。
( T )
5、USB2.0的最大通信速率为12M/S。
( F )
简答题:共2小题,每小题10分,满分20分。
1、 根据嵌入式系统的特点,写出嵌入式系统的定义。
以应用为中心、以计算机技术为基础、软硬件可裁减、功能、可靠性、成本、体积、功耗严格
要求的专用计算机系统
2、 试分析实时操作系统的工作状态特点及相互之间的转换。
运行:获得CPU的控制权;
就绪:进入任务等待队列,通过调度中转为运行状态;
挂起:任务发生阻塞,称出任务等待队列,等待系统实时事件的发生而被唤醒,从而转为就绪
或者运行;
休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在的任务。
多任务
四、分析计算题:共2小题,每小题10分,满分20分。
1、试写抢占式和非抢占式的区别。
执行的过程中对中断处理方式不一样,抢先式:某一中断执行完成后,如果有更高优先级的任
务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,一个任务只有主动放弃CPU
的控制权,其它任务才能够获得CPU的控制权。
2、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,
并写出各部分所完成的功能。
(1)硬件层;(2)中间层(嵌入式系统初始化,硬件相关的驱动程序);(3)软件层(操作系统、文件
系统、GUI,网络及通用组件);(4)功能层。
五、专业名词解释(写出以下英文简写对应的中文名称):共5小题,每小题2分,满分10分。
(1)RTOS (2)CISC (3)Kernel (4)Scheduler (5)non-preemptive
(1)RTOS(实时操作系统); (2)CISC(复杂指令集);
(3)Kernel(内核) (4)Scheduler(调度)
(5)non-preemptive(非抢先式)
1. 请简述嵌入式系统的设计过程。
嵌入式系统得设计过程:
(1)系统定义与需求分析
(2)系统设计方案的初步确立
(3)初步设计方案性价比评估与方案评审论证
(4)完善初步方案、初步方案实施
第 页 共 21 页
6
(5)软硬件集成测试
(6)系统功能性能测试及可靠性测试
2. 简述ARM处理器的工作状态。
ARM处理器的工作状态:
(1)ARM状态:32位,ARM状态下执行字对准的32位ARM指令;
(2)Thumb状态:16位,Thumb状态下执行半字对准的16位Thumb指令。在Thumb状态下,
程序计数器PC使用位1选择另一个半字。
3. 简述ARM处理器的7种运行模式及各自的用途。
ARM处理器的7种运行模式:
(1)用户模式:正常用户模式,程序正常执行模式。
(2)FIQ模式:处理快速中断,支持高速数据传送或通道处理。
(3)IRQ模式:处理普通中断。
(4)SVC模式:操作系统保护模式,处理软件中断。
(5)中止模式:处理存储器故障,实现虚拟存储器和存储器保护。
(6)未定义模式:处理未定义的指令陷阱,支持硬件协处理器的软件仿真。
(7)系统模式:运行特权操作系统任务。
4. 简述BLX、SWI、STM、LDM、MOV、MVN的含义。
BLX: 带链接和状态切换的跳转指令 SWI: 软件中断指令 STM: 批量内存字写入指令
LDM: 加载多个寄存器指令 MOV: 数据传送指令 MVN: 数据取反传送指令
5.请解释下列程序中的各条指令:
第 页 共 21 页
7
.equ x, 45 /*定义变量x,并赋值为45 */
.equ y, 64 /*定义变量y,并赋值为64*/
.equ stack_top, 0x1000 /*定义栈顶0x1000*/
.global_start /*声明全局变量*/
.text /*将操作符开始的代码编译到代码段*/
_start: /*程序代码开始标志*/
mov sp, #stack_top /*定义堆栈位置*/
mov r0, #x /*x的值放入r0*/
str r0, [sp] /*r0的值保存到堆栈*/
mov r0, #y /*y的值放入r0*/
ldr r1, [sp] /*取堆栈中的数到r1*/
add r0, r0, r1 /*将r0中的数和r1中的数相加的结构放入r0*/
str r0, [sp] /*r0的值保存到堆栈*/
stop:
b stop /*程序结束,进入死循环*/
.end
6. 分析说明S3C44B0X的总线优先级顺序。
(1)DRAM refresh controller(DRAM刷新控制器);
(2) LCD_DMA
(3) ZDMA0,1
(4)BDMA0,1
(5) External bus master(外部总线控制器);
(6) Write buffer(写缓冲区)
(7)Cache 和 CPU。
7. S3C44B0X中具有哪几个定时器?分别有哪些功能特性?
6个16位定时器:都可以工作在中断或DMA模式。定时器0、1、2、3、4有PWM功能,定
时器5只是一个内部定时器而无输出引脚。
PWM定时器特性为:
6个基于DMA或中断操作的16位定时器
3个8位预分频器,2个5位除法器和1个4位除法器。
输出波形可编程的功率控制器(PWM)
自动重装或短脉冲模式(One-shot Pulse Mode)
死区发生器
1个看门狗定时器:
看门狗定时器具有以下特性:
带中断请求的普通间隔定时器模式
当定时器计数值达到0时,内部复位信号被激活128MCLK周期
8. S3C44B0X中功耗管理的5种模式是什么?
S3C44B0X中功耗管理的5种模式: 正常模式:正常运行模式; 低速模式:不加PLL
的低时钟频率模式;
空闲模式:只停止CPU 的时钟; 停止模式:停止所有的时钟;
LCD的SL空闲模式:SL 空闲模式的进入将导致 LCD 控制器开始工作。此时,CPU和除
LCD控制器外的所有外设都停止工作。
9. 简述BootLoader的作用。
Boot loader作用:系统引导程序,负责Linux内核的启动,用于初始化系统资源,包括SDRAM。
这部分代码用于建立Linux内核运行环境和从Flash中装载初始化Ramdisk等。它首先完成系
统硬件的初始化,包括时钟的设置、存储区的映射、堆栈指针的设置等;然后跳转到操作系统
内核的入口,将系统控制权交给操作系统。
第 页 共 21 页
8
10. 写出S3C44B0X的UART1的初始化设置程序代码。
UART初始化程序:
static int whichUart=0;
void Uart_Init(int mclk,int baud)
{int i;
If(mclk==0)
mclk=MCLK;
rUFCON1=0x0;
rUMCON1=0x0;
rULCON1=0x3;
rUCON1=0x245;
rUBRDIC1=((int)(mclk/16./baud+0.5)-1);
for(i=0;i<100;i++);
}
11 ARM常见的寻址方式有哪些?
立即寻址 寄存器寻址 寄存器间接寻址 基址加偏址寻址 堆栈寻址 块拷贝寻
址 相对寻址
12嵌入式系统软件的层次结构并简要介绍?
嵌入式系统软件的层次结构:
驱动层程序:驱动层程序是嵌入式系统中不可缺少的重要部分,使用任何的
外部设备都需要有相应驱动层程序的支持,他为上层软件提供了设备的操作
接口。驱动层程序一般包括硬件抽象层HAL、板极支持包BSP和设备驱动程
序。
实时操作系统RTOS:对于使用操作系统得嵌入式系统而言,操作系统一般
以内核映像的形式下载到目标系统中。内核中通常必需的基本部件是进城管
理、进程间通信、内存管理部分,其他部件如文件系统、驱动程序、网络协
议等都可以根据用户要求进行配置,并以相关的方式实现。这样一来,整个
嵌入式系统与通用操作系统类似,功能比不带有操作系统得嵌入式强大了很
多。
操作系统的应用程序接口API:API是一系列复杂的函数、消息和结构的集合
体。在计算机系统中有很多可通过硬件或外部设备去执行的功能,这些功能
的执行可通过计算机操作系统或硬件预留的标准指令调用。因而系统提供标
准的API函数,可加快用户应用程序的开发,统一应用程序的开发标准,也
为操作系统版本的升级带来了方便。
应用程序:用户应用程序主要通过调用系统的API函数对系统进行操作,完成用户应用功能
开发。
13试述两种常见的ARM开发环境及其特点?
两种常见的ARM开发环境及其特点:
ADS/SDT IDE开发环境:它由ARM公司开发,使用了CodeWarrior公司的编译器;
集成了GNU开发工具的IDE开发环境:它由GNU的汇编器as、交叉编译器gcc、和链接器
ld等组成。
2
14:S3C44B0X IC总线接口操作有那四种操作方式?
S3C44B0X I
2
C总线接口操作的四种操作模式: 主传送模式 主接收模式 从传送模式
从接收模式
15:嵌入式系统的发展趋势
1. 即将迎来以ARM为核心的32位浪潮
嵌入式系统应用的高低端 :以4位、8位单片机或为控制器(MCU)为核心的嵌入
式系统,早已广泛的应用于工业控制、军事、航空航天、家电等各个领域,极大地推动了
IT技术的发展。目前这些属于最低端应用的嵌入式系统。这些低端应用市场范围非常广泛,
第 页 共 21 页
9
局部带动了低端应用。
即将来临的32位浪潮:随着嵌入式系统的不断发展,当应用越来越复杂、使用范围
越来越广时,8位处理器已经无法满足的需要,此时32位SoC为高性能嵌入式系统开发
提供了功能丰富的硬件平台,也为实时嵌入式操作系统的广泛应用提供了硬件基础。因此,
以32位处理器作为高性能嵌入式系统开发的核心已是嵌入式技术发展的必然趋势。
32位向ARM 转移,形成ARM市场主导地位:在嵌入式微处理器中,虽然有多种嵌
入式处理器可供选择,但是ARM处理器核以其低功耗、高性能等突出优点已在32位嵌入
式应用中稳居第一。ARM已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方
案事实上的标准。优良的性能和广泛的市场定位极大地增加和丰富了ARM的资源,加速
了ARM处理器面向各种应用的系统芯片的开发和发展。
2. 嵌入式系统与Internet的融合:
为适应嵌入式分布处理结构和应用上网需求,面向21世纪的嵌入式系统要求配备标
准的一种或多种网络通信接口。针对外部联网要求,嵌入设备必需配有通信接口,相应需要
TCP/IP协议簇软件支持;由于家用电器相互关联(如防盗报警、灯光能源控制、影视设备
和信息终端交换信息)及实验现场仪器的协调工作等要求,新一代嵌入式设备还需具备
IEEE1394、USB、CAN、Bluetooth或IrDA通信接口,同时也需要提供相应的通信组网协
议软件和物理层驱动软件。为了支持应用软件的特定编程模式,如Web或无线Web编程
模式,还需要相应的浏览器,如HTML、WML等。
3. 未来嵌入式系统的发展趋势
近几年,在消费电子、工业应用、军事国防、网络设备等领域的嵌入式应用,为中提供
了难得的发展机遇。另外,嵌入式技术又不断地刺激新的技术的产生——信息家电、医疗电
子病历、微小型智能武器等方面应用也日益广泛,应用深度也进一步加强。
互联网的普及、微电子加工工艺的提高、3C技术的普遍融合、使用者需求的增多、信
息服务应用的生活化、技术的渗透性和融合性、设备的关联性以及个性化服务的普遍需求。
因而,移动化处理信息,即随时随地的获取信息、处理信息等,成为信息社会把握先机而制
胜的必然武器。日益发展的嵌入式已能够满足人们随时随地利用任何设备和手段来接收、处
理和发布信息的需求。低成本、低功耗的消费电子和宽带、无线通信以及处理运算的高效计
算结合技术将进一步刺激和加速嵌入式技术的发展,造就更广阔的市场空间。
一、 选择题
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)。
第 页 共 21 页
10
(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. CLinux是专门为没有MMU的ARM芯片开发的;
C. C/OS-Ⅱ操作系统是一种实时操作系统(RTOS);
D. WinCE提供完全开放的源代码。
28 下列关于存储管理单元(MMU)说法错误的是(B)。
A. MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中
运行。
B. 在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,
第 页 共 21 页
11