嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx

上传人:b****6 文档编号:22045984 上传时间:2023-02-02 格式:DOCX 页数:20 大小:29.36KB
下载 相关 举报
嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx_第1页
第1页 / 共20页
嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx_第2页
第2页 / 共20页
嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx_第3页
第3页 / 共20页
嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx_第4页
第4页 / 共20页
嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx

《嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。

嵌入式Linu 系统开发教程很完整的习题答案Word格式文档下载.docx

C、价格D、大小

5、在嵌入式系统中比较流行的主流程序有:

A、AngelB、Blob

C、RedBootD、U-Boot

三、叙述题

1、举例说明身边常用的嵌入式系统。

生活中最常见的嵌入式系统恐怕要数智能手机了,包括Symbian、WindowsMobile、Android等手机嵌入式系统。

还有,如路由器也是一个典型的嵌入式系统。

2、如何理解嵌入式系统,谈谈自己的理解。

嵌入式系统是指:

他具有如下特点:

1、嵌入式系统是面向产品、面向用户、面向应用的。

2、嵌入式系统是一个技术密集、集成度高、需要不断创新的集成系统。

3、嵌入式系统必须根据应用场合对软硬件进行必要的裁剪已实现需要的功能。

3、简述嵌入式系统的开发方法有哪几种。

目前,嵌入式系统的开发有模拟开发调试、嵌入式在线仿真和远程调试等几种方法。

4、结合当前嵌入式系统的发展,想象一下嵌入式系统的应用前景。

嵌入式系统技术有着非常广泛的应用前景,其领域包括:

工业控制领域、信息家电领域、机器人领域、POS网络及电子商务领域、家庭智能管理系统、交通管理领域、环境工程与自然领域等。

第二章

1、Linux具有UNIX的所有特性并且具有自己独特的魅力,主要表现在:

开放性、多用户、多任务、友好的用户界面、设备独立性、丰富的网络功能、文件传输、远程访问、可靠的安全性、良好的可移植性、XWindow系统、内存保护模式。

2、Linux一般包括四个主要部分:

内核(Kernel)、命令解释层(Shell或其他操作环境)、文件结构(FileStructure)和实用工具。

3、目前几乎所有的Linux发行版本中都包含了Gnome和KDE两种图形操作环境。

4、在当前目录下建立目录,应使用命令:

mkdirlinux;

查看当前路径应使用命令:

pwd;

chmod765的作用是:

使文件的拥有者权限、文件组权限和其他用户拥有相应的权限。

5、Linux内核主要由:

进程调度,内存管理,虚拟文件系统,网络接口,进程间通信五个子系统组成。

1、下列(D)系列处理器是Ubuntu不支持的。

A、ARMB、AMD

C、X86D、51单片机

2、启动shell环境时,屏幕上显示“[arm@wwwhome]$”,其中的arm的意义是(B)。

A、arm架构B、用户名

C、文件夹D、路径

3、使用ls命令时,如果想对文件名中的不可显示字符用八进制逃逸字符显示,则应该选用的参数是(A)。

A、-bB、-a

C、-lD、-R

4、解压文件可使用命令(C)。

A、tarjxvfB、tarjxvf、tarzxvfD、tarczvf、下列不属于Linux用的文件系统是(D)。

A、ext2B、ext3

C、nfsD、ntfs

1、简述linux与windows的主要异同。

Windows操作系统是在个人计算机上发展起来的,在许多方面受到个人计算机硬件条件的限制,这些操作系统必须不断地升级才能跟上个人计算机硬件的进步;

而Linux操作系统却是以另外一种形式发展起来的,Linux是UNIX操作系统用于个人计算机上的一个版本,UNIX操作系统已经在大型机和小型机上使用了几十年,直到现在仍然是工作站操作系统的首选平台。

Linux给个人计算机带来了能够与UNIX系统相比的速度、效率和灵活性,使个人计算机所具有的潜力得到了充分发挥。

Linux与Windows工作方式存在一些根本的区别,这些区别只有在用户对两者都很熟悉之后才能体会到,但它们却是Linux思想的核心。

