一、  填空题                                  (共20空,每空1分, 20分)
1、嵌入式软件开发的整个开发流程可分为:                             
2ARM系列微处理器为低功耗的____RISC处理器,其中Thumb指令集是____位的。
3ARM处理器的两种工作状态为      状态和      状态。
4ARM存储器有两种存储模式,即大端模式和小端模式。假设Y0x19874412存储在7500H7503H四个内存单元中,若以小端模式存储,则(7500H)=________、(7501H)=________、(7502H)=________、(7503H)=________
5ARM9采用5级流水线技术分别为                                     
6、嵌入式系统中的进程状态包括                        和僵死状态
7Linux内核主要由五个子系统组成:________________________、网络接口,进程间通信。 
8Linux进程的种类:________________________
9、在Linux操作系统中有三种类型的设备:________________________
10ARM存储器有两种存储模式,即大端模式和小端模式。假设Y0x11223344存储在7900H7903H四个内存单元中,若以小端模式存储,则(7900H)=________、(7901H)=________、(7902H)=________、(7903H)=________
11R6=0x05R8=0x31R9=0x2  则执行指令ADD  R6, R8, R9后, R6=        R9=       
12      寻址方式,所需要的值在寄存器中,指令中给出的是寄存器的编号。
二、选择题 
1、在下列ARM处理器的各种模式中,只有(  )模式不可以自由地改变处理器的工作模式。
A. 用户模式(User                        B. 系统模式(System)
C. 终止模式(Abort)                          D. 中断模式(IRQ)
232位体系结构的ARM处理器有   种不同的处理器工作模式,和(  )个主要用来标识CPU的工作状态和程序的运行状态的状态寄存器。
A. 77                B. 76            C. 66            D. 67
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. 复制BootLoaderStage2RAM空间。
D. 堆栈的初始化。
10、在ARM Linux系统中,中断处理程序进入C代码以后,ARM处于 (    ) 工作模式。
A. 用户模式(SVC                B. 中断(IRQ)
C. 快速中断(IRQ                D. 和进入中断之前的状态有关系
11、下面哪一个选项不是Linux系统的进程类型(   
A. 交互进程        B. 批处理进程      C. 守护进程      D. 就绪进程
12Boot 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
三、问答题                           
1Linux内核向目标平台移植的基本步骤?
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、嵌入式开发分哪几个阶段,每个阶段的特点是什么?
8Linux下驱动程序开发的基本步骤?
四、综合题                      (共2题,每题10分,共 20分)
1、下面程序段的主要功能是通过对ARM处理器IO口的G口的第8位,第9位引脚控制LED1LED2实现轮流闪烁,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、工程包含3C文件(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命令行的作用,并分析cdcptarmakemake install 命令的含义。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。