如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
嵌入式LinuxC编程入门(第2版)(ByFarsight)http://www.farsight.com.cn/www.embedu.org第3章构建嵌入式Linux系统本章目标嵌入式交叉编译环境的搭建嵌入式主机通信环境的配置制作交叉编译工具链配置Linux下的minicom和Windows下的超级终端在Linux下和Windows下配置TFTP服务配置NFS服务编译Linux内核搭建Linux的根文件系统嵌入式Linux的内核相关代码的分布情况Bootloader的原理www.embedu.org嵌入式交叉编译环境搭建编译binutils次编译gcc编译glibc完整编译gccwww.embedu.orgminicom和超级终端配置及使用启动minicom查看帮助配置minicom串口属性www.embedu.org超级终端首先,打开Windows下的“开始”→“附件”→“通讯”→“超级终端”接下来,将“连接时使用”的方式改为“COM1”最后一步“单击”确定就可以了www.embedu.org宿主机服务配置为了交叉编译环境建立的方便,在此,需要对宿主机的服务进行一定的配置tftp是一个传输文件的简单协议,它基于UDP协议而实现。NFS为NetworkFileSystem的简称,最早是由Sun公司提出发展起来的,其目的就是让不同的机器、不同的操作系统之间可以彼此共享文件。www.embedu.orgBootloader一个嵌入式Linux系统从软件的角度看通常可以分为4个层次:引导加载程序,包括固化在固件(firmware)中的boot代码(可选)和BootLoader两大部分。Linux内核,特定于嵌入式板子的定制内核以及内核的启动参数。文件系统,包括根文件系统和建立于Flash内存设备之上文件系统,通常用ramdisk来作为rootfs。用户应用程序,特定于用户的应用程序,有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面,常用的嵌入式GUI有MicroWindows和MiniGUI等。引导加载程序是系统加电后运行的第一段软件代码。PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的BootLoader(比如,LILO和GRUB等)一起组成。www.embedu.orgBootloader的概念初始化RAM(必需)初始化串口(可选,推荐)启动内核镜像(必需)www.embedu.orgBootloader启动流程Bootloader的启动流程一般分为两个阶段:stage1和stage2www.embedu.orgU-BootU-Boot是在ppcboot以及ARMboot的基础上发展而来的较为通用的bootlader,支持的嵌入式操作系统和嵌入式处理器种类众多www.embedu.orgU-Boot支持的主要功能系统引导基本辅助功能设备驱动上电自检功能特殊功能www.embedu.orgU-Boot源码对U-Boot源码包解压后就可以得到U-Boot的全部源程序。在顶层目录下有18个子目录,分别存放和管理不同的源程序。这些目录中所要存放的文件有其规则,可以分为3类:第1类:与处理器体系结构或者开发板硬件直接相关。第2类:一些通用的函数或者驱动程序。第3类:U-Boot的应用程序、工具和文档www.embedu.org编译嵌入式Linux内核内核配置建立依赖关系建立内核www.embedu.orgLinux内核目录结构www.embedu.org制作文件系统制作文件系统的方法有很多,可以从零开始手工制作,也可以在现有的基础上添加部分内容加载到目标板上去www.embedu.org