嵌入式课后习题答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

参考答案第一章一、填空题。计算机软硬件技术、通信技术和微电子技术应用、计算机技术…硬件层、中间层、系统软件层以及应用软件层ARM、MIPS、PowerPCLinux、Vxworks、WinCE、Palm体系结构设计、软硬件及机械系统设计、系统测试二、选择题ADBDA三、叙述题1、生活中最常见的嵌入式系统恐怕要数智能手机了,包括Symbian、WindowsMobile、Android等手机嵌入式系统。还有,如路由器也是一个典型的嵌入式系统。2、嵌入式系统是指:以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。他具有如下特点:1、嵌入式系统是面向产品、面向用户、面向应用的。2、嵌入式系统是一个技术密集、集成度高、需要不断创新的集成系统。3、嵌入式系统必须根据应用场合对软硬件进行必要的裁剪已实现需要的功能。3、目前,嵌入式系统的开发有模拟开发调试、嵌入式在线仿真和远程调试等几种方法。4、嵌入式系统技术有着非常广泛的应用前景,其领域包括:工业控制领域、信息家电领域、机器人领域、POS网络及电子商务领域、家庭智能管理系统、交通管理领域、环境工程与自然领域等。第二章一、填空题。1、多任务、友好的用户界面、设备独立性、文件传输、远程访问、可靠的安全性、良好的可移植性、XWindow系统、内存保护模式。2、内核(Kernel)、命令解释层(Shell或其他操作环境)、文件结构(FileStructure)和实用工具。3、Gnome、KDE4、mkdirlinux、pwd、使linux.tar.gz文件的拥有者权限、文件组权限和其他用户拥有相应的权限ASP.NET简明教程•2•5、进程调度,内存管理,虚拟文件系统,网络接口,进程间通信二、选择题BBBCD三、叙述题1、Windows操作系统是在个人计算机上发展起来的,在许多方面受到个人计算机硬件条件的限制,这些操作系统必须不断地升级才能跟上个人计算机硬件的进步;而Linux操作系统却是以另外一种形式发展起来的,Linux是UNIX操作系统用于个人计算机上的一个版本,UNIX操作系统已经在大型机和小型机上使用了几十年,直到现在仍然是工作站操作系统的首选平台。Linux给个人计算机带来了能够与UNIX系统相比的速度、效率和灵活性,使个人计算机所具有的潜力得到了充分发挥。Linux与Windows工作方式存在一些根本的区别,这些区别只有在用户对两者都很熟悉之后才能体会到,但它们却是Linux思想的核心。2、目前主流的图形界面环境有KDE和GNOME两种图形环境。3、首先使用fdisk-l查看一下磁盘分区情况:然后使用命令:mount–tvfat/dev/sdb1/mnt/USB4、使用类似的命令:ifconfigeth0:192.168.1.15netmask255.255.255.0其中192.168.1.15为ip,255.255.255.0为子网掩码。5、Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。其中,进程调度(SCHED)控制进程对CPU的访问;内存管理(MM)允许多个进程安全的共享主内存区域;虚拟文件系统(VirtualFileSystem,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统;进程间通讯(IPC)支持进程间各种通信机制。第三章一、填空题。1、3、1.1、ARM指令集、16为Thumb指令集、322、数据缓存器(DataCache)、指令缓存(InstructionCache)、指令存储管理单元(InstructionMMU)、数据存储管理单元(DataMMU)、写缓冲(WriteBuffer)和回写存储单元(WriteBackPATAGRAM)3、37、31、6、324、立即寻址、寄存器寻址、寄存器间接寻址、基址变址寻址5、跳转指令、数据处理指令、程序状态寄存器(PSR)处理指令、加载/存储(Load/Store)指令、协处理器指令二、选择题第1章ASP.NET概述•3•ACDDA三、叙述题1、ARM微处理器的运行模式有7种,分别为:用户模式(User,usr):正常程序执行时,ARM处理器所处的状态。快速中断模式(FIQ,fiq):用于快速数据传输和通道处理。外部中断模式(IRQ,irq):用于通常的中断处理。特权模式(Supervisor,sve):供操作系统使用的一种保护模式。数据访问中止模式(Abort,abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护。未定义指令终止模式(Undefined,und):用于支持硬件协处理器软件仿真。系统模式(System,sys):用于运行特权级的操作系统任务。2、ARM储存器的组织最要有2大类型,分别为小端格式和大端格式,也称为小端次序(Littleendian)和大端次序(Bigendian)的字节序(byteorder)。两种储存类的区别在于一个32位的数据存放到储存器中的时候,到底是高位字节放在高地址还是低地址的区别。3、ARM微处理器选型时应注意:1、ARM微处理器内核的选择2、系统的工作频率3、芯片内存储器的容量4、片内外围电路的选择第四章一、填空题。1、程序段(Section)、代码段(CodeSection)、数据段(DataSection)2、:、@3、符号定义伪指令(SymbolDefinition)、数据定义伪指令(DataDefinition)、汇编控制伪指令(AssemblyControl)、宏指令4、vi、gedit、gcc、gdb、make5、命令模式(commandmode)、插入模式(insertmode)、底行模式(lastlinemode)6、预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。二、选择题CBCCA三、叙述题ASP.NET简明教程•4•1、汇编语言与C的混合编程通常有以下几种方式:在C代码中嵌入汇编指令;在汇编程序和C的程序之间进行变量的互访;汇编程序、C程序间的相互调用。2、参看教材4.2.6。3、make就是实现这样的功能:它读入一个文件,叫makefile,这个文件不仅决定了源文件之间的依赖关系,而且还决定了源文件什么时候该编译什么时候不应该编译。第五章一、填空题。1、S3C2440、400M2、DNW设置、USB驱动3、Windows系统下安装虚拟机Vmware、Windows+Linux双系统安装、基于Windows操作系统下的Cygwin4、命令行方式、图形界面操作方式5、SJF2440二、选择题CDDBA三、叙述题1、建立基于Linux嵌入式开发环境一般有三种方案可以选择:一是在Windows系统下安装虚拟机Vmware。二是Windows系统和Linux系统同时安装。三是基于Windows操作系统下的Cygwin。2、参看教材5.3。3、参看教材5.4。第六章一、填空题。1、为了编译、链接、处理和调试跨平台体系结构的程序代码、编译、链接、处理、调试。2、Binutils、Gcc、Glibc。3、编译binutils、编译辅助gcc编译器、编译glibc库、重新编译完整的gcc。4、建立脚本文件、建立配置文件、执行脚本文件。5、定义生成编译工具链的名称、定义编译选项等。二、选择题BDBAB第1章ASP.NET概述•5•三、叙述题1、通常构建交叉工具链有三种方法:方法一、分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。方法二、通过Crosstool脚本工具来实现一次编译生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链;方法三、直接通过网上下载已经制作好的交叉编译工具链。2、分布构建交叉编译工具链制作一般分成六步,主要步骤为:准备工作:下载好所需要的软件包、准备好内核头文件、组织好目录;编译binutils:这个软件包的编译相对简单,一般容易实现;编译辅助gcc编译器:对gcc进行简单配置后,编译gcc,使其不依赖glibc,只对c语言支持,为后面的glibc的编译做准备;编译glibc库:在这一步,首先将解压的内核头文件进行配置。在上一步的编译过程中,已经生成了arm-linux-gcc这个工具,利用这个工具去编译glibc库;重新编译完整的gcc:完整gcc的编译需要glibc库的支持,在第一步的时候glibc还没有被编译,所以只能简单配置,生成辅助的gcc,而在这一步,glibc库已经编译了,可以使用了,所以,就可以对gcc进行完整的编译了;编译gdb调试器:调试器与前面的那些软件包是相互独立的,所以放在最后编译。3、使用Crosstool构建交叉编译工具链制作过程和上一节中分布构建过程原理相似,由于Crosstool是以shell的形式编译的,所以只需要以下几步:建立脚本文件、建立配置文件、执行脚本文件即可。其主要步骤为:准备工作:下载好所需要的软件包、准备好内核头文件、组织好目录;建立脚本文件:修改针对arm9架构的脚本文件;建立配置文件:主要用于定义配置文件、定义生成编译工具链的名称以及定义编译选项等;执行脚本文件:执行建立好的脚本文件来编译交叉编译工具;添加环境变量:将生成的编译工具链路径添加到上一节中介绍到的环境变量PATH上去。第七章一、填空题。1、系统加电后运行的第一段软件代码。2、启动加载模式(Bootloading)、下载模式(Downloading)3、网络启动、磁盘启动、Flash启动4、初始化LED、关闭CPU内部指令/数据cache二、选择题CBADAASP.NET简明教程•6•三、叙述题1、BootLoader,亦称引导加载程序,是系统加电后运行的第一段软件代码。它是整个系统执行的第一步,所以它的地位在整个嵌入式软件系统中是非常重要的。2、Vivi作为一种Bootloader,其运行过程分成两个阶段,第一阶段的代码在Vivi/arch/s3c2440/head.s中定义,大小不超过10KB,它包括从系统上电后在0x00000000地址开始执行的部分。这部分代码运行在Flash中,它包括对S3C2440的一些寄存器、时钟等的初始化,然后跳转到第二阶段执行;第二阶段的代码在Vivi\init\main.c中,主要进行一些开发板初始化、内存映射和内存管理单元初始化等工作,最后会跳转到boot_or_Vivi()函数中,接收命令并进行处理。需要注意的是在Flash中执行完内存映射后,会将Vivi代码拷贝到SDRAM中执行。3、U-Boot则支持大多CPU,可以烧写EXT2、JFFS2文件系统映象,支持串口下载、网络下载,并提供了大量的命令。相对于Vivi,它的使用更复杂,但是可以用来更方便地调试程序;Vivi是Mizi公司针对SAMSUNG的ARM架构CPU专门设计的,基本上可以直接使用,命令简单方便。不过其初始版本只支持串口下载,速度较慢。在网上出现了各种改进版本:支持网络功能、USB功能、烧写YAFFS文件系统映象等。第八章一、填空题。1、Makefile、配置文件、配置工具。2、配置命令解释器、配置用户界面。3、注释、编译目标定义、适配段。4、makeconfig、makemenuconfig、makexconfig、makeconfig5、zImage二、选择题CADDB三、叙述题1、Linux内核各个部分与内核源码的各个目录都是对应起来的,比如有关驱动的内容,内核中就都组织到“drive”这个目录中去,有关网络的代码都集中组织到“net”中。当然,这里有的目录是包含多个部分的内容。具体各个目录的内容组成如下:arch:arch目录包括了所有和体系结构相关的核心代码。include:include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在incl

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功