2、目前主流的图形界面环境有哪些?

它们各有什么有缺点?

目前主流的图形界面环境有KDE和GNOME两种图形环境。

KDE与GNOME项目拥有相同的目标,就是为Linux开发一套高价值的图形操作环境,两者都采用GPL公约发行,不同之处在于KDE基于双重授权的Qt,而GNOME采用遵循GPL的GTK库开发—后者拥有更广泛的支持。

不同的基础决定两者不同的形态:

KDE包含大量的应用软件、项目规模庞大,因为没有太多的第三方开发者为KDE开发重量级软件;

由于自带软件众多,KDE比GNOME丰富多彩,加上使用习惯接近Windows,会更容易上手一些。

但KDE的毛病在于运行速度相对较慢,且部分程序容易崩溃(当然整个KDE崩溃的情况极少出现)。

GNOME项目专注于桌面环境本身,由于软件较少、运行速度快,且稳定性相当出色,完全遵循GPL公约的属性让它赢得重量级厂商的支持。

从当前的情况来看,GNOME已经成为Novell、RedHat企业发行版的默认桌面,更偏向于商务领域;

而丰富多彩的KDE有朝向家用和娱乐方向发展的趋势,它比GNOME显然更有趣味性一些。

3、在linux中如何使用mount命令挂载U盘?

首先使用fdisk-l查看一下磁盘分区情况:

然后使用命令:

mount–tvfat/dev/sdb1/mnt/USB

4、如何设置linux操作系统的网络参数?

使用类似的命令:

ifconfigeth0:

netmask其中为ip,为子网掩码。

5、简要分析linux内核的各个组成部分。

Linux内核主要由五个子系统组成:

进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。

其中,进程调度(SCHED)控制进程对CPU的访问;

内存管理(MM)允许多个进程安全的共享主内存区域;

