您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页嵌入式Linux在ARM9(TQ)上的移植

嵌入式Linux在ARM9(TQ)上的移植

来源:爱go旅游网


嵌入式Linux在ARM9(TQ)上的移植

【摘 要】微处理器技术的发展使得小型、实时、性能良好的嵌入式操作系统得到广泛的应用。分析了Linux操作系统的结构,描述了将Linux内核移植到ARM9开发板TQ2440上的方法和完整过程。介绍目标平台以及移植环境的构建,重点介绍Bootloader的架构和功能以及Linux内核的移植,移植后运行结果良好可行。

【关键词】TQ2440;ARM9;系统移植;Bootloader;Linux内核

0 引言

本文中使用的TQ2440开发板CPU是三星公司生产的S3C2440,内核为ARM920T,采用0.13um CMOS标准单元和存储器编译器开发。以此作为硬件平台来实现Linux系统的完整移植。而嵌入式系统其本身具有结构较小、稳定性好等优点,因为Linux本身具有良好的可移植性,通过构建相应的开发环境,能够进行的产品开发,使得它被广泛应用于多种硬件平台。

1 Linux系统分析

1.1 Linux系统的基本体系结构

Linux系统主要由内核、shell、文件系统和应用程序4个部分组成。用户通过它们来运行程序、管理文件和使用系统。

1.2 Linux内核

内核是操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。

Linux 内核由如下几部分组成:内存管理、进程管理、硬件驱动程序、文件系统和网络管理等。

2 Linux操作系统移植

2.1 交叉编译环境的搭建

硬件环境构建采用的是主机与目标板结合的交叉开发模式,TQ2440开发板配有S3C2440处理器,MB的SDRAM内存,256MB的Nand Flash,2MB的NOR FLASH,串口,网络接口,USB接口等强大的硬件系统。

软件环境的搭建是由GNU C库(glibc),GNU binutils以及GNU编译器gee等一系列交叉开发工具组成,如下图2所示。

2.2 引导加载程序Bootloader

Bootloader是这么是一段系统上电时候开始执行,并初始化硬件设备,预备软件环境,然后调用操作系统的程序。TQ2440开发板中ARM上电CPU是从0x0000000开始执行,Bootloader存放在此处。根据开发板的需要,我们适当的修改CPU的频率、支持NOR FLASH的支持和SDRAM的配置及大小、环境变量的位置等相关数据。

3 移植Linux内核

3.1 Linux移植准备

载内核源文件linux-2.6.22.tar.bz2、补丁文件patch-2.6.22.6.bz2,将两个文件放在同一个目录下面解压如下:

由此我们得到了内核源码。

Makefile由配置文件.config确定部分文件与内核、模块和子目录的关系。在内核目录下执行“make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-”得到内核配置界面,通过配置界,我们可以选择我们所需要的芯片类型,文件类型等。

3.2 Linux内核移植

修改内核以支持TQ2440开发板,首先修改顶层(即是根目录下)的Makefile文件,修改为ARCH=arm,cross_COMPILE=arm-linux-;修改时钟:amdk2440_map_io()中的s3c24xx_init_(12000000);修改机器码为168;通过内核的配置单按用户需求配置好内核并保存为.config,即可编译。

对于NAND FLASH分区,我们要添加新的配置选项,启用MTD支持,选中MTD partitioning support,允许字符访问MTD设备,缓存块设备访问MTD设备,JAFFS2为文件服务系统,默认块设备层向MTD传输层接口。还要使内核支持S3C2440 NAND FLASH,设置并保存配置。

使用命令:vim arch/arm/plat-s3c24xx/common-smdk.c修改文件内容,将NAND FLASH分为uboot,ysffs2和kernel这3个分区,并修改相关偏移量。

YAFFS是专门为NAND FLASH存储器设计的嵌入式文件系统,遵循GPL协议。添加YAFFS2文件系统的支持,就是在内核上打支持YAFFS2的补丁,之后对内核添加YAFFS的相关配置。

内核配置完毕后保存退出,最后编译内核,输入命令#make zImage,成功编译后,生成zlmage内核映像文件,该文件在arch/arm/boot目录下产生,完成内

核的配置编译,只需要将编译好的内核映像文件zllnage下载到开发板的Flash中就可以了,使用以下命令:

开发板上电后内核自动启动,到此我们就完成了Linux在TQ2440开发板上的移植工作。

4 结束语

本文通过TQ2440开发板,研究了将Linux移植到ARM9统上的整个移植流程。ARM平台下嵌入式Linux的移植,包括熟悉硬件平台,构建嵌入式Linux系统的软件平台,建立交叉编译环境,Bootioader的移植,Linux内核的配置与编译等许多相关内容,对于学习ARM的人员来书具有很好的指导和实践意义。

【参考文献】

[1]李延鹏.嵌入式开发工程师入行手册[M].北京:中国铁道出版社,2013-8.

[2]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社,2012-1.

[3]曾福振,闵联营.基于ARM和Linux的嵌入式平台的构建[J].微型机与应用,2011,30(12).

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务