一、 填空题 (共20空,每空1分, 共 20分)
1、嵌入式软件开发的整个开发流程可分为: 、 、 、 。
2、ARM系列微处理器为低功耗的____位RISC处理器,其中Thumb指令集是____位的。
3、ARM处理器的两种工作状态为 状态和 状态。
4、ARM存储器有两种存储模式,即大端模式和小端模式。假设Y=0x19874412存储在7500H~7503H四个内存单元中,若以小端模式存储,则(7500H)=________、(7501H)=________、(7502H)=________、(7503H)=________。
5、ARM9采用5级流水线技术分别为 、 、 、 、 。
6、嵌入式系统中的进程状态包括 、 、 和僵死状态。
7、Linux内核主要由五个子系统组成:________、________、________、网络接口,进程间通信。
8、Linux进程的种类:________、________、________。
9、在Linux操作系统中有三种类型的设备:________、________、________。
10、ARM存储器有两种存储模式,即大端模式和小端模式。假设Y=0x11223344存储在7900H~7903H四个内存单元中,若以小端模式存储,则(7900H)=________、(7901H)=________、(7902H)=________、(7903H)=________。
11、R6=0x05,R8=0x31,R9=0x2 则执行指令ADD R6, R8, R9后, R6= ,R9= 。
12、 寻址方式,所需要的值在寄存器中,指令中给出的是寄存器的编号。
二、选择题
1、在下列ARM处理器的各种模式中,只有( )模式不可以自由地改变处理器的工作模式。
A. 用户模式(User) B. 系统模式(System)
C. 终止模式(Abort) D. 中断模式(IRQ)
2、32位体系结构的ARM处理器有 ( ) 种不同的处理器工作模式,和( )个主要用来标识CPU的工作状态和程序的运行状态的状态寄存器。
A. 7、7 B. 7、6 C. 6、6 D. 6、7
3、若R1=3000H,(3000H)=0x28,(3008H)=0x87,则执行指令LDR R0,[R1,#8] 后R1的值为( )。
A. 0x3000 B. 0x28 C. 0x3008 D. 0x87
4、寄存器R15除了可以做通用寄存器外,还可以做( )。
A. 程序计数器 B. 链接寄存器 C. 堆栈指针寄存器 D. 基址寄存器
5、如下哪一个命令可以帮助你知道shell命令的用法?( )
A . man B . pwd C. help D. more
6、在大多数Linux发行版本中,以下哪个属于块设备?( )
A. 串行口 B. 硬盘 C. 虚拟终端 D. 打印机
7、通过makefile来安装已编译过的代码的命令是:( )
A. make B. install C. make depend D. make install
8、如果Boot Loader、内核、文件系统、应用程序四部分在固态存储设备上分别独立存放,则其分配结构应当是 ( )
A. 文件系统、内核、应用程序、Bootloader B. Bootloader、内核、文件系统嵌入式系统开发是什么 、应用程序
C. Bootloader、内核、应用程序、文件系统 D. 应用程序、Bootloader、内核、文件系统
9、下面不属于BootLoader运行过程第一阶段的是( )
A. 外围的硬件初始化(串口,USB等)。
B. 根据用户选择,进入命令行模块或启动kernel。
C. 复制BootLoader的Stage2到RAM空间。
D. 堆栈的初始化。
10、在ARM Linux系统中,中断处理程序进入C代码以后,ARM处于 ( ) 工作模式。
A. 用户模式(SVC) B. 中断(IRQ)
C. 快速中断(IRQ) D. 和进入中断之前的状态有关系
11、下面哪一个选项不是Linux系统的进程类型( )
A. 交互进程 B. 批处理进程 C. 守护进程 D. 就绪进程
12、Boot Loader 的stage2通常使用C语言实现,以完成复杂的功能,并增加可读性和可移植性,以下哪一步骤属于stage2的内容 ( )
A. 为加载 Boot Loader 的 stage2 准备 RAM 空间
B. 设置好堆栈
C. 硬件设备初始化
D. 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中
13、系统响应时间和作业吞吐量是衡量计算机系统性能的重要指标。对于一个持续处理业务的系统而言,( ),表明其性能越好。
A. 响应时间越短,作业吞吐量越小 B. 响应时间越短,作业吞吐量越大
C. 响应时间越长,作业吞吐量越大 D. 响应时间不会影响作业吞吐量
14、嵌入式系统应用软件一般在宿主机上开发,在目标机上运行,因此需要一个( ) 环境。
A. 交互操作系统 B. 交叉编译 C. 交互平台 D. 分布式计算
15、下面哪个伪指令指示后面的代码是Thumb指令?( )
A. CODE16 B. CODE32 C. CODE12 D. CODE54
三、问答题
1、Linux内核向目标平台移植的基本步骤?
2、什么是交叉编译,为什么要使用交叉编译?
3、基于ARM的硬件启动程序包含哪些工作?
4、解释C程序和ARM汇编程序互调时遵循的准则。
5、写出下面指令第二源操作数所采用的寻址方式?
ADD R0,R1,R2
ADD R3,R3,#1
AND R8,R7,#0xff
ADD R3,R2,R1,LSL #3
LDR R0,[R1]
LDR R0,[R1],#4
6、什么是嵌入式系统,由哪几部分组成,有何特点?
7、嵌入式开发分哪几个阶段,每个阶段的特点是什么?
8、Linux下驱动程序开发的基本步骤?
四、综合题 (共2题,每题10分,共 20分)
1、下面程序段的主要功能是通过对ARM处理器IO口的G口的第8位,第9位引脚控制LED1和LED2实现轮流闪烁,G口为16位的口,控制寄存器GPGCON每两位用于控制G口的1个输入输出引脚、数据寄存器GPGDAT用低16位保存G口的数据,上拉寄存器为GPGUP。 请将下面程序段补充完全。
void Main(void){
int flag, i;
Target_Init(); //进行硬件初始化操作
for( ; ; ){
if (flag= =0){
for(i=0;i<1000000;i++); //延时
GPGCON = ;
GPGDAT = ;
for(i=0;i<10000000;i++); //延时
;
}
else {
for(i=0;i<1000000;i++); //延时
GPGCON = ;
GPGDAT = ;
for(i=0;i<1000000;i++); //延时
flag = 0;
}
}
}
2、工程包含3个C文件(main.c, tool1.c, tool2.c)和2个头文件(mytool1.h, mytool2.h) , Makefile来告诉make命令如何编译和链接这几个文件,下面为工程的makefile文件,试回答问题:
1)分析第一行,第二行的含义。
2)分析第三行,第四行的含义。
3)分析第九行,第十行的含义。
main:main.o tool1.o tool2.o
<tab>gcc -o main main.o tool1.o tool2.o
main.o:main.c tool1.h tool2.h
<tab>gcc –c main.c
mytool1.o: tool1.c tool1.h
<tab>gcc –c tool1.c
mytool2.o: tool2.c tool2.h
<tab>gcc –c tool2.c
clean:
rm –rf *.o main
3、分析下面shell命令行的作用,并分析cd,cp,tar,make,make install 命令的含义。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论