- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式Linux在S3C2410上的移植分析
矍塞旦
文章编号:1671—1041(2008)O2—0121一O2
嵌入式Linux在$3G2410上的移植分析
潘伟森,邓胡滨,刘小东
(1.华东交通大学信息T程学院,南昌330013;2.南昌大学计算机中心,南昌330029)
摘要:文章描述了将Linux移植到基于S3C2410微处理器的目标板上
的方法与过程,说明了如何建立交叉编译环境,讨论了Bootloader和
Linux内核的移植.移植后的linux内核.大小可以控制在800kB以
下.减小了嵌入式平台上应用软件的开发难度,大大降低了嵌入式系统
的开发成本.
关键词:嵌入式Linux;内核;S3C2410处理器;移植
中图分类号:TP316.81文献标识码:B
1引言
ARM9系列是一种32位的嵌入式RISC处理器.它具有
低电压,低功耗和低集成度等特点,已经成为嵌入式系统首选
的处理器架构;$302410是三星公司生产的基于ARM920T内
核的RISC微处理器,主频率可达203MHz,具有支持多任务,
内核精简,高效,稳定等优点.
嵌入式Linux是在标准Linux的基础上针对嵌入式系统
进行内核裁减和优化后形成的一种小型操作系统,一般只有
几百kB左右,即使加上其它必要的模块和应用程序,所需的
存储空间也很小,非常适合于移植到嵌人式系统中去.本
文将以SAMSUNG公司的处理器S3C241O为例,详细分析了
如何将Linux2.6内核移植到$302410微处理器上.
2建立交叉开发环境
2.1建立硬件开发环境
通常的嵌入式系统的软件开发采用一种交叉编译调试的
方式.交叉编译调试环境建立在宿主机(即一台PC机)上,
对应的开发平台叫做目标板.开发时使用宿主机上的交叉
编译,汇编及连接工具形成可执行的二进制代码,这种可执行
代码并不能在宿主机上执行,而只能在目标板上执行;然后把
可执行文件下载到目标机上运行.这种宿主机一目标板的开
发模式下的系统连接图如图1所示.
图1
2.2主机开发环境的配置
在主机环境配置前,首先要确认主机的网络接口驱动成
功,并且配置网络接口的lP地址.必需保证主机lP地址和目
标板的lP地址在一个段内.主机开发环境的配制步骤如下:
(1)NFS服务的配制:NFS服务的主要任务是把本地的
一
个目录通过网络输出,其它计算机可以远程的挂接这个目
录并且访问文件.以root的身份完成以下步骤:
①在PC机上执行setup命令,进入Systemservices系
统服务选项,在其中选中[{nfs];
②在/etc/exports中添加一行:
/(rw)//表示根目录可读写,/和(rw)之间要留空格
③确认NFS守护进程已在运行.使用下面命令启动或重
启NFS服务:
$/elc/rc.d/init.d/nfstestart
欢迎订阅欢迎撰稿欢迎发布产品广告信息
(2)TFTP服务:TFTP是目标板下载映像所需要的网络
服务.以root身份登录,完成下面的操作:
①在PC机上执行setup,选择:Systemservices,选中
[{tftp],并去掉ipchains和iptables两项服务;然后选择
Firewallconfiguration,选中Nofirewall.
②使用下面的命令使xinetd重新启动TF.rP服务:
$servicexinetdrestart
2.3交叉编译工具的安装
在进行内核移植前,首先需要建立交叉编译环境.Linux
使用GNU的工具,社区的开发者已经编译出了常用体系结构
的工具链.免费提供的工具包括三个部分:binutils,gcc和
glibc,其中binutils是二进制处理工具,gcc是编译工具,glibc
是链接和运行库.可以在网上下载arm—linux—gcc一3.4.1
的编译器版本,交叉编译工具的安装步骤如下:
(1)在/usr/IocaWarm下解压:tarjxvfarm—linux—gcc
一
3.4.1.tar.bz2.
(2)~/etc/profile文件中修改PATH环境变量.在ex-
port之前添加一行.
PATH:$PATH:/usr/Iocal/arm/3.4.1/bin
(3)使以上配置生效:$source/etc/profile
3嵌入式Linux的移植过程分析
3.1引导程序的移植
Bootloader是在操作系统内核运行之前的一段程序,它类
似于PC机中的BIOS程序.通过这段小程序,可以完成硬件
设备的初始化,并建立内存空间的映射图的功能,从而将系统
的软硬件环境带到一个合适的状态,为最终调用系统内核做
好准备J.U—Boot(UniversalBootLoader)是遵循GPL条
款的开放源码项目,并且已经成为ARM平
文档评论(0)