Uboot在阳初S3C2410上的移植方法
更新时间:2023-07-22 00:26:01 阅读量: 实用文档 文档下载
- Uboot命令推荐度:
- 相关推荐
Uboot在阳初S3C2410上的移植方法
20 0 8年第 1期 l
仪表技术
3 2
U ot阳初 S 2 bo在 3 4的移植方法 C 1 O上朱祯祥,平安,曙光穆戴
(海理工大学光学与电子信息工程学院,海 2 0 9 )上上 003摘要:u o t个开源的面向多个目标平台且功能强大的 b ola e。首先介绍 b 0la e b0是 ot dr o ot d r以及 u o t的基本架构, 0 b0然后给出了详细的移植 u ot阳初 sc 4 0的方法。 bo到 32 1 关键词:b 0la e;b 0; 3 2 1 o t d r u ot S C 4 0 0
中图分类号:T 3 P9
文献标识码:B
文章编号:10 2 9 (o 8 l一 0 3一 3 o 6— 3 4 2 0 ) 1 O 2 O
P0 tng O r i fUbO tf r Ya g hu S 41 O 0 n c 3 C2 0ZHU h n xa g, M U Pi g a Z e—in n - n,DAIS - u n hu g a g
( 0lg fOpia a dE e t ncIfr t n E gn eig C l e0 t l n lcr i n0mai n ie rn,Unv ri fS a g a 0 ce c n e h oo y h n h i 0 0 3,Chn ) e c o 0 ies yo h n h ifrS in ea dT c n lg,S a g a 0 9 2 iaA b t a t Ub o so e k n fo e s u c d, u t l— s d a d sr n o to de s Th a e n f b o la e sr c: 0 ti n i d o p n—o r e m li e u e n to g b ol a r . p e b s me to o to d r a d u o ti n r d c d i h s p p r n b o si to u e n t i a e . Th n t e ald po t g p 0 e s o b o 0 n c u s 2 0 i h wn. e he d tie ri r c s fu o tfr Ya g h 3c 41 ss o n K e r s:b 0l a e;u o; S y wO d o t0 d r bo t 3C2 0 41
件的工具。l B ola e o t d r简介 o
22 u o t动过程 . bo启
对于计算机系统来说,开机上电到系统启动需从要一个引导过程,在嵌入式系统上,这个引导过程
通过引导程序 b o od r完成,作用类似于 P otae来 l其 C上的B1 0S。
开发板上电后,行 u B o的第一条指令,后执 . ot然顺序执行 u B o启动函数, . ot函数调用顺序如图 l所示。整个启动过程由 s r s和 b ad c程序完成。 tf a. 0r.
常见的 bol dr动方式有如下几种: 1网络 ot a e启 o ()
启动; 2磁盘启动; 3 Fah启动。其中,多数嵌 () ( ) ls大入式开发板上都采用 f s启动方式。 1h a 目前在嵌入式系统中主流的 b o od r ot ae主要有 v— 1 i v和 u ot本文采用 u ot i b o, b 0。 2 U 0t b o源码结构及启动过程21 U ot码结构 . bo源
图 1 UB o — o t启动函数调用顺序
u ot一个执行的程序是/ p/ r 9 0/t ts b0第 cu am 2 ts r。,a .该程序首先复位启动子程序,置 c u为 s c 2模设 P V3式,后调用 cu i一 r然 p _n ci t函数,着执行 rl a接 eo t c e函
B ad目标板相关文件,要包含 S R M、 ah 0r 主 D A n s驱动;
c m n独立于处理器体系结构的通用代码, o mo如内存大小探测与故障检测;C u与处理器相关的文件; p
数重定位 u o t R M, b o到 A初始化堆栈空间,后跳转到最一
s a兀 t
一
am 0t ) r b 0(。其中 rl a e ct o e函数把 u 0t f s bo从 1 h asr tt a—
拷贝到 R M中, A其关键代码如下:a rr d o,一一
D i r通用设备驱动, n s动; re v如 ah驱Ic d u ot n l e b o的头文件,含与目标板相关的配 u包
/ r代码当前位置/o是 B s/r A E/l是 u ot放在 R b 0存 AM中的代码区地址,
l rr d l, TExT
置文件,移植中经常需要修改;Lh i—
为 O 3 F OH x 3 o 00 o
am与 AR处理器体系结构相关的文件; r M
c pm,r m 1b q sa x e tc—
/比较是否相等//相等则跳过重定位代码,行初始化堆栈/执
stp e u
T os用于创建 u ot—
E 0 D和 BN镜像文 0l b o sR c R I一
sa tn
—
am ot ) r b o(函数在/i— r/ or . 1 am b ad c程序中 h
收稿日期:2 0 0 o 8— 7
作者简介:朱祯祥 (9 5 )男,士研究生,要从事嵌入式控制系统的研究。 18一,硕主
Uboot在阳初S3C2410上的移植方法
2 4
仪表技术
20 0 8年第 1期 1
定义, c语言函数完成系统初始化工作,入主循该进环,处理用户输入的命令。3 u 0 t移植方法 b0的
u 0t代码是开源的,们可以从 ht:/ . b o源我 t/ u p
b o sucfr . e下载到 u ot代码。本文使用 ot o re g n£ . 0e/ bo源的版本是 u ot ..。u 0t .. b o—11 6 b o一11 6支持 s K 4 O MD 2 l
开发板,阳初 sc4 0开发板很类似,以以和 32 1所S D 2l M K 4 0为基础进行移植。p c平台采用 rd a eht 90, .2交叉编译工具是 ar l u—c .。 li xg c 2 r—n T 3移植 u ot bo的基本步骤如下: ( )在顶层 Mae 1 1 k矗e中为开发板添加新的配置选项,与开发板无关的配置选项删除。将在 S D 21 M K 4 0配置选项下面添加如下两行:y2 c 4l c g: un n 0 on co g一
图 2 C p— U y me函数执行过程Na n n—
r. _ (函数在{ s. eul ) d l 1 h c中定义, a流程图如raj1u s n de‘ b fu s e n t一d ri i ) ed ( n i e h r u, n dl gs a d, t z g d n 0 n se
图 3所示。n n—e 0 l ) a n ra _l函数声明如下: (i t na n加~
@ . mk 0¥(: en g=)a la 2 t 2 l u L s c 4 0/ cn g@一o n m9 O 4 O N L 3 2 x 1 r
( )在/ 0r 2 bad下新建文件夹 y2 l,/ or/ c4 0从 b ad
S K 4 0中复制如下文件到 y20: MD 2 l c1/ 0 r/ M DK2 l/ 0 ng m k b ad S 4 O cn . / o r/S DK2 O n s c b ad M 41/ a h / o r/S DK2 O s k 41 c b ad M 41/ md
2 O / o r/S D K 41/ a e e b ad M 2 O M k l/ 0 r/ M DK2 lwlv 1 i i. b ad S 4 O/ o e e n t S l一
/ 0 r/ M DK2 l u h o .d b ad S 4 0/ - o t 1 s
将 s d2 1. m k 4 0 c改名为 y2 1 .。在 Ma e l c4 0 c k fe的 iC B S中增加 y2 l . O J c4 0 c的编译输出文件 y2 l .。 c4 0 oCOB S:=v 2 O 0 fa h 0 s k 4 O J c 41 ls . md 2 l 0
在 ic d/ s n l e∞n g中复制 s d 2 l . u m k 4 0 h为 y2 1 . c4 0h。图 3 a 0 r a一 ()数执行过程 n一e u儿函
( ) N n— ah启动移植。Fah芯片分为 nf 3 an n s ls o—
其中, s r s中, b f应的实参是 T,值为一在 tt a. u对{其 )T ExT BAsE, t兀 sa—
ns ah和 n n— ah n r 1s以直接被 c u读写, a n n s,0_ ah可』 P但是其价格较高,ao f s nn—l h不能直接被 c u读写,子 a P板上电后自动将前 4 K数据读到 00处,以一些最基本 x所
一
ad对应的实参是 r,值为 O o dr l其 x,
s e对应的实参是 r, i z 2其值为 O 2 0 0 18。 x0 0 ( 2 K)注意, a廿 n s N n一 ah的分块大小为 5 2 y,制 1K Bt复 e数据的时候以分块为单位。
的初始化工作我们必须在前 4 K程序中完成。 在 s d2 1 m k4 0的 s r s中,e ct(函数将 nr tt a. rl a ) o e o—ns ah的数据复制到 R M, nn—ls A而 a Q f h的启动方式和 an0r—
( )N n一 ah驱动移植。在 u ot .., 4 a( ns 1 b o一116中 已自带了 n n— ah的驱动,程序已定义了 c G— an ns若 FNAND—
ns ah不一样,因此需要重新修改 s r s进行代码 tt a.将 cp_o p函数注释掉,加如下代码: o ylo I增# fe i fCONF G S 2 O NAND BO0T d I 3C 41——
L G C宏,系统调用 nn _eay c里的 E AY则 ao l c. gl
重定位。
n n1i t )故在 y2 l . a( n
(, _ i c4 0 h中定义该宏:EGACY # e n G N AND L d 6 e CF—
—
在 y2 l . c 4 0 h中,消 C N 一 O取 O F C MMA D (里 N S )对 C G C— A D的注释。 F— MD N N
—
b o y lc p—
m e
#n i e df
/ C0NF C S 241 NAND BO0T{/ I 3C O———
在 n n _eay c中添加所需的命令接口,加的 a 0 l c. g添代码主要来自于 u—B 0 O T中其他的板子 ( or/ p/ bad m l v m 9。然后在 y2 l . c a) c 4 0 h中添加这些命令接口的宏定义。以 N— i B为例, y2 l . F wa R t在 c4 0 h中添加如下宏定义:# e e NAND d n W AI RE T ADY( a d nn ) NF W at iRB()
co y p—
me函数复位 n n一 ah芯片,定位代码 a0 n s重
并检验前 4 K代码的正确性,流程图如图 2所示。其 其中, a0 n s N n一 ah的前 4 K数据自动读到 0 0所以程序 x,只需检查从 0 0开始的 4 x K数据和从 0 3 F 0 0 x 3 8 0 0开始
的4 K数据是否一致。
Uboot在阳初S3C2410上的移植方法
20 o 8年第 l期 l这样,一个命令便添加完成。
仪表技术 e v pr; n— t)
. 5. 2
在 icu e l u/ t/ a d is h中,力阳初 n ld/i x m d n n— d . n增Ⅱ
5 )在 y2 1 . c4 0 h中添加环境变量的地址及大小:# e n F E d n e C G NV I I NA S N ND————
sc4 0的 N n 1s 32 l a dFah芯片型号,如下结构体赋值对进行修改:sai t c a dⅡa h d v n n n s tt s兀ltn n c s e a d an一—
l O 1 0 0}T tI i fE vr n n S co/ x 00/ oa Sz 0 n i0 me t e tr e
# e e C G ENV S Z d n F IE—
—
# en G E V d ecF N———
—
O FE F sT
0 2 00}在 nn一 ah 0 2 0 0 x0 0/ a订n s的 x0 0处/
is]={ d[
{ s ms“ 9 1 0 u c N D MF— AMs N O 7,2 0,” a u g K F 2 8 O”, AN— R s u
G, x 6 6, 4 O 4 o O}, x o 0,,{ NULL.}
至此,个移植过程完毕。整个过程用到的内存整地址空间分配如表 1所示。表 1O O O OO O OO O 0 x O 0 O O— x O O 4 O O3 F0 0 0 3 F O0 x 3 O O O~ x 3 O 8 O0 3 8 O O一0x 4 O 0 O x 3F O 0 3O 0 O Na ( n】一
( )使用 sve v使得环境变量保存在 N N 5 aen A D F A H中不丢失。因为定义了 c G— A D— E A Ls F N N LG—
SR M前4 D A K堆栈 3 K 2 ns ah复制到 R AM的前 l 8 2K一
c因此主要修改 sve v中对 n n Y, aen a d的读写函数为Ox E 0 O 0 4 0 O O
Na口 n
n n _e ay的读写函数,改 cmm n e v n n . ao l c g修 o o/ n— a d c如下:
ns a h控制器基地址
在终端里依次执行 mae y2 1一 o f, a e k c4 0 cni m k, gsve v即可得到正确的引导信息。 ae n,4结束语 ——
1在程序开始处添加函数声明及数组定义: )i tn n lg n a d a y—
—
eae s t a d c i rs ( t n— hp mc n
n n,s e f,s e t a d i—t s i— z o z
l it la ) e n en; n, ce t m tu tn n x e sr c a d c i n n hp a d
dv e
—
d s cFG ec
—
M Ax
—
NAND
—
DE—
Vc; IE]n n i f tn n i f cF a d n0 a d nn G M Ax NA ND—一————
u ot移植是嵌入式软件开发的重要的一环, bo的D Vc; E IEj
本文提出了基于 sc4 0的 u ot植方法,阳初 32 1 bo移在s c4 0开发板上成功移植,有一定的通用性,对 32 1具且
2 )将 i nn— r e&n n—n0 0,c G E V一 f ad ea ( a d if[] F— N ( s0FF sET, CFG ENV——
Sz ) IE)替换成 i( a d lgc—— f n n—eay e
于使用相近开发板进行 b o od r植的读者来说具 ot ae移 l有较高的参考价值。参考文献:[]孙
纪坤,小全 .入式 Lnx系统开发技术详解——基于 1张嵌 iuA M[ .京:民邮电出版社,0 6 R M]北人 20 . []李亚峰,文盛 . R嵌入式 Ln x系统开发从入门到精 2欧 AM i u通[ .京: M]北清华大学出版社,o 7 20. []孙天泽,文菊,海峰 .人式设计及 Ln x动开发指 3袁张嵌 i驱 u南——基于 A M R 9处理器[ .京:子工业出版社, M]北电2 05. 0
rs ( a d e— e c+0,C G—E ae n n—d v d s F NV一0F S F ET,CF G—ENV—
SZ 0)) I E,;
3将 rt ad wi ( ad if[] F ) e=nn~ re&nn— no 0,c G— tENV一
0 FE F S T,& oa,(— h r ) n— t)替换成 tt l u ca e v pr;——
r t= n n l g c r n n— e— e c+0,0 0 x 2, e a d e a y w( a d d v d s x0l 0 0CFG ENV OF ET,CFG ENV FS———
—
SZ I E,&tt1 u c a oa,(— h r
水) n— t) e vpr;
4 )将 rt a d ra ( n n—n0 0,c G E V e=n n—ed& a d if[] F— N—
O F E& oa,(— hr ) n— t)替换成 rt F S T, tt l u ca e v pr; e=——
n n lg c a d eay一
r ( ad dv d s 0, x 10 0, F— w n n— e— ec+ 0 0 x 2 C G l—
[]王敏敏 .—0 TF R阳初 2 1 23 z . o7 4 uB 0 0 4 0v -[]2 0 .
ENV 0FFS ET, CF G
ENV
—
SZ I E,&ttl u c a 0a,(— h r木)
(许雪军编发 )
(上接第 2 2页 ) GR P s模块与控制器间是通过串行口进行通信的,通信的协议是 A T命令集。5总结
( )语音通话自动报警。 3 参考文献:[]陈乾宗 .P G基本系统编码分析与实现[ .江大学, 1 JE D]浙2 04. 0
本论文主要任务包括总体设计、理图设计、片原芯选型、熟悉并掌握了硬件的设计和调试方法,以及如何在嵌入式 Ln x台下进行嵌入式系统软件的开发全 iu平
[
]文志成 . P s网络技术[ .子工业出版社,0 5 2 GR M]电 20 . []于俭明,向阳,汉 . iu 3陈方 Ln x程序设计权威指南[ .械 M]机工业出版社, 0 1 20 .
过程,设计的无线传输部分和嵌入式系统软件。 论文系统设计的难点和创新点包括:( )基于 s P邮件服务器的邮件传输; 1 MT
[ 4]Jrm eta陈向群,译 .入式系统 we ee y B nhm,等嵌 b服务一T P I en M]机械工业出版社,0 4 c/PL a[ . 20 .
[]Kes . MT ev eE t s n, e okMaae n s 5 l i J s Psri xe i sN t r ngmet— nn c no w A sc tsz . F 16, c,95 0i e[] R c 89 I .19 . a n
( )短信息触发, 2实现远程自动短消息控制;
(郁菁编发 )
正在阅读:
世界美术大师作品赏析08-27
浙江省教师招聘考试2013科学基础知识03-02
每日一练01-15
普通话测试培训资料04-25
火灾报警器毕业设计3稿 - 图文06-16
数据结构课程设计学生成绩管理问题03-29
美的瞬间作文500字03-31
固定技术规范-电缆保护管,MPP资料07-01
化学与食品安全论文03-20
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 移植
- S3C2410
- 方法
- Uboot
- 阳初
- 本科毕业论文:数字频率计
- 第7讲 优化软件LinGo的使用
- 第八章 光电传感器
- 阜新大商新玛特市场调查
- 6 模拟信号运算与处理电路
- 笔架山乡中心学校禁毒教案
- 基于LabVIEW的非线性振动仿真测试平台
- 电源变换器中电流模式和电压模式相互转化
- 高中数学选修1-2第三章推理与证明1归纳与类比12类比推理
- 构建高效课堂提高学习效率
- 交互式电子白板在小学数学教学中的应用研究
- 2014年九年级英语上学期期末测试卷(人教新目标)
- 原创高考语文复习备考资料 综合鉴赏诗歌鉴赏技巧点拨
- 2017年全国高中数学联合竞赛试题与解答(B卷)
- 企业如何进行资产剥离
- 共青团邵阳市委文件
- 人教版八下第六单元分课练习(扫描版,可直接打印)
- 水泥混凝土路面设计 程序计算
- 2010-动物育种学-第三章-孙东晓
- 考试诚信教育主题班会(共5篇)