预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

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