当前位置:文档之家› 嵌入式课后习题答案

嵌入式课后习题答案

Vivi是Mizi公司针对SAMSUNG的ARM架构CPU专门设计的,基本上可以直接使用,命令简单方便。不过其初始版本只支持串口下载,速度较慢。在网上出现了各种改进版本:支持网络功能、USB功能、烧写YAFFS文件系统映象等。
第八章
一、填空题。
1、Makefile、配置文件、配置工具。
2、配置命令解释器、配置用户界面。
arch:arch目录包括了所有和体系结构相关的核心代码。include:include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下;init:init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件;mm:mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下;drivers:drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound;ipc:ipc目录包含了核心进程间的通信代码;modules:modules目录存放了已建好的、可动态加载的模块;fs:fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录;Kernel:Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下;net:net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面;lib:lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下;scripts:scripts目录包含用于配置核心的脚本文件;documentation:documentation目录下是一些文档,是对每个目录作用的具体说明。
建立脚本文件:修改针对arm9架构的脚本文件;
建立配置文件:主要用于定义配置文件、定义生成编译工具链的名称以及定义编译选项等;
执行脚本文件:执行建立好的脚本文件来编译交叉编译工具;
添加环境变量:将生成的编译工具链路径添加到上一节中介绍到的环境变量PATH上去。
第七章
一、填空题。
1、系统加电后运行的第一段软件代码。
二、选择题
C B C C A
三、叙述题
1、汇编语言与C的混合编程通常有以下几种方式:在C代码中嵌入汇编指令;在汇编程序和C的程序之间进行变量的互访;汇编程序、C程序间的相互调用。
2、参看教材4.2.6。
3、make就是实现这样的功能:它读入一个文件,叫makefile,这个文件不仅决定了源文件之间的依赖关系,而且还决定了源文件什么时候该编译什么时候不应该编译。
Linux给个人计算机带来了能够与UNIX系统相比的速度、效率和灵活性,使个人计算机所具有的潜力得到了充分发挥。Linux与Windows工作方式存在一些根本的区别,这些区别只有在用户对两者都很熟悉之后才能体会到,但它们却是Linux思想的核心。
2、目前主流的图形界面环境有KDE和GNOME两种图形环境。
5、Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。其中,进程调度(SCHED)控制进程对CPU的访问;内存管理(MM)允许多个进程安全的共享主内存区域;虚拟文件系统(VirtualFileSystem,VFS)隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,VFS提供了多达数十种不同的文件系统;进程间通讯(IPC)支持进程间各种通信机制。
快速中断模式(FIQ,fiq):用于快速数据传输和通道处理。
外部中断模式(IRQ,irq):用于通常的中断处理。
特权模式(Supervisor,sve):供操作系统使用的一种保护模式。
数据访问中止模式(Abort,abt):当数据或指令预取终止时进入该模式,用于虚拟存储及存储保护。
未定义指令终止模式(Undefined,und):用于支持硬件协处理器软件仿真。
第三章
一、填空题。
1、3、1.1、ARM指令集、16为Thumb指令集、32
2、数据缓存器(Data Cache)、指令缓存(Instruction Cache)、指令存储管理单元(Instruction MMU)、数据存储管理单元(Data MMU)、写缓冲(Write Buffer)和回写存储单元(Write Back PA TAG RAM)
gz文件的拥有者权限文件组权限和其他用户拥有相应的权限进程调度内存管理虚拟文件系统网络接口进程间通信二选择题windows操作系统是在个人计算机上发展起来的在许多方面受到个人计算机硬件条件的限制这些操作系统必须不断地升级才能跟上个人计算机硬件的进步
参考答案
第一章
一、填空题。
计算机软硬件技术、通信技术和微电子技术
3、注释、编译目标定义、适配段。
4、make config、make menuconfig、make xconfig、make config
5、zImage
二、选择题
C A D D B
三、叙述题
1、Linux内核各个部分与内核源码的各个目录都是对应起来的,比如有关驱动的内容,内核中就都组织到“drive”这个目录中去,有关网络的代码都集中组织到“net”中。当然,这里有的目录是包含多个部分的内容。具体各个目录的内容组成如下:
编译glibc库:在这一步,首先将解压的内核头文件进行配置。在上一步的编译过程中,已经生成了arm-linux-gcc这个工具,利用这个工具去编译glibc库;
重新编译完整的gcc:完整gcc的编译需要glibc库的支持,在第一步的时候glibc还没有被编译,所以只能简单配置,生成辅助的gcc,而在这一步,glibc库已经编译了,可以使用了,所以,就可以对gcc进行完整的编译了;
3、ARM微处理器选型时应注意:
1、ARM微处理器内核的选择
2、系统的工作频率
3、芯片内存储器的容量
4、片内外围电路的选择
第四章
一、填空题。
1、程序段(Section)、代码段(Code Section)、数据段(Data Section)
2、:、@
3、符号定义伪指令(Symbol Definition)、数据定义伪指令(Data Definition)、汇编控制伪指令(Assembly Control)、宏指令
2、Vivi作为一种Bootloader,其运行过程分成两个阶段,第一阶段的代码在Vivi/arch/s3c2440/head.s中定义,大小不超过10 KB,它包括从系统上电后在0x00000000地址开始执行的部分。这部分代码运行在Flash中,它包括对S3C2440的一些寄存器、时钟等的初始化,然后跳转到第二阶段执行;
3、首先使用fdisk -l查看一下磁盘分区情况:
然后使用命令:mount –t vfat /dev/sdb1 /mnt/USB
4、使用类似的命令:
ifconfig eth0:192.168.1.15netmask 255.255.255.0
其中192.168.1.15为ip,255.255.255.0为子网掩码。
编译gdb调试器:调试器与前面的那些软件包是相互独立的,所以放在最后编译。
3、使用Crosstool构建交叉编译工具链制作过程和上一节中分布构建过程原理相似,由于Crosstool是以shell的形式编译的,所以只需要以下几步:建立脚本文件、建立配置文件、执行脚本文件即可。其主要步骤为:
准备工作:下载好所需要的软件包、准备好内核头文件、组织好目录;
第五章
一、填空题。
1、S3C2440、400M
2、DNW设置、USB驱动
3、Windows系统下安装虚拟机Vmware、Windows+Linux双系统安装、基于Windows操作系统下的Cygwin
4、命令行方式、图形界面操作方式
5、SJF2440
二、选择题
C D D B A
三、叙述题
1、建立基于Linux嵌入式开发环境一般有三种方案可以选择:一是在Windows系统下安装虚拟机Vmware。二是Windows系统和Linux系统同时安装。三是基于Windows操作系统下的Cygwin。
二、选择题
B B B C D
三、叙述题
1、Windows操作系统是在个人计算机上发展起来的,在许多方面受到个人计算机硬件条件的限制,这些操作系统必须不断地升级才能跟上个人计算机硬件的进步;而Linux操作系统却是以另外一种形式发展起来的,Linux是UNIX操作系统用于个人计算机上的一个版本,UNIX操作系统已经在大型机和小型机上使用了几十年,直到现在仍然是工作站操作系统的首选平台。
2、参看教材5.3。
3、参看教材5.4。
第六章
一、填空题。
1、为了编译、链接、处理和调试跨平台体系结构的程序代码、编译、链接、处理、调试。
2、Binutils、Gcc、Glibc。
3、编译binutils、编译辅助gcc编译器、编译glibc库、重新编译完整的gcc。
4、建立脚本文件、建立配置文件、执行脚本文件。
5、定义生成编译工具链的名称、定义编译选项等。
二、选择题
B D B A B
三、叙述题
1、通常构建交叉工具链有三种方法:
方法一、分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。方法二、通过Crosstool脚本工具来实现一次编译生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链;方法三、直接通过网上下载已经制作好的交叉编译工具链。
4、vi、gedit、gcc、gdb、make
5、命令模式(command mode)、插入模式(insert mode)、底行模式(last line mode)
6、预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。
相关主题