ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:23.56KB ,
资源ID:19029367      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19029367.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式Linux系统开发参考答案0625资料Word文件下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式Linux系统开发参考答案0625资料Word文件下载.docx

1、5、进程调度,内存管理,虚拟文件系统,网络接口,进程间通信B B B C D1、Windows操作系统是在个人计算机上发展起来的,在许多方面受到个人计算机硬件条件的限制,这些操作系统必须不断地升级才能跟上个人计算机硬件的进步;而Linux操作系统却是以另外一种形式发展起来的,Linux是UNIX操作系统用于个人计算机上的一个版本,UNIX操作系统已经在大型机和小型机上使用了几十年,直到现在仍然是工作站操作系统的首选平台。Linux给个人计算机带来了能够与UNIX系统相比的速度、效率和灵活性,使个人计算机所具有的潜力得到了充分发挥。Linux与Windows工作方式存在一些根本的区别,这些区别只

2、有在用户对两者都很熟悉之后才能体会到,但它们却是Linux思想的核心。2、目前主流的图形界面环境有KDE和GNOME两种图形环境。3、首先使用fdisk -l查看一下磁盘分区情况:然后使用命令:mount t vfat /dev/sdb1 /mnt/USB4、使用类似的命令:ifconfig eth0:192.168.1.15 netmask 255.255.255.0其中192.168.1.15为ip,255.255.255.0为子网掩码。5、Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。其中,进程调度(SCHED)控制进程对CPU的访问;内存管

