|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
LPC1788的外部存储控制器(EMC),可以对动态存储器和静态存储器的支持,可以接SDRAN、NAND_FLASH、NOR_FLASH等多种存储器!有了这些存储器的支持,就有更大的空间存储我们的代码和数据,把Uboot移植到开发板上,有了这个强大的程序支持,就可以在上面跑UCLinux操作系统,还可以吧程序放到NAND_FLASH里面运行。好处是大大的有啊!好了废话不多说咱们开始。- F1 j& h. ^6 @6 A% n; \8 J
首先要做的是安装Linux系统,我装了个虚拟机里面跑的是CentOS。具体如果安装就不多说了网上有很多的教程。这里说交叉编译器的安装,我用的是4.5.1的版本,这个东西是开发ARM过程中最重要的东西了。具体安装步骤如下。. P' K7 L7 @: p+ v1 G+ f
0 f$ \! {0 [$ t# n5 v8 F9 M6 A在根目录下创建“/disk/m3”的路径,将交叉编译器放到这个路径。以后的开发就在这个路径里进行。现在用“tar”命令解压编译器,如上图。这个是我自己的习惯。# F+ a5 w+ C$ x! d
2 r8 z6 @) m! [- N 解压完后将WB_ARM拷贝到“/opt/”路径下,如上图。5 q- r0 a7 p: a/ P5 x6 u
( @# J3 C G; f# B
编译器就在“/opt/WB_ARM/toolschain/4.5.1/bin/”路径下。用“ls”命令可以查看到如上图。, \6 E9 c3 ]+ k) k4 P
r/ g: b% `2 S1 \# D/ T 用vim编辑器,把交叉编译器的路径添加到家目录下的“.bash_profile”文件中。使用vim的方法如上图。. o K1 Q- l- P! U* m9 Y
# H! t6 ?4 X, I* ~
上图就是将路径添加后的结果,注意不要写错了。完成后保存退出。然后注销CentOS,按键盘上的“Ctrl+Alt+字符删除键(←)”,就可以注销。
. q7 J* m6 s- \& D' \/ x6 e% l' I# ?9 P: }
Z5 |+ z* Z% W6 o9 ?6 @8 Y/ Q% x
5 Z2 m5 ?/ F' }! N. u# g y注销完成后在终端里输入arm-然后按键盘上的“Tab”键两次,就会出现如上图的交叉编译器。
) M- ? m2 m- R. M2 L {接下来就可以编译uboot。+ Z S }+ Y }) I3 k# o1 e
6 @* A& d r' V# H' A( p, I 将uboot拷贝到我们创建的路径下并解压,因为这个源码包是zip包,不是tar包,所以不能用tar命令解压,要用unzip命令解压。如上图。
! q' M6 ^( s- u# i( L+ O2 q2 k, U( o6 @* ^
# N; E; e* x- c. p- w" J
解压后进入,里面就是uboot的源码文件。
5 C! j7 G1 ?9 I/ A4 ]# p1 ^+ Z
1 e8 ~6 q4 A0 ^
在“board/nxp/”路径下就有1788的开发板如上图,但是这个开发不是我们自己的开发板,不过有1788的就好。查看了官方的ea-lpc1788的电路图,用的是串口0,旺宝的1788开发板也是用的串口0,按道理说,编译后下载到板子串口0会有信息输出。接下来就编译试试看。1 S( c2 L* S8 z# ?' H/ A _% o
. U6 B6 F+ f8 U8 }* |7 M
在uboot的顶层目录,先用make clean清除一下,再用make ea-lpc1788_config将uboot配置成1788的uboot,最好make编译,如上图。9 b( f2 l3 B% I/ v6 v. a
* D. T7 L: X! L! j& d4 Z4 X不编不知道一编吓一跳,还有错误,这可如何是好啊!他说,找不到‘raise’这个符号,思来想去,符号应该就是一个函数,是不是那个地方定义了后,没有写这个函数,结果我搜索了一遍什么都没有啊,那感觉就像在孙悟空身上拔了一根毫毛,兴奋的一吹什么都没有啊。最后想了想,居然没有这个符号,那我就给它一个这样的符号。! e; O7 w' g7 S5 Z) ?
. |3 I" ^+ I$ @ 找了一个命令的路径,用vim打开里面有一个main.c如上图。
9 H- {' a1 @+ Y. \3 Z8 t, D
, a6 R) x) [7 P$ q 在里面添加了一个raise的函数保存退出,如上图。' h6 ~' G* s' Y) L `
+ o) C5 B/ N( ], l2 p( N
继续编译。+ g& o2 O. w4 {3 E( u
3 r! g& r/ g/ t 奇迹出现了,呵呵!!出来了一个u-boot.bin这个就是我们要用到的。如上图。
$ r& L. _3 |3 M H. S
7 s8 W7 B% X! P/ g: O$ F3 z/ Q/ L& u
把u-boot.bin下载到lpc1788的0地址处,连接开发板的USB转串口到电脑。打开centos的minicom。打开前先将USB转串口转接到虚拟机的centos里,将minicom设置为/dev/ttyUSB0,8位数据位,没有校验位,一位停止位。具体设置的详细过程网上有很多。连接后复位开发板,就会有信息打印出来,这说明我们的uboot成功的运行起来了,由于旺宝的lpc1788开发板和官方的不一样,所以NAND就出现问题了!如上图。
[& n4 b d: W" L. y
' q* `% }; R; l- z' X6 c 现在在uboot里面输入help就会显示出uboot的命令,到了这一步感觉很是高兴啊!不过要成功引导加载UCLinux还有很长的一段路要走啊!这次先写到这里吧!希望大家多多支持,给我前进的动力!- l% a9 U2 \1 g# E7 u8 \+ n
操作系统,CentOS# u! o0 D0 }7 F- d! d9 n) h
交叉编译器版本,4.5.14 Z# j! N4 i6 Y, A( f+ g
开发平台,1788开发板
- r9 I( k# _, x: ^; {9 v0 F* V. E3 |
- v$ F3 K0 U5 I( P9 ^$ ^ |
|