《基于S3C2410的嵌入式Linux操作系统移植方法.pdf》由会员分享,可在线阅读,更多相关《基于S3C2410的嵌入式Linux操作系统移植方法.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第1 0 卷第2 期柳州职业技术学院学报v 0 1 1 0N o 22 0 1 0 年6 月J O U R N A L0 FU u Z H O UV O C A T l 0 N A L&7 I E C H N l C A LC O L L E G EJ u n 2 0 1 0 理工农学研究基于S 3 C 2 4 1O 的嵌入式L nu x 操作系统移植方法冯达芳(柳州职业技术学院电子电气工程系,广西柳州5 4 5 0 0 6)摘要:主要介绍了u x 一2 6 2 4 4 内核的移植和根文件系统的制作,并描述了嵌入式L i l 呶操作系统移植到S 3 C 2 4 1 0 的全过程。关键词:S 3
2、 C 2 4 1 0;嵌入式L i n 麟;移植过程;内核的移植;根文件系统的制作中图分类号:T P 3 1 1 5 4文献标志码:A文章编号:1 6 7 1 1 0 8 4(2 0 1 0)0 2 0 0 3 4 0 40 引言嵌入式系统已经渗透到人们日常生活的各个方面。S A M S U N G 公司的S 3 c 2 4 1 0 是一款 R f、9 2 0 T 内核的1 6 3 2 位R I S C 嵌入式微处理器。它的最高运行频率达到2 0 3 M H z。性价比高、功耗低,应用领域广泛。L i n u X 操作系统以其源代码的开放性、内核可裁剪性、运行稳定性、支持多种处理器、支持多任务
3、多文件系统以及丰富的网络功能等特性在嵌入式系统中得到广泛应用。本文主要研究嵌入式L m u)【操作系统在S 3 C 2 4 1 0 上移植的两部分核心内容:L m u)【一2 6 2 4 4 内核的移植和根文件系统的制作。最后介绍嵌入式m u x 操作系统移植到S 3 C 2 4 1 0 的全过程。1 嵌入式系统开发环境进行嵌入式系统设计,通常使用P C 机和目标板交叉编译的开发模式。交叉编译是在P C 机上编译并生成能够在目标板上运行的代码,然后下载到目标板上运行调试。本系统硬件平台采用广州友善之臂计算机科技有限公司设计生产的S B c 2 4 1 0 v 6 开发板。它基于三星公司A R
4、M 9 处理器s 3 c 2 4 1 0 X,具有高性能、低功耗、接口丰富和体积小等优良特性。主机P C 的开发环境为:V M w a r e 6 O+F e d o r:aL i n m(6,K e m e lv e B i o n2 6 1 8;g c c 编译器为g c c 4 1 1;交叉编译器为姐n l i l l u)【一g c c 3 4 1。需要说明的是a 衄一l i n u x g c c 3 4 1 放在璐r l o c a l a 册目录下。并添加到环境变量P A T H 中。2L i n u x 2 6 2 4 4 内核移植下载L i n l l)【一2 6 2 4 4
5、 内核,解压并放到根目录下。1)编辑M a k e 6 l e 文件。修改目标C P u 的体系结构和交叉编译工具的路径。c dl i I l u x 一2 6 2 4 4#g e 缸M a k e 6 kA R C H?=狮C R o S S C o M P I L E?=m r 1 0 c a l a 吼3 4 1 b i I l a r n l 一l i n u x c R o S s C o M P I L E 为交叉编译器所在位置,要根据自己所使用的交叉编译器路径设置。2)拷贝一个系统默认的c o 面g 作为模板c pa r c h 姗c o 血昏S 3 c 2 4 10 _ d e
6、 庀o n 丘gc o r 岖收稿日期:2 0 1 0 0 3 1 5基金项目:广西教育科学“十一五”规划2 0 1 0 年度立项课题“高职嵌入式专业人才培养模式研究”(2 0 1 0 C 2 1 4)作者简介:冯迭芳(1 9 5 7 一),男,广西平南县人,柳州职业技术学院教师,工学硕士,研究方向:机电一体化、自动控制技术。万方数据第1 0 卷第2 期冯达芳:基于s 3 c 2 4 1 0 的嵌入式h u x 操作系统移植方法3 53)修改N 狃d F 胁分区信息g e d i ta r c h a n l l p h t s 3 c 2 4 X)【c o n u n o n s m d k
7、 cs m d kd 击t l l t 蚴d-p a r t 口修改如下:0】=n a m e=”访v i”。B o o d o a d e r 分区o 蠡e t=O)【0 s i z e=0 x 0 0 0 2 0 0 0 0,【1】=n a m e=”p a 均m”,参数分区。o 舔e t=0)【0 0 0 2 0 0 0 0 s i z e=0 X 0 0 0 1 0 0 0 0,【2】=I l a m e=”k e m d”内核分区缸z e20 x 0 0 2 0 0 0 0 0),【3】=n a m e=”r o o t”文件系统分区o 蠡e t=0)【0 0 2 b 0 0 0 0
8、。s i z e=0】(0 1 4 0 0 0 0 0,),【4】=n 锄e=”磷e r,用户分区o 伍e t=0)【0 16 b 0 0 0 0,s i z e=O x 0 2 8 8 0 0 0 0。),o 任j e t=0)(0 0 0 b 0 0 0 0 分区大小可根据情况自己设置,但是注意要和、栅的一致。4)使内核支持d 舶,要求系统在启动时并在S b“i 血运行之前能够自动挂载d e v 为d e 话文件系统。g e 缸h n l l)【一2 6 2 4 4 6 K c o 血g在9 0 6 行m e 肌”P s e u d ol i l e s v s t e 船”下面添加如下代
9、码:c o n 丘gD E V F S F Sc o n 6 9D E V F S J、,I o L 刀盯b o o l”d e v 伍es y s t e ms u p p o r tb o o l”A u t o m a t i c a n ym o u n ta tb o o t”(o B S o L】i T E)”d e 丘u l tyd e 丘U d tvd 印e n d So nD E:S-F5)禁用F l a s hE C C 校验g e d i td r i V e 岱m t d r 舶d s 3 c 2 4 1 0 c在第6 6 8 行找到c h i p _ _+e c c
10、m o d e=N N D _ E C C S o F T;改为c h i p _ 呻e c c m o d e=N A N D j j C(、-N o N E;如果不修改该处,分区后的n 曲识别不出来,导致错误出现。现在可以编译内核了,执行m a k em 肌u c o 血g在配置菜单中,选择s y S t e mt),p e _+s 3 c 2 4 1 0M a c h 螂中的s M D K 2 4 1 0 A 9 M 2 4 1 0,其他的a r c h I m c l i n e S 全部取消。f i r n a k e编译完成后在h n u X 一2 6 2 4 4 a r c l
11、l a 咖b o o t 下会有一个z I I m g e,这样就有了个最基本的内核,已经是可以启动的。6)使内核支持y a 伍文件系统v a 伍是一个专门为N N DR a S h 存储器设计的嵌入式可读可写的文件系统,具有文件系统加载速度快、文件访问速度快等优点。下载y a 岱2 文件系统的源码包并解压,运行里面的p a t c h k e r s h 脚本,s hp a t c h k e r s hc h n u x 一2 6 2 4 4。然后再配置一下内核。在F i l e 哪t e I I l S 中的M i S c e l l a n e o u Sl i l e 驴t e I
12、l l s _+里面的y a 伍选项如下进行选择:Y A F F S 2m es y S t e ms u p p o r t一木一5 1 2b y t e p a g ed e v i c e s【木】L e t sY a J 睡d oi 岱o、mE C C一唯一2 0 4 8b y t e(o r1 a r g e r)p a g ed e、,i c 苍mA u t o s e l e c ty a 伍2f o m l a t【宰1D i s a b l el a z yl o a d i n g万方数据柳州职业技术学院学报2 0 1 0 年6 月【水】T u mo 伍诵d em o d
13、e s最主要是选择这个L e 戗Y a 伍d oi t so w nE C C 如果没选就会有很多错误。保存配置,重新编译内核。3 根文件系统的制作在L i n u x 系统中,所有的文件和设备都是以文件的形式来管理的,而根文件系统是所有文件和设备节点的起始点,它为L i n l l)【的运行提供了最基本的工具、库、脚本和一些特殊文件的支持,是决定系统能否正常启动的关键。根文件系统是系统刚启动时默认使用的文件系统。下面介绍利用b u s v b o x 一1 9 2 工具来制作嵌入式L i n u)【根文件系统的具体方法。1)首先下载b u s y b o X 一1 9 2,解压缩到根目录后,
14、修改b u s y b o x 一1 9 2 目录下M a k e f i l e 文件中目标C P u 的体系结构和交叉编译工具的路径。v iM a k e m eA R C H?=撇C R o S S C o M P I L E?=1 1 S r 1 0 c a l a n n 3 4 1 b m 猢一h n u x 一2)运行I m k em e n u c o 曲g,进入配置环境,选择静态加载链接库,减少了在加载时查找动态链接库的麻烦。B u s y B o xS e t d n 昏B u i l do p d o l l S 一一一【幸】B u i l dB u s y B o x
15、舔as t a d cb i n a r y(n os h a r e dl i b s)L i n u xM o d u l eU 碰t i 髓S u p p o r tV e r S i o n2 2 xt o2 4 xL m l l】【k e m e l s门S u p p o r tv e r S i o n2 6 xL m u Xk e m e k3)编译b 埘b o X:m a k e撑m a k ei l l s t a l l在b u s y b o x 一1 9 2 j n S t a l l 目录下会生成我们需要的文件。4)接下来做几个脚本来直接生成根文件系统!b i n
16、s hj j j f j 创建主文件夹及其相关文件夹r o o 砥宰|#j j j i j l#创建r o o 惬e t c p r o m e#j j 创建r o o 惬e t c 6 t a b:j 6 i 掸#j j#创建r o o 惬e t c i 血t t a b j#创建r o o 惬e t c i n j t d 和r S S 撑j f j j !b i n s h设置主机名需要在e t c 建立文件h o s t j j 创建r o o 惬e t c m d e v c o n f#仓q 建r o o t 6 e t c h o S t#创建r o o 惬e t c p 邪S
17、w d#6 i 创建r o o 击e t c g r o u p;I#;f j j j 创建r o o 砥e t c s h a d o w j j 创建r o o 击u s r s h a r e u d l l c p c d e 6 u k s c r i p t 样万方数据配置好了内核和根文件系统之后。就可以进行整个操作系统的移植了。具体步骤如下:1)下载并安装、,i、,i 到n a S h 的、,i 访分区,修改v i v i 分区与内核N a n d F h S h 分区信息一致。2)把内核烧写进缸h 的k 锄e 1 分区里面。群l o a dn a S hk e m e lu3)
18、把r q 础根文件系统烧写到n 签h 的u S e r 分区里面。j l o a dn a S h1 1 s e ru4)修改L i n u)【内核的启动参数从l l s e r 分区启动,启动后用y a 压格式化掉r 0 0 t 分区,再把根文件系统拷贝到r o o t 分区。p a r a ms e tl i n u X 锄db n e”n o“廿dr 0 0 t2d e v m t d b l o c k 4i 1 1 i t2 1 i n u 戤c o m o k2 t 啪A C O,1 1 5 2 0 0”。保存,重启后执行:丑嬲h J r a s e a l l d e、,m c
19、d 3m o u n tty a 伍d e v m t I d _ b l o c l(3 眦t),a 伍如果出现m o u n t:m o u n t i r 唱d e v m o d b l o c l【3o n n m t y a 伍I i l e d:D e v i c e0 rr 鄂o u r c eb 1 1 S y,先卸载y a 伍,然后再挂载一次。t a r 一及v f r o o 匹t a rCI I u l t y a 压5)修改L i l l u X 内核的启动参数从r o o t 分区启动,启动后用y a 伍格式化掉1 1 s e r 分区,并把该分区挂载到相应目录。p
20、 a r:匝s e th n u xc m d 蛐e”n o i n i t r dr o o t=d 吖n m l b l o c k 3i 1 1 i t=h m l cc o m 0 1 e=n y S A C 0,1 1 5 2 0 0”o保存,重启后执行:n a S h r 舔e a l l d 盯m t(“m o u n t t、,a 蠡d e v m t I 曲l o c k 3?(把该分区挂载到你想要的目录)到此,整个系统安装过程结束。一个全部都可读可写的嵌入式踟u x 操作系统就安装成功了。5 结语基于A R M+L i n u x 结构体系的嵌入式系统的开发已经成为了研究热
21、点。本文经过多次的试验总结之后成功完成了嵌入式m m【操作系统在s 3 c 2 4 1 0 上的移植工作。希望本文能为嵌入式系统的学习者提供借鉴。相信以A R M 的优越性能和u x 的开放性,基于A R M+I j n u】(的嵌入式系统将会得到更广泛的应用。参考文献:【1】于明,范书瑞,曾祥烨编著 R M 9 嵌入式系统设计与开发教程【M 1 北京:电子工业出版社,2 0 0 6【2】孙纪坤,张小全编著嵌入式【抽u x 系统开发技术详解:基于 R M p 州北京:人民邮电出版社,2 0 0 6 p】K 钾i 1 1 陆u x 2 6 2 4 4 移植到s 3 c 2 4 1 0 缸m 0
22、2 4 2 1 0)之:内核移植篇口三B o L】(2 0 0 8 0 4 一0 5)h 叩:b k,g c h i I 珊I l j x n 引1 1 2 6 3 5 6 0 s h o w a 心_ 5 11 9 2 4 h 砌【4 1 李丛,赵恒永基于s 3 c 2 4 1 0 的2 6 K e n l d 移植皿B o L l(2 0 0 8 一0 5 1 5)h 印:w w w p a p 扎c d u c 1 1【5】广州友善之臂计算机科技有限公司s B c 一2 4 1 0 X 使用手册V e z s i o n o 9 限】2 0 0 4 1 0 P o n i n 20 fL
23、 i n 呶E m b e d d e dO SB a s e do nS 3 C 2 4 1 0F E N GD a 一m g(D 叩a m I l e n t0 fE l e c 仃o n j ca 1 1 dE l e c 仃i c a lE n 咖e e r i l l g,L i u z h o uv o c a t i o l l a l 蛆dT e c I l I l i c a lC o e g e,L i u z h o u 5 4 5 0 0 6,C l l i m)A b s t 豫c t:T K sp a p e r 砷d u c 岱h o wt Op o r tk e
24、 m e lo f“n u x 一2 6 2 4 4 锄dn 吐er o o t6 ks 3,s t e 驰a l l dt l l e nd e s c 曲e Sd l ew r h o kp o r t i l l gp r o c 麟t ot l eS 3 C 2 4 1 0e m b e d d e dL i I l u)【o p e r a d I l g 叮s t e m K e yw o r d s:S 3 C 2 4 1 0;锄b e d d e dL i n u x;p o r t i n gp r o c e 豁;k e m dp o r t i n g;m a l【i 1
25、 1 9r o o tI i l e 哪t e I I l万方数据基于S3C2410的嵌入式Linux操作系统移植方法基于S3C2410的嵌入式Linux操作系统移植方法作者:冯达芳,FENG Da-fang作者单位:柳州职业技术学院,电子电气工程系,广西,柳州,545006刊名:柳州职业技术学院学报英文刊名:JOURNAL OF LIUZHOU VOCATIONAL&TECHNICAL COLLEGE年,卷(期):2010,10(2)参考文献(5条)参考文献(5条)1.广州友善之臂计算机科技有限公司 SBC-2410X使用手册Version0.9 20042.李丛;赵恒永 基于S3C2410的2.6Kernel移植 20083.Kevin Linux2.6.24.4移植到S3C2410(nano24210)之:内核移植篇 20084.孙纪坤;张小全 嵌入式Linux系统开发技术详解:基于ARM 20065.于明;范书瑞;曾祥烨 ARM9嵌入式系统设计与开发教程 2006 本文链接:http:/