虚拟文件系统(VirtualFileSystem,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统;

进程间通讯(IPC)?

支持进程间各种通信机制。

?

 

第三章

1、ARM9系列微处理器在高性能和低功耗方面提供最佳的性能:

它具有3级整数流水线,指令执行效率更高;

提供MHz的哈佛总线结构;

支持32位ARM指令集和16位Thumb指令集;

支持32位的高速AMBA总线接口。

2、ARM芯片的内核一般包括以下几个单元:

ARM9TDMI32RISC处理器、数据缓存器(DataCache)、指令缓存(InstructionCache)、指令存储管理单元(InstructionMMU)、数据存储管理单元(DataMMU)、写缓冲(WriteBuffer)和回写存储单元(WriteBackPATAGRAM)。

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

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

5、ARM微处理器的指令集可以分为以下六大类:

跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储(Load/Store)指令、协处理器指令和异常中断产生指令。

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

A.立即寻址B.寄存器寻址C.寄存器间接寻址D.基址变址寻址

2.指令LERR3,[R4]第二个操作数的寻址方式是(C)

A.立即寻址B.寄存器寻址C.寄存器间接寻址D.基址变址寻址

R0,[R1,#4]第二个操作数的寻址方式是(D)

4.假设R0和R1寄存器中的值分别为8和6,执行指令:

LDRR0,[R1,#8]!

则寄存器R0和R1中的值分别为(B)

A.8,6B.14,6C.14,14D.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):

用于运行特权级的操作系统任务。

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

ARM储存器的组织最要有2大类型,分别为小端格式和大端格式,也称为小端次序(Littleendian)和大端次序(Bigendian)的字节序(byteorder)。

两种储存类的区别在于一个32位的数据存放到储存器中的时候,到底是高位字节放在高地址还是低地址的区别。

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

1、ARM微处理器内核的选择

2、系统的工作频率

3、芯片内存储器的容量

4、片内外围电路的选择

第四章0

1、在ARM/Thumb汇编语言程序中,程序是以程序段的形式呈现的。

程序段是具有特有名称的相对独立的指令或数据序号。

程序段有两大类型代码段、数据段。

2、基于linux下GCC汇编语言,代码表号必须在一行的顶端,后面要加上:

,注释的内容可以在前面加上@。

3、在ARM的汇编程序中,伪指令种类繁多,可以细分为以下几种伪指令:

符号定义伪指令(SymbolDefinition)、数据定义伪指令(DataDefinition)、汇编控制伪指令(AssemblyControl)、宏指令

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

5、Vi编辑器基本上有三种基本状态,分别是:

命令模式(commandmode)、插入模式(insertmode)和底行模式(lastlinemode)。

6、使用gcc编译文件生成可执行文件要经历四个相互关联的步骤:

预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。

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

A.LCLAtemp;

tempSETA0x08;

B.LCLAtemp;

tempSETL0x08;

C.GBLAtemp;

D.GBLAtemp;

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

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

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

3、当前vi处于插入模式,先放弃对文本的修改,即不保存退出vi,则(C)。

A、使用“:

q!

”命令

B、使用“:

wq!

”命令

C、先按下“ESC”后,再使用“:

D、先按“ESC”后,再使用“:

4、经过汇编之后,生成的目标文件的后缀名为(C)。

A、.cB、.s

C、.oD、.exe

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

A、$gcc–g–ocodeB、$gcc–ocode

C、$gcc–gcodeD、$gcc–gcode

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)。

A、USB设置B、同步

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

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

A、DNSB、FTP

C、TelnetD、DNW

3、由普通用户账户转为管理员账户登录,使用的命令为(D)。

A、$sudorootB、$sudoadministrator

C、$suadministratorD、$suroot

4、安装FTP服务器时,在终端输入的命令为(B)。

A、$apt-getinstallvsftpdB、$sudoapt-getinstallvsftpd

C、$apt-getinstallftpD、$sudoapt-getinstallftp

5、安装Telnet服务时,在终端输入的命令为(A)。

A、$sudoapt-getinstallxinetdtelnetdB、$apt-getinstallxinetdtelnetd

C、$apt-getinstalltelnetdD、$sudoapt-getinstalltelnetd

1、建立基于Linux嵌入式开发环境一般有三种方案可以选择:

一是在Windows系统下安装虚拟机Vmware。

二是Windows系统和Linux系统同时安装。

三是基于Windows操作系统下的Cygwin。

2、参看教材。

3、参看教材。

第六章

()

1、交叉开发工具链就是为了编译、链接、处理和调试跨平台体系结构的程序代码。

每次执行工具链软件,通过带有不同的参数,可以实现编译、链接、处理、调试等不同的功能。

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

3、分布构建交叉编译工具链的制作过程需要以下几步:

编译binutils、编译辅助gcc编译器、编译glibc库、重新编译完整的gcc。

4、使用crosstool构建交叉编译工具链的制作过程需要以下几步:

准备工作、建立脚本文件、建立配置文件、执行脚本文件和编译gdb调试器。

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

1.(B)是二进制程序处理工具,包括连接器,汇编器等目标程序处理的工具。

A.GccB.BinutilsC.GlibcD.Gdb

2.构建交叉编译器的第一个步骤是(D)。

A.下载工具B.编译所需文件C.实现平台连接D.确定目标平台

3、分析以下代码

#exportPRJROOT=/home/arm/armlinux

#exportTARGET=arm-linux

#exportPREFIX=$PRJROOT/$TARGET

其中,变量PREFIX代表的路径为(B)。

A、/home/arm/armlinuxB、/home/arm/armlinux/arm-linux

C、/home/arm/arm-linuxD、/home/arm/arm-linux/armlinux

4.Binutils是gnu工具之一,他包括连接器、汇编器和其他用于目标文件和档案的工具,特使二进制代码的处理维护工具。

其中包括(A)命令,他是把一些目标和归档文件结合在一起,重定位数据,并连接符号引用。

A.ldB.gprofC.arcD.as

5.分布构建交叉编译链的过程有两次变异gcc,其中第二次进行编译的作用是(获得glibc库的支持)

A.获得newlib库的支持B.获得glibe库的支持

C.获得uClibe库的支持D.获得c库的支持

1、构建交叉工具链有那几种方法?

通常构建交叉工具链有三种方法:

方法一、分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。

方法二、通过Crosstool脚本工具来实现一次编译生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链;

方法三、直接通过网上下载已经制作好的交叉编译工具链。

第七章

1、Bootloader,亦称引导加载程序,是系统加电后运行的第一段软件代码。

2、一般Bootloader包含两种不同的操作模式:

启动加载模式(Bootloading)和下载模式(Downloading)。

3、Bootloader的主要功能是引导操作系统启动,它的启动方式有网络启动、磁盘启动和Flash启动三种。

4、Vivi运行的第一阶段主要完成以下工作:

屏蔽所有中断、设置CPU的速度和时钟频率、RAM初始化、初始化LED和关闭CPU内部指令/数据cache。

1、在Bootloader的启动方式中,Flash启动方式通常有两种,一种是可以直接从Flash启动,另一种时可以将压缩的内存映像文件从Flash中复制、解压到C,再从中启动。

A、ROMB、SDRAMC、RAMD、Flash

2、在各种Bootloader中,B是以PPCBoot和ARMBoot为基础的通用加载程序,并且在ARM、PowerPC以及MIPS等多种平台上运行。

A、ViviB、U-bootC、RedBootD、s-hboot

3、在编译Vivi之前将Vivi里所有的“*.o”和“*.”文件删除,以确保文件编译时没有错误或者警告发生,使用的命令格式为(D)。

A、makedistcleanB、makecleanC、makemenuconfigD、makeconfig

4、编译Vivi时,如果编译成功,在/vivi里面会生成三个vivi文件,其中不包括文件(D)。

A、viviB、C、vivi-elfD、

5、把二进制文件载入Flash或RAM使用的命令是(A)。

A、loadB、partC、bootD、bon

1、简述Bootloader的主要功能。

BootLoader,亦称引导加载程序,是系统加电后运行的第一段软件代码。

它是整个系统执行的第一步,所以它的地位在整个嵌入式软件系统中是非常重要的。

2、Vivi作为一种Bootloader,其运行过程分成两个阶段,第一阶段的代码在Vivi/arch/s3c2440/中定义,大小不超过10KB,它包括从系统上电后在0x00000000地址开始执行的部分。

这部分代码运行在Flash中,它包括对S3C2440的一些寄存器、时钟等的初始化,然后跳转到第二阶段执行;

第二阶段的代码在Vivi\init\中,主要进行一些开发板初始化、内存映射和内存管理单元初始化等工作,最后会跳转到boot_or_Vivi()函数中,接收命令并进行处理。

需要注意的是在Flash中执行完内存映射后,会将Vivi代码拷贝到SDRAM中执行。

3、U-Boot则支持大多CPU,可以烧写EXT2、JFFS2文件系统映象,支持串口下载、网络下载,并提供了大量的命令。

相对于Vivi,它的使用更复杂,但是可以用来更方便地调试程序;

Vivi是Mizi公司针对SAMSUNG的ARM架构CPU专门设计的,基本上可以直接使用,命令简单方便。

不过其初始版本只支持串口下载,速度较慢。

在网上出现了各种改进版本:

支持网络功能、USB功能、烧写YAFFS文件系统映象等。

第八章

1、ARM-Linux内核的配置系统由三个部分组成,它们分别是Makefile、配置文件和配置工具。

2、配置工具一般包括配置命令解释器和配置用户界面,前者主要作用是对配置脚本中使用的配置命令进行解释;

而后者则是提供基于字符界面、基于Ncurses图形界面以及基于XWindow图形界面的用户配置界面。

3、Makefile文件主要包含注释、编译目标定义和适配段。

4、Linux内核常用的配置命令有makeoldconfig、makeconfig、makemenuconfig和makexconfig。

其中以字符界面配置的命令是makeconfig。

5、内核编译结束后,会在“/arch/arm/boot/”目录下面和根目录下

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1