APP下载

基于S3C2440平台搭建Linux环境

2015-02-04张彦

电子技术与软件工程 2014年22期

张彦

作为计算机网络技术与经济共同发展的产物,消费类电子产品的产生和流通有效带动了电子产业的发展。本文以消费类电子产品中Linux系统移植作为研究对象,通过引入S3C2440平台,在对交叉编译环境搭建进行分析的基础上,从Linux移植与U-boot移植两方面对基于S3C2440平台下Linux系统的搭建环境展开了深入研究。

【关键词】S3C2440平台 Linux环境 U-boot

基于S3C2440平台下的Linux系统主要是由主机中的交叉编译环境进行编译和实现的,作为启动Linux系统的引导系统,U-boot在进行移植后,可以使整个Linux系统在S3C2440的硬件平台下得以良好运行。而作为Linux系统与应用程序的衔接桥梁,文件系统则可以为Linux系统提供应用程序的存储和运行环境。为了使Linux系统可以应用并运行到各类计算机或电子产品中,本文对基于S3C2440平台下的Linux系统移植进行了详细分析。

1 交叉编译器移植简述

1.1 交叉编译工具

嵌入式系统的开发利用的是交叉开发的模式,即程序是在A机器中编译生成并在B机器上运行的系统实现模式。简单来说,交叉编译则是在一个平台上生成的可以在另一个平台上运行的代码。交叉工具链是指在进行交叉编译过程中,系统进行编译、汇编和链接的一整套工具,其作用是弥补gcc(编译器套装)编译程序无法在目标平台上运行的不足,即使系统编译器的程序可以良好运行在目标机器上。

1.2 交叉编译器移植方法

交叉编译器的移植需要两套工具链,一套是在开发系统的内核时使用,另一套则是在U-boot(开放源码项目)中使用。交叉编译器主要存在两个版本(3.4.5版本与4.4.3版本),高版本主要勇于编译内核,而低版本则用于编译U-boot。交叉编译器的移植过程便是交叉编译的实现过程,具体的移植步骤为:

(1)将已下载的编译器版本拖到Linux系统中。

(2)将交叉编译器进行解压。

(3)向Linux中添加环境变量使编译器生效。编译器生效的方式主要有两种,分别为:a)source/root/brashrc。b)source/ect/profile。

(4)编译器生效的检验,其检验命令为ECHO或PATH。在交叉编译器完成移植后,若在今后的使用中,需要查看其具体版本,则可以输入命令arm-linux-gcc-v。

2 Linux移植

2.1 内核简介

作为任何一个操作系统的核心,内核不仅可以对系统的内存、文件、进程以及设备驱动程序网络系统进行高效管理,而且对于整个系统的稳定性与具有决定性的作用。Linux系统内核的特点为:稳定性高、功能强大、源代码完全开放并可以对多种类型的硬件平台进行支持。

2.2 移植步骤

根据Linux系统自身特点,本文将其移植的硬件平台选为S3C2440平台,将其内核版本选为当前版本稍低的3.4.5 Linux系统内核。Linux系统的移植步骤为:首先,对makefile文件进行修改。具体的修改步骤为:先进行3.4.5版本的Linux系统下载,并在计算机虚拟机中建立一个文件用以存放Linux;修改makefile,具体修改过程如下:

export KBUILD_BUILDHOST:=$( SUBARCH)

ARCH = arm

CROSS COMPILE = arm-linux-

其次,进行系统默认配置的选择。由于系统的内核配置具有较多选项,通常大部分选项均可以选用默认方式进行配置。因此,并不需要各个选项所代表的具体含义。但是在某些应用程序当中,需要将Linux系统内核进行裁剪,从而使其满足系统移植条件,此时,便需要对相关选项的意义进行掌握和了解。具体操作为:输入命令cd arch/arm/configs,并键入ls对各选项中的配置进行查看,由于系统硬件平台为S3C2440,因此,需要先查看是否存在2440的相关配置,即ls *2440*。最后,生成Linux移植系统的镜像文件,输入命令为make uImage。

3 U-boot移植

3.1 U-boot的功能简述

U-boot是一种遵循GPL条款的开放源码项目,Boot即为Bootloader,表示在Linux系统运行前的一段引导程序,此种引导程序可以将硬件设备进行初始化,进而完成计算机或相关电子产品由硬件启动到系统启动的过度。简单来说,就是为系统运行的硬件提供一个适宜运行的状态,进而为后续操作系统的调用打下良好的基础。

3.2 U-boot移植流程

本文所选取的U-boot版本为2012.04.01.tar.bzr,基于此版本的U-boot移植流程为:首先,下载并建立source insight工程,并对其进行编译和烧写,如果程序无法运行,对其进行原因分析。具体配置流程为:解压——进入目录——默认配置——编译。U-boot经过上述配置后,若无法启动,则需要对相关代码进行分析;其次,分析U-boot借助链接命令对其组成文件进行分析,并根据阅读代码分析U-boot的启动过程。最后,对U-boot代码进行修改和完善,具体做法为:建立一个单板cp smdk2410 smdk2440 -rf;cp smdk2410.hsmdk2440.H,若配置通过,则对U-boot进行调试并查看串口波特率的设置,即乱码,进而使U-boot实现正常运行。

4 结论

本文以基于S3C2440平台下Linux系统的搭建环境作为研究对象,在对交叉编译环境进行搭建的基础上,分别对Linux系统移植与U-boot移植的方法展开了深入探讨。可见,未来加强对基于S3C2440平台下Linux系统环境搭建与移植方法的研究力度,对于促进我国计算机技术的发展和电子消费类产品的流通具有重要的作用和意义。

参考文献

[1]张凯.基于S3C2440的Linux嵌入式视频监控系统设计与实现[D].西安科技大学,2013.

[2]张腾.基于S3C2440远程监控系统设计[D].长安大学,2012.

[3]高文辉,师奕兵,张伟.基于S3C2440的U-Boot双启动实现[J].测控技术,2012,02(12):87-91.

作者单位

石家庄职业技术学院信息工程系 河北省石家庄市 050081endprint