本文描述了将Linux移植到基于S3C2410处理器目标板上的方法与过程.doc
文本预览下载声明
本文描述了将Linux移植到基于S3C2410处理器目标板上的方法与过程。介绍了目标平台和Linux,并说明了如何搭建移植环境,着重介绍了Bootloader的架构和功能以及Linux内核的移植。结果证明该方法是可行的。移植后Linux在嵌入式系统中运行良好。
关键词 :嵌入式系统 ;移植 ;Linux内核 ;S3C2410处理器
引言
嵌人式系统就是以应用为中心、以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。ARM嵌人式芯片是一种高性能、低功耗的RISC芯片。它由英国ARM公司设计,世界上几乎所有的主要半导体生产商都生产基于ARM体系机构的通用芯片,或在其专用芯片中应用相关ARM技术。在2001年基于ARM内核的处理器占市场份额的75%,成为业界的龙头。
Linux是免费发行的、快速高效的操作系统 ,Linux的出现在计算机世界引发了一场革命。Linux操作系统以代码开放、功能强大又易于移植成为嵌入式操作新兴力量。嵌人式Linux是按照嵌人式操作系统的要求设计的一种小型操作系统,由一个内核以及一些根据需要进行定制的系统模块组成。其内核很小 ,一般只有几百kb,即使加上其他必要的模块和应用程序,所需的存储空间也很小。它非常适合于移植到嵌入式系统中去 ,同时它具有多任务多进程的系统特征 ,有些还具有实时特征。
1 目标平台介绍
文中使用的目标平台S3C2410是SAMSUNG公司使用920T处理器内核开发的一款嵌入式处理器。S3C2410是Samsung公司专门为PDA、Intenet设备和手持设备等专门开发的微处理器。该芯片还包含有16kB一体化的Cache/MMU,这一特性使开发人员能够将Linux和VXwork移植到基于该处理器的目标系统中。该目标板的系统资源如下 :
(1)CPU:S3C2410微处理器,工作频率为200MHz。
(2)Flash:16MB。
(3)SDRAM:64MB SDRAM。
(4)UART:RS-232串行接口。
(5)其他 :14针ARM JTAG接口等。
2 交叉编译环境的建立
基于Linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成(所以称为交叉编译)。双方之间一般通过串口、并口或以太网接口建立连接关系。单独拿出一台PC机,在该PC上安装桌面的Linux操作系统(如RedHatLinux9.0),可以采用默认的安装选项(注意要包含FTP服务),这台PC作为Linux服务器,除管理员以外,一般不直接让其他人去操作。
2)Linux内核编译。
首先以ROOT身份进入系统。然后完成下列步骤,就可以在/Linux/arch/arm/boot/得到内核的映像文件zImage。
在shell命令下输入命令进行内核配置:
make menuconfig
该命令执行之后生成文件.config。它保存这个配置信息,下一次再执行make menuconfig的时候将生成新的.config文件。
输入命令 :make dep
输入命令 :make clean
输入命令 :make zImage
通过各个目录的Makefile进行,将会在各个目录下生成一系列目标文件,上述步骤完成后,就完成了对Linux的编译工作。
Linux内核的编译、修改、移植实际上与上层的应用程序,如命令解释器shell、登陆程序login相关。这些程序应根据需要重新定制。
利用终端仿真程序DNW和Bootloader引导程序通过串口就可以把Linux内核移植到目标系统板。移植完成后,Linux就可以在目标系统板上运行了。
5 结束语
讨论了Linux向目标系统S3C2410移植的过程中的关键技术及其实现。移植后的Linux保留了原有的工作稳定的特点。并可以根据需要,在该系统中编写应用程序和运行应用程序。
●Bootloader的stage1
stage1是Bootloader一开始就执行的操作,其目的是为了stage2的执行以及随后的内核的执行,设置好一些基本的硬件环境。
包括以下步骤 :
屏蔽所有的中断 。为中断提供服务的通常是操作系统,因此在执行Bootloader的过程中可以不响应任何中断。中断屏蔽通过写CPU的中断屏蔽寄存器来完成。
设置CPU的时钟频率和速度。
初始化RAM设置系统的内存控制器的功能寄存器和各内存库控制寄存器等。
为加载stage2准备RAM空间。
拷贝stage2
显示全部