本文描述了将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服务器,除管理员以外,一般不直接让其他人去操作。
将该Linux服务器接入局域网,并新建一些合法用户,以便其他的PC机(在此将其称为工作站)的合法用户能访问到Linux服务器。而其他的PC机(工作站)仍然使用Windows操作系统。
需要的软件工具包括 :
(1)ftp客户端程序。
(2)Telnet工具。
(3)移植到某一特定ARM平台的Linux操作系统内核源码。
(4)GNU编译工具,可由相关网站下载。
在某工作站PC上安装ftp客户端程序和Telnet工具 ,安装完毕后应该可以在该工站PC和Linux服务器之间进行文件的传输,并在工作站PC可以通过Telnet登陆到Linux服务器(可能需要将Linux服务器 的防火墙服务关闭才能完成)。
Linux服务器的安装:将工作站PC上的Linux操作系统内核源码压缩包和GNU编译工具通过ftp传送到Linux服务器的某个目录(如合法的用户目录),然后在该目录下解压,并将GNU编译工具安装到默认的工作目录即可,以上工作通过在工作站PC使用Telnet工具完成,而不需要在Linux服务器上进行。Linux操作系统内核的编译一般有一个比较固定的步骤,会根据MakeFile文件的不同而略有差异,可参考相关文档,编译的工作在工作站PC使用Telnet工具完成。按固定的步骤编译内核完成以后,会在相应目录生成可执行的二进制文件,通过ftp将该可执行的二进制文件传回工作站PC,然后通过ADS或SDT下的烧写工具写入开发板的Flash即可。
[1] [2] [3] 下一页