嵌入式Linux系统开发教程很完整的习题答案 下载本文

2、ARM芯片的内核一般包括以下几个单元:ARM9TDMI32RISC处理器、数据缓存器(Data Cache)、指令缓存(Instruction Cache)、指令存储管理单元(Instruction MMU)、数据存储管理单元(Data MMU)、写缓冲(Write Buffer)和回写存储单元(Write Back PA TAG RAM)。

3、ARM处理器共有37个寄存器,其中31为通用寄存器,6个状态寄存器,这些寄存器都是32位。

4、ARM系统中寻址方式主要有立即寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、相对寻址和堆栈寻址。

5、ARM微处理器的指令集可以分为以下六大类:跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储(Load/Store)指令、协处理器指令和异常中断产生指令。

二、选择题

1.指令ADD R0,R0,#1第三个操作数得寻址方式是(A)

A.立即寻址 B. 寄存器寻址 C. 寄存器间接寻址 D. 基址变址寻址 2.指令LER R3,[R4]第二个操作数的寻址方式是(C)

A. 立即寻址 B. 寄存器寻址 C. 寄存器间接寻址D. 基址变址寻址 3.LDR R0,[R1,#4] 第二个操作数的寻址方式是(D)

A. 立即寻址 B. 寄存器寻址 C. 寄存器间接寻址D. 基址变址寻址 4.假设R0和R1寄存器中的值分别为8和6,执行指令:LDR R0,[R1,#8]!,则寄存器R0和R1中的值分别为(B)

A. 8,6 B. 14,6 C. 14,14 D. 16,14

5.栈是一种数据结构,本质上是内存中一段连续的地址,对其最常见的操作为“压栈”(PUSH)和“出栈”(POP),以临时保存数据。其出入栈规则是(B)。

A. 先进先出 B. 先进后出 C. 只进不出D. 只出不进 三、叙述题

1、ARM处理器的运行模式有哪几种,各有什么特点?

ARM微处理器的运行模式有7种,分别为:

用户模式(User,usr):正常程序执行时,ARM处理器所处的状态。 快速中断模式(FIQ,fiq):用于快速数据传输和通道处理。 外部中断模式(IRQ,irq):用于通常的中断处理。

特权模式(Supervisor,sve):供操作系统使用的一种保护模式。 数据访问中止模式(Abort,abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护。

未定义指令终止模式(Undefined,und):用于支持硬件协处理器软件仿真。

系统模式(System,sys):用于运行特权级的操作系统任务。

? 6 ?

2、ARM存储器的组织主要有哪些类型,各有什么特点?

ARM储存器的组织最要有2大类型,分别为小端格式和大端格式,也称为小端次序(Little endian)和大端次序(Big endian)的字节序(byte order)。两种储存类的区别在于一个32位的数据存放到储存器中的时候,到底是高位字节放在高地址还是低地址的区别。

3、ARM微处理器选型时应注意:

1、ARM微处理器内核的选择 2、系统的工作频率

3、芯片内存储器的容量 4、片内外围电路的选择 第四章0

一、填空题。

1、在ARM/Thumb汇编语言程序中,程序是以程序段的形式呈现的。程序段是具有特有名称的相对独立的指令或数据序号。程序段有两大类型代码段、数据段。 2、基于linux下GCC汇编语言,代码表号必须在一行的顶端,后面要加上 :,注释的内容可以在前面加上@。

3、在ARM的汇编程序中,伪指令种类繁多,可以细分为以下几种伪指令:符号定义伪指令(Symbol Definition)、数据定义伪指令(Data Definition)、汇编控制伪指令(Assembly Control)、宏指令

4、linux下的嵌入式程序开发,主要需要的代码编辑器,如vi和gedit,另外还需要编译器gcc、调试器gdb以及项目管理器make。

5、Vi编辑器基本上有三种基本状态,分别是:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode)。 6、使用gcc编译文件生成可执行文件要经历四个相互关联的步骤:预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。 二、选择题

1、1.假如使用伪指令定义一个局部的数据量,变量名为temp,然后给其赋值为8,汇编代码为(A)

A. LCLA temp;temp SETA 0x08; B. LCLA temp;temp SETL 0x08; C. GBLA temp;temp SETA 0x08; D. GBLA temp;temp SETL 0x08;

2、在vi处于命令行模式时,如果需要对文本进行修改,欲在光标所在位置的下一个位置开始输入文字,则(B)

A、按下字母“i”进入插入模式 B、按下字母“a”进入插入模式 C、按下字母“o”进入插入模式 D、按下字母“n”进入插入模式

3、当前vi处于插入模式,先放弃对文本的修改,即不保存退出vi,则(C)。 A、使用“:q!”命令 B、使用“:wq!”命令

C、先按下“ESC”后,再使用“:q!”命令 D、先按“ESC”后,再使用“:wq!”命令

4、经过汇编之后,生成的目标文件的后缀名为(C)。 A、.c B、.s C、.o D、.exe

5、对代码文件code.c进行调试的命令为(A)。

A、$gcc –g code.c –o code B、$gcc code.c –o code C、$gcc –g code.c code D、$gcc –g code

三、叙述题

1、汇编语言和C的混合编程通常有以下几种方式,各有什么特点?

汇编语言与C的混合编程通常有以下几种方式:在C代码中嵌入汇编指令;在汇编程序和C的程序之间进行变量的互访;汇编程序、C程序间的相互调用。

2、如何使用调试器gdb进行代码调试,具体的调试方法有哪些?

查看文件、设置和查看断点、运行代码、查看变量值、单步运行、恢复程序运行。

3、项目管理器的作用主要是什么?

make就是实现这样的功能:它读入一个文件,叫makefile,这个文件不仅决定了源文件之间的依赖关系,而且还决定了源文件什么时候该编译什么时候不应该编译。

第五章

一、填空题。

1、SMDK2440平台的开发板采用的处理器是S3C2440,其主频一般为400M。 2、windows软件环境的设置一般包括以下几部分:超级终端的设置、DNW设置、GIVEIO驱动的设置和USB驱动 3、在windows系统上建立基于linux嵌入式开发环境一般有三种方案可以选择分别是Windows系统下安装虚拟机Vmware、Windows+Linux双系统安装、基于Windows操作系统下的Cygwin

4、UBUNTU的网络设置可以采用命令行方式、也可以采用图形界面操作方式来配置。5、开发板硬件平台是基于三星S3C2440的SMDK2440平台的目标板,使用的刻录软件为SJF2440。 二、选择题

1、为了通过PC的串口和开发板进行交互,需要使用(C)。

? 8 ?

A、USB设置 B、同步

C、超级终端 D、网络连接

2、在嵌入式linux的开发中,能实现上传下载文件、刻录文件、运行映像等功能工具是(D)。

A、DNS B、FTP C、Telnet D、DNW

3、由普通用户账户转为管理员账户登录,使用的命令为(D)。 A、$sudo root B、$sudo administrator C、$su administrator D、$su root 4、安装FTP服务器时,在终端输入的命令为(B)。

A、$apt-get install vsftpd B、$sudo apt-get install vsftpd C、$apt-get install ftp D、$sudo apt-get install ftp 5、安装Telnet服务时,在终端输入的命令为(A)。

A、$sudo apt-get install xinetd telnetd B、$apt-get install xinetd telnetd C、$apt-get install telnetd D、$sudo apt-get install telnetd

三、叙述题 1、建立基于Linux嵌入式开发环境一般有三种方案可以选择:一是在Windows系统下安装虚拟机Vmware。二是Windows系统和Linux系统同时安装。三是基于Windows操作系统下的Cygwin。 2、参看教材5.3。 3、参看教材5.4。 第六章

一、填空题。()

1、交叉开发工具链就是为了编译、链接、处理和调试跨平台体系结构的程序代码。每次执行工具链软件,通过带有不同的参数,可以实现编译、链接、处理、调试等不同的功能。

2、linux经常使用的工具链软件有Binutils、Gcc、Glibc和Gdb。

3、分布构建交叉编译工具链的制作过程需要以下几步:编译binutils、编译辅助gcc编译器、编译glibc库、重新编译完整的gcc。 4、使用crosstool构建交叉编译工具链的制作过程需要以下几步:准备工作、建立脚本文件、建立配置文件、执行脚本文件和编译gdb调试器。

5、使用crosstool构建交叉编译工具链的制作过程中需要的配置文件,其主要作用是定义配置文件、定义生成编译工具链的名称、定义编译选项等。

二、选择题