3、理(MM)允许多个进程安全的共享主内存区域;虚拟文件系统(VirtualFileSystem,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统;进程间通讯(IPC)支持进程间各种通信机制。第三章1、3、1.1、ARM指令集、16为Thumb指令集、322、数据缓存器(Data Cache)、指令缓存(Instruction Cache)、指令存储管理单元(Instruction MMU)、数据存储管理单元(Data MMU)、写缓冲(Write Buffer)和回写存储单元(Write Back PA TAG RAM)3、37、31、6、32

4、4、立即寻址、寄存器寻址、寄存器间接寻址、基址变址寻址5、跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储(Load/Store)指令、协处理器指令A C D D A1、ARM微处理器的运行模式有7种,分别为:用户模式(User,usr):正常程序执行时,ARM处理器所处的状态。快速中断模式(FIQ,fiq):用于快速数据传输和通道处理。外部中断模式(IRQ,irq):用于通常的中断处理。特权模式(Supervisor,sve):供操作系统使用的一种保护模式。数据访问中止模式(Abort,abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护。未定义指令终止模式

5、(Undefined,und):用于支持硬件协处理器软件仿真。系统模式(System,sys):用于运行特权级的操作系统任务。2、ARM储存器的组织最要有2大类型,分别为小端格式和大端格式,也称为小端次序(Little endian)和大端次序(Big endian)的字节序(byte order)。两种储存类的区别在于一个32位的数据存放到储存器中的时候,到底是高位字节放在高地址还是低地址的区别。3、ARM微处理器选型时应注意:1、ARM微处理器内核的选择2、系统的工作频率3、芯片内存储器的容量4、片内外围电路的选择第四章1、程序段(Section)、代码段(Code Section)、数据

6、段(Data Section)2、:、3、符号定义伪指令(Symbol Definition)、数据定义伪指令(Data Definition)、汇编控制伪指令(Assembly Control)、宏指令4、vi、gedit、gcc、gdb、make5、命令模式(command mode)、插入模式(insert mode)、底行模式(last line mode)6、预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。C B C C A1、汇编语言与C的混合编程通常有以下几种方式:在C代码中嵌入汇编指令;在汇编程

7、序和C的程序之间进行变量的互访;汇编程序、C程序间的相互调用。2、参看教材4.2.6。3、make就是实现这样的功能:它读入一个文件,叫makefile,这个文件不仅决定了源文件之间的依赖关系,而且还决定了源文件什么时候该编译什么时候不应该编译。第五章1、S3C2440、400M2、DNW设置、USB驱动3、Windows系统下安装虚拟机Vmware、Windows+Linux双系统安装、基于Windows操作系统下的Cygwin4、命令行方式、图形界面操作方式5、SJF2440C D D B A1、建立基于Linux嵌入式开发环境一般有三种方案可以选择:一是在Windows系统下安装虚拟机V

8、mware。二是Windows系统和Linux系统同时安装。三是基于Windows操作系统下的Cygwin。2、参看教材5.3。3、参看教材5.4。第六章1、为了编译、链接、处理和调试跨平台体系结构的程序代码、编译、链接、处理、调试。2、Binutils、Gcc、Glibc。3、编译binutils、编译辅助gcc编译器、编译glibc库、重新编译完整的gcc。4、建立脚本文件、建立配置文件、执行脚本文件。5、定义生成编译工具链的名称、定义编译选项等。B D B A B1、通常构建交叉工具链有三种方法:方法一、分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。方法二、通过

9、Crosstool脚本工具来实现一次编译生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链;方法三、直接通过网上下载已经制作好的交叉编译工具链。2、分布构建交叉编译工具链制作一般分成六步,主要步骤为:准备工作:下载好所需要的软件包、准备好内核头文件、组织好目录;编译binutils:这个软件包的编译相对简单,一般容易实现;编译辅助gcc编译器:对gcc进行简单配置后,编译gcc,使其不依赖glibc,只对c语言支持,为后面的glibc的编译做准备;编译glibc库:在这一步,首先将解压的内核头文件进行配置。在上一步的编译过程中

10、,已经生成了arm-linux-gcc这个工具,利用这个工具去编译glibc库;重新编译完整的gcc:完整gcc的编译需要glibc库的支持,在第一步的时候glibc还没有被编译,所以只能简单配置,生成辅助的gcc,而在这一步,glibc库已经编译了,可以使用了,所以,就可以对gcc进行完整的编译了;编译gdb调试器:调试器与前面的那些软件包是相互独立的,所以放在最后编译。3、使用Crosstool构建交叉编译工具链制作过程和上一节中分布构建过程原理相似,由于Crosstool是以shell的形式编译的,所以只需要以下几步:建立脚本文件、建立配置文件、执行脚本文件即可。其主要步骤为:建立脚本文

11、件:修改针对arm9架构的脚本文件;建立配置文件:主要用于定义配置文件、定义生成编译工具链的名称以及定义编译选项等;执行脚本文件:执行建立好的脚本文件来编译交叉编译工具;添加环境变量:将生成的编译工具链路径添加到上一节中介绍到的环境变量PATH上去。第七章1、系统加电后运行的第一段软件代码。2、启动加载模式(Bootloading)、下载模式(Downloading)3、网络启动、磁盘启动、Flash启动4、初始化LED、关闭CPU内部指令数据cacheC B A D A1、BootLoader,亦称引导加载程序,是系统加电后运行的第一段软件代码。它是整个系统执行的第一步,所以它的地位在整个嵌

12、入式软件系统中是非常重要的。2、Vivi作为一种Bootloader,其运行过程分成两个阶段,第一阶段的代码在Vivi/arch/s3c2440/head.s中定义,大小不超过10 KB,它包括从系统上电后在0x00000000地址开始执行的部分。这部分代码运行在Flash中,它包括对S3C2440的一些寄存器、时钟等的初始化,然后跳转到第二阶段执行;第二阶段的代码在Viviinitmain.c中,主要进行一些开发板初始化、内存映射和内存管理单元初始化等工作,最后会跳转到boot_or_Vivi()函数中,接收命令并进行处理。需要注意的是在Flash中执行完内存映射后,会将Vivi代码拷贝到S

13、DRAM中执行。3、U-Boot则支持大多CPU,可以烧写EXT2、JFFS2文件系统映象,支持串口下载、网络下载,并提供了大量的命令。相对于Vivi,它的使用更复杂,但是可以用来更方便地调试程序;Vivi是Mizi公司针对SAMSUNG的ARM架构CPU专门设计的,基本上可以直接使用,命令简单方便。不过其初始版本只支持串口下载,速度较慢。在网上出现了各种改进版本:支持网络功能、USB 功能、烧写YAFFS文件系统映象等。第八章1、Makefile、配置文件、配置工具。2、配置命令解释器、配置用户界面。3、注释、编译目标定义、适配段。4、make config、make menuconfig、

14、make xconfig、make config5、zImageC A D D B1、Linux内核各个部分与内核源码的各个目录都是对应起来的,比如有关驱动的内容,内核中就都组织到“drive”这个目录中去,有关网络的代码都集中组织到“net”中。当然,这里有的目录是包含多个部分的内容。具体各个目录的内容组成如下:arch:arch目录包括了所有和体系结构相关的核心代码。include:include 目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux 子目录下; init:init 目录包含核心的初始化代码(不是系统的引导代码),有main.c 和Ver

15、sion.c 两个文件;mm:mm 目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm 目录下;drivers:drivers 目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound;ipc:ipc 目录包含了核心进程间的通信代码;modules:modules 目录存放了已建好的、可动态加载的模块;fs:fs 目录存放Linux 支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3 文件系统对应的就是ext3 子目录;Kernel:Kernel 内核管理的核心代码放在

16、这里。同时与处理器结构相关代码都放在arch/*/kernel 目录下;net:net 目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面;lib:lib 目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下;scripts:scripts 目录包含用于配置核心的脚本文件;documentation:documentation 目录下是一些文档,是对每个目录作用的具体说明。2、将自己开发的内核代码加入到 Linux 内核中,需要有三个步骤。首先确定把自己开发代码放入到内核的位置;其次,把自己开发的功能增加到 Linux 内核的配置选项中,使用户能够选

17、择此功能;最后,构建子目录 Makefile,根据用户的选择,将相应的代码编译到最终生成的 Linux 内核中去。主要步骤有:组织目录结构,配置文件,修改makefile文件等。3、Linux内核的移植过程比较繁琐,具体步骤如下:解压内核文件、修改机器码、修改内核源码根目录下的Makefile文件、修改“arch/arm/plat-s3c24xx/common-smdk.c”文件,修改Nand Flash的分区信息和Nand Flash的硬件信息、修改时钟频率、增加Yaffs2文件系统的支持、配置内核、编译内核等。4、内核裁剪,主要作用就是为了适应嵌入式系统的小体积、小存储的特点,在内核的大小

18、方面进行裁剪。内核编译之前,通过配置内核的选项参数进行设置,将不需要的功能删掉,保留系统需要的部分,这样就在一定程序上缩小了生成的镜像文件大小。第九章1、上层用户的应用程序对文件系统的系统调用、虚拟文件系统VFS、挂载到VFS中的各种实际文件系统。2、Blkmem驱动层、RAMdisk驱动层、MTD驱动层3、JFFS2、Yaffs、Romfs4、Ramdisk、Ramfs/Tmpfs5、System V init、Busybox initA B B D B1、在Linxu根文件系统中,一般包括这样一些子目录:/etc/、/dev/、/usr/、/usr/bin/、/bin/等。根文件系统的建立

19、需要遵循一定的规则,包括目录的位置及名字等。用来建立根文件系统的规则被称作文件系统分类标准(Filesystem Hierarchy Standard,FHS),该规则定义了在构建Linux根文件系统时文件和目录的名字和存放位置的标准。2、Busybox能使用户迅速方便的建立一套相对完整、功能丰富的文件系统,其中包括大量常用的应用程序。Busybox将许多常用的UNIX命令和工具结合到了一个单独的可执行程序中。它集成压缩了 Linux 的许多工具和命令。虽然与相应的GNU工具比较起来,Busybox所提供的功能和参数略少,但在比较小的系统或者嵌入式系统中,这些已经足够用了。3、参考教材9.3.

20、2。4、参考教材9.3.3。第十章1、块设备文件、字符设备文件、网络设备文件、杂项设备文件。2、主设备号、次设备号3、file_operations、file、inode4、mknod5、ioctlB D A A D1、驱动程序主要提供以下功能:应用程序通过驱动程序安全有效地访问硬件;驱动程序作为嵌入式系统的中间层软件,它隐藏了底层的细节,从而提高了软件的可移植性和可复用性;驱动程序文件节点可以方便地提供访问权限控制。从下层驱动开发人员的角度来看,Linux驱动程序就是通过直接操控硬件的软件,来完成下面的功能:对设备初始化和释放;直接读写硬件寄存器来控制硬件;把数据从内核传送到硬件和从硬件读取

21、数据;操作设备缓冲区设备;操作输入、输出设备,如键盘、打印机等;读取应用程序传送给设备文件的数据和回送应用程序请求的数据;检测和处理设备出现的错误。2、块设备文件:通常指一些需要以块(如512字节)的方式写入的设备,如IDE硬盘、SCSI硬盘、光驱等; 字符型设备文件:通常指可以直接读写,没有缓冲区的设备,如并口、虚拟控制台等;3、Linux驱动程序可以通过两种方式集成到内核中去:一是将其直接编译到内核;二是将其编写成模块,在需要添加某种硬件的时候,内核可以将其调入。在配置Linux内核时,可以选择“Enable loadable module support”选项,来支持可加载内核模块。4、

22、Linux 设备驱动程序与外界的接口可以分为如下三个部分:驱动程序与操作系统内核的接口:这是通过数据结构 file_operations来完成的。驱动程序与系统引导的接口:这部分利用驱动程序对设备进行初始化。驱动程序与设备的接口:这部分描述了驱动程序如何与设备进行交互,这与具体设备密切相关。5、进行模块编程的一般步骤是:首先建立模块文件,然后编写makefile文件,最后使用inmod加载模块文件。6、编写一个字符设备驱动,主要是下面几步:编写硬件接口函数;建立文件系统与设备驱动程序的接口变量,类型为struct file_operations结构体,并初始化该变量;注册设备到chrdevs全

23、局数组中;以模块方式编译驱动源码,并将其加载到内核中;创建设备节点;编写应用程序访问底层设备。第十一章1、视窗、单一文件界面或者多文件界面、标签、菜单2、窗口系统、字体、输入设备及输入法、屏幕加速3、tmake 工具安装包、Qt/Embedded安装包、Qt的X11版的安装包、Qt/Embedded安装包。4、配置、编译、测试5、QDevelop、Qt designerB A B D D三、简答题略四、上机题1、(1)、从ftp:/(2)、新建一个目录用来编译,具体命令如下:$tar xvf qt-all-opensource-src-4.3.3.tar.gz$mkdir build$cd b

24、uild(3)、配置,进入build目录,开始配置安装文件。在命令行中输入以下命令:$./qt-all-opensource-src-4.3.3/configure -release -no-qvfb -xplatform qws/linux-arm-g+ -embedded arm -no-stl -plugin-sql-sqlite -no-qt3support -no-nis -no-cups -no-iconv -no-qdbus -no-freetype -depths 4,8,16,32 -qt-mouse-linuxtp配置过程中有一些确认选项,确认之后,我们就可以使用“gmake”命令编译安装(4)、编译,在命令行中输入gmake命令安装:$gmake$gmake install2、参见光盘“/src/第十一章/computer”。

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

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