基于S3C2410的嵌入式Linux操作系统移植.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于S3C2410的嵌入式Linux操作系统移植.pdf》由会员分享,可在线阅读,更多相关《基于S3C2410的嵌入式Linux操作系统移植.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6 期2 0 1 0 年1 2 月微处理机M 1 C R O P R O C E S S O R SN o 6D e e,2 0 1 0微机软件基于$3 C 2 4 1 0 的嵌入式L i n u x 操作系统移植向铸1,昊光敏1,李兰2(1 昆明理工大学理学院,昆明6 5 0 0 9 3;2 华南理工大学理学院,广州5 1 0 6 4 0)摘要:首先介绍了L i n u x 操作系统的内核目录结构,然后以采用R I S C 构架的3 2 位A R M 微控制器为例,详细介绍了将嵌入式L i n u x 操作系统移植到韩国三星公司生产的基于A R M 9 2 0 T 为内核的$3 C 2 4
2、 1 0 芯g-上的过程。通过对L i n u x 内核体系结构的研究,进而分析出往新型硬件平台移植L i n u x 内核所需进行的工作,大大提高了操作系统的设计水平、缩短了开发时间,具有非常重要的应用价值。关键词:移植;嵌入式;A R M 微处理器;L i n u x 操作系统D O I 编码:1 0 3 9 6 9 j i s s n 1 0 0 2 2 2 7 9 2 0 1 0 0 6 0 1 4中图分类号:T P 3 6 8 2文献标识码:B文章编号:1 0 0 2-2 2 7 9(2 0 1 0)0 6-0 0 4 1 一0 4P o r t i n go fE m b e d
3、d e dL i n u xE y s t e mb a s e dO nS 3 C 2 4 l OX I A N GZ h u l,W UG u a n g r a i n l,L I 2(1 F a c u l t yo f s c i e n c e,K u n m i n gU n i v e r s i t yo f S c i e n c ea n dT e c h n o l o g y,K u n m i n g6 5 0 0 9 3,C h i n a;2 F a c u l t yo f s c i e n c e,H u a n a nU n w e r s 讧y 矿S
4、c i e n c ea n dT e c h n o l o g y,G u a n gz h o u5 1 0 6 4 0,C h i n a)A b s t r a c t:F i r s ti n t r o d u c e dt h ek e r n e ls t r u c t u r eo fl i n u xo p e r a t i n gs y s t e m,a n dt h e na d o p t e dt h eR I S Ca r c h i t e c t u r e3 2 一b i tA R Mm i c r o c o n t r o U e r sa s
5、ae x a m p l e,d e s c r i b e dt h ep r o c e s so fp o r t i n gt h ee m b e d d e dl i n u xo p e r a t i n gs y s t e mt ot h eS o u t hK o r e a b a s e dS a m s u n gA R M 9 2 0 Tk e r n e l$3 C 2 4 1 0c h i pI nd e t a i l T or e s e a r c ht h ea r c h i t e c t u r eo fL i n t r xk e r n e
6、la n da n a l y z et h ea m o u n to fe f f o r t sr e q u i r e dt op o r tL i n t t xk e r n e lt oan e wh a r d w a r e,i tw i l li m p r o v eO Sd e s i g n i n gt e c h n i q u ea n dr e d u c et h ec o s tg r e a t l y,i th a si m p o r t a n ta p p l i c a f i o nv a l u e s K e yw o r d s:P
7、o r t i n g;E m b e d d e d;A R M;L i n u xl引言嵌入式系统具有可靠性高、实时性强、系统内核小和系统配置要求低等优点,在工业控制、信息家电、交通管理等领域得到了广泛的应用。而且随着处理器功能的日益强大,用户进行处理的程序也越来越复杂,传统的程序已经很难完成和维护,开发嵌入式操作系统已经是大势所趋。因此,移植操作系统成为了嵌入式系统设计中较为重要的一环,具有非常重要的市场价值。目前比较常用的嵌入式操作系统包括L i n u x,u C O S I I,W I N C E 等等。此次研究的是L i n u x 操作系统在A R M 9 平台上的移植过程。2
8、L i n u x 系统内核的目录结构目前,L i n u x 内核的最新版本是2 6。和前期的2 4 内核相比,2 6 的内核有了较大的变化。但是主要模块还是没有改变的,L i n u x 内核可以分为进程调度,内存管理、文件系统、网络和进程间通信等5 个模块,这几个模块的功能可以参考陈莉君编著的深入分析内核源代码。L i n u x 内核的代码目录中,a r c h 存放的是与体系结构相关的代码,试验中使用的是其中的a l a n 目录。D o c u m e n t a t i o n 存放的是内核的所有开发文档。d r i v e l 8 存放的是驱动程序代码。f s 目录下包括了大量
9、的文件系统的源代码。i n c l u d e 目录中同样包括了各种平台需要的头文件,比如I L r l n 平台需要的头文件就在a s m a r m 文件夹中。I n i t 是l i n u x 的m a i n c程序,通过这个比较简单的程序就可以理解l i n u x 的启动流程。I p c 内存放s y s t e m V 进程间通信的原语佳耋尊垒:窦篓(1 9 8 4:,男(土家族),湖北省恩施市,硕士研究生在读,主研方向:嵌入式系统。收稿日期:2 0 1 0 0 7 2 7。一万方数据4 2 微处理机2 0 1 0 钽实现,包括信号量、共享内存。K e r n e l 目录下存
10、放的是除网络、文件系统、内存管理之外的所有其它基础设施。L i b 目录下包括一些通用支持函数,类似于标准C 的库函数。m m 文件夹的内容是与内存管理相关的代码。n e t 目录包含了套接字抽象和网络协议的实现。S c r i p t 目录存放许多脚本,主要用于配置内核,u s r 目录下存放的内容是与用户相关的文件,比如交叉编译环境就建立在该目录下面。不难看出,进行系统移植工作的重点在a r c h 目录下的文件夹下。3 交叉编译环境的建立【2J对嵌入式系统来讲,由于其硬件能力所限,不可能在嵌入式系统上安装编译器和连接器,然后在嵌入式系统上编写代码、编译并连接程序。所以就出现了交叉编译器(
11、C R O S S c o m p i l e r)。简单的说交叉编译环境就是在一个平台上生成可以在另一个平台上执行的代码的编译环境。在本次移植过程中安装的宿主机操作系统是r e d h a tl i n u x 9 0。主要用到的交叉编译环境是a r m l i n u x g e e 一2 9 5 3 和a r m l i n u x g c c 一3 4 1。以建立a r m l i n u x g c c 一3 4 1 为例,说明如何建立交叉编译环境。下载a r I n l i n u x g c c 一3 4 1 t a r b z 2 到任意目录下,然后进入该目录使用解压命令:#t
12、 a r j x 订a r m l i n u x g c c-3 4 1 t a r b z 2解压过程需要一段时间,解压后的文件形成了u s r l o c a l 文件夹,进入该文件夹,将a l m 文件夹拷贝到宿主老E u s r l o c a l 下,现在交叉编译程序集都在u s r l o c a l a r m 3 4 1 b i n 下面了,接下来是修改环境变量:#v i e t c b a s h b a s h r c在最后加上:e x p o r tP A T H=$P A T H:u s r l o-c a l a n n 3 4 1 b i n如果要立即使新的环境变
13、量生效,不用重启电脑,直接使用命令:#s o u r c e r o o t b a s h r c,此时,a r ml i n u x g c c 一3 4 1 交叉编译环境就建立起来了。交叉编译环境a f r o l i n u x g c c 一2 9 5 3 的建立与上面类似,这里就不重复叙述了。存空间的映射等,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统准备好正确的环境。4 1B o o t L o a d e r 的生成过程4 1 1 修改M a l k e f i l e 文件系统使用的B o o t L o a d e r 是V I V I,下载V I 的源
14、代码,解压后修改顶层目录下的M a l k e f i l e,指定交叉编译:A R C H=a r mL I N U X _ I N C L U D E D I R=u s r l o c a l a n n 2 9 5 3 i n c l u d eC R O S S C O M P I L E=m r l o c a l a r m 2 9 5 3 b i n a n n l i n u x A R M!G I C C U B s=u s r l o c a l a n n 2 9 5 3 b i n g c cl i b a r m l i n u x 2 9 5 34 1 2 修i
15、次a r c h s 3 c P M l 0 s m d k C 文件按照内核和开发板的实际情况设置N a n d 分区:m t d _ p a r t i t i o n td e f a u l t _ m t d p a r t i t i o n s =宰s t n l c tm t d _ p a r t i t i o n _ tw 鹊d e f m e da ti n c l u d e p r i v _ d a t a h奉n a n 圮:”v i v i”,o f f s e t:O x O,s i z e:O x 0 0 1 0 0 0 0 0,”p a r a m”,o
16、 f f s e t:O x 0 0 1 0 0 0 0 0,s i z e:”U q e l ”,o f f s e t:O x 0 2 d 0 0 0 0 0,s i z e:O x O O f l X l)0 0,;使用m a k e 命令编译链接生成V I。5L i n u x 内核移植3】4B o o t L o a d e r5 1L i n t r x 内核的修改(1)设置目标平台和指定交叉编译器在嵌入式系统中,B o o t L o a d e r 的作用与P C 机上的B I O S 类似,是系统上电后最先执行的代码,通过B o o t l L o a d e r 可以完成对
17、系统板上的主要部件如C P U,S D R A M,F L A S H,串行口等进行初始化,分配内在最上层的根目录M s k e f d e 文件中,首先要指定所移植的硬件平台,以及所使用的交叉编译器。改动如下:A R C H=a r m一一一一一一万方数据6 期向铸等:基于$3 C 2 4 1 0 的嵌入式I A n u x 操作系统移植4 3 C R O S S C O M P I L E=u s r l o c a l a n n 3 4 1 b i n a 蛐一l i n u x 一(2)添加头文件在a r c h a r m n m c h s 3 c 2 4 1 0 d e v s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 S3C2410 嵌入式 Linux 操作系统 移植
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内