免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > linux > 嵌入式Linux系统的移植过程

嵌入式Linux系统的移植过程

时间:2012-06-10 11:34来源:未知 整理:寂涯网络 点击:

嵌入式Linux系统的移植主要有U一Boot、Linux内核、文件系统这三部分。Uboot
是在系统通电时开始执行,初始化硬件设备,准备好软件环境,然后才调用Linux操
作系统内核。文件系统是Limix操作系统中用来管理用户文件的内核软件层。文件
系统包括根文件系统和建立于Flash内存设备之上文件系统。根文件系统包括系统使用
的软件和库,以及所有用来为用户提供支持架构和用户使用的应用软件,并作为存储
数据读写结果的区域。
可将Linux系统移植过程大致需要分成6个步骤:
1)准备工作,包括下载源码、建立交叉编译环境等。交叉开发是指在开发主机上
安装开发工具,编辑、编译目标板的引导程序、内核和文件系统,使其能在目标板上
运行。
2)配置和编译bootioader(引导装载程序)。通过这段小程序,可以初始化硬件设
备、建立内存空间的映射表,从而建立适当的系统硬件环境,为最终调用操作系统内
核做好准备。
3)配置和编译Linux内核,对其进行相应的裁剪,修改内核以支持相关的硬件设
备。
4)为大容量 NANDFlash移植文件系统,并将该文件系统加入Limix内核中;
5)制作RAMdisk来挂载根文件系统。Linux系统中的文件和设备是通过文件系统
来组织的。文件系统的存在使得数据和设备可以被有效而透明地存取访问。一个hnux
的最简根文件系统应该包括支持hnux系统正常运行的基本内容,包括系统使用的软件
和库,以及所有用来为用户提供基本支持的架构和指令。
6)烧写、调试系统;如果调试出错,则需要重新配置,再重复上述操作。
3.1开发环境搭建
搭建交叉编译环境是嵌入式开发的第一步,也是很关键的一步。不同的体系结构、
不同的操作内容设置是不同的,而不同版本的内核,也会用到不同的交叉编译器。选
择交叉编译器非常重要,有些交叉编译器经常会有部分的bug,都会导致最后的代码无
法正常运行。gcc的版本有很多种,其中低于3.3.2版本的只能编译Linux2.4版本的
内核,而3.3.2既能支持Linux2.4版本的内核,也能支持 Linux2.6版本的内核。本
文中采用arm一1inux一gcC3.4.1。
http://www.jybase.net/linux/ pub/armlinux上下载交叉编译工
具包,解压文件并安装。
由于在使用U一boot的时候还常常会用到宿主机种的tftp与nfs这两种网络服务,
所以还需要配置一下网络服务的设置。
安装配置tftp服务的大致步骤如下:
a)安装tftp一hpa、tftpd一hpa和openbsd一ine七d程序;
b)修改配置文件/etc八netd.conf,开启tftP服务;
c)分局配置文件的路径,建立tftp目录,该目录要对开发板平台有读写权限,
因此还需要修改该目录权限。
安装配置nfs服务的大致步骤如下:
a)安装nfs内核服务;
b)重新配置portmap服务,修改/etC/hostS.deny和/ete/hosts.allow配置文件,
重启portmap服务;
C)修改nfs服务的配置文件/etc/exPortS,添加挂载目录和配置;
d)重启nfs,并检查可挂载目录。
在开发板与宿主机进行通信的时候必然会用到串口,所以串口终端程序的必不可
少。MiniCom是在Linux系统下比较常用的串口终端工具,简单的配置步骤如下:
运行命令minicom一后出现一个菜单栏,选中串口设置项,修改各项数据使得
其适配开发板的相关参数,如图4一l。

图4一1串口设置
设置好之后,开发环境就算是配置完成。
 3.2U-boot的移植
3.2.1 U-boot介绍
在一般计算机系统中,系统启动运行的第一段代码是引导加载程序。在嵌入式系
统中实现引导加载启动功能的程序就是Bootloader。Bootloader是在操作系统内核运
行前运行的一段小程序,它实现要实现的功能是:初始化硬件设备、建立内存空间映
射表,从而将软硬件环境引导到一个合适的状态,为操作系统内核的运行做好准备。
U一boot是一个开源的专门针对嵌入式 1inux系统设计的Bootloader,是现在嵌入
式系统中最常用的B。。tloader。U一boot一般都分为阶段1(Stagel)和阶段2(Stage2)
两个部分。Stagel主要完成的工作是:硬件设备的初始化、为StageZ准备RAM空间、
复制StageZ到RAM空间中、设置好堆栈以及跳转到StageZ的C入口点。StageZ主要
实现的功能是〔‘习:初始化本阶段要使用到的硬件设备、检测系统内核映射(memorym即)、

本页地址 http://www.jybase.net/linux/20120610947.html

百度搜索更多

谷歌搜索更多

顶一下
(1)
50%
踩一下
(1)
50%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com