找回密码
 注册
关于网站域名变更的通知
查看: 348|回复: 1
打印 上一主题 下一主题

来看看UBOOT移植到NXP LPC1788开发板吧!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-6-8 16:20 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
LPC1788的外部存储控制器(EMC),可以对动态存储器和静态存储器的支持,可以接SDRAN、NAND_FLASH、NOR_FLASH等多种存储器!有了这些存储器的支持,就有更大的空间存储我们的代码和数据,把Uboot移植到开发板上,有了这个强大的程序支持,就可以在上面跑UCLinux操作系统,还可以吧程序放到NAND_FLASH里面运行。好处是大大的有啊!好了废话不多说咱们开始。
4 }9 w3 ]7 K* ?        首先要做的是安装Linux系统,我装了个虚拟机里面跑的是CentOS。具体如果安装就不多说了网上有很多的教程。这里说交叉编译器的安装,我用的是4.5.1的版本,这个东西是开发ARM过程中最重要的东西了。具体安装步骤如下。
; g: J- b' y7 {; F* U  @1 N - ^9 Z) ]. W3 O4 Z5 P$ [0 p7 S
在根目录下创建“/disk/m3”的路径,将交叉编译器放到这个路径。以后的开发就在这个路径里进行。现在用“tar”命令解压编译器,如上图。这个是我自己的习惯。1 H% ~9 Y; C- s
$ o# a. Q$ ^2 @; I/ }1 P
        解压完后将WB_ARM拷贝到“/opt/”路径下,如上图。$ B7 D. Y+ s" {" m9 }0 g
% n1 [' ?* f  a5 p9 @! c, E! W# S
        编译器就在“/opt/WB_ARM/toolschain/4.5.1/bin/”路径下。用“ls”命令可以查看到如上图。% q2 M( v# u2 X2 }' r1 `/ e

# `  t3 s* D" n5 O: S6 v/ B        用vim编辑器,把交叉编译器的路径添加到家目录下的“.bash_profile”文件中。使用vim的方法如上图。1 |2 T1 F- n- d* ?' ~
3 Y/ r/ T4 q3 p+ }7 K8 u
        上图就是将路径添加后的结果,注意不要写错了。完成后保存退出。然后注销CentOS,按键盘上的“Ctrl+Alt+字符删除键(←)”,就可以注销。( y0 T2 \, J& S8 L# C

- v) R; f7 M- @5 | ' s& U/ u. c. t: J, J4 R$ }

/ }% U4 P& \1 s1 z7 p) i注销完成后在终端里输入arm-然后按键盘上的“Tab”键两次,就会出现如上图的交叉编译器。
, q+ R' c5 \. _8 A1 |1 g9 q接下来就可以编译uboot。% W2 y. u# e8 ^1 _) Z

/ R" N6 g0 O$ q) k5 T        将uboot拷贝到我们创建的路径下并解压,因为这个源码包是zip包,不是tar包,所以不能用tar命令解压,要用unzip命令解压。如上图。6 ?& A2 {- ]+ U7 j- q" N
) k  ?& K. c# v+ S3 k, L

0 T. D0 M1 w, n- s+ G- u* e7 a" k        解压后进入,里面就是uboot的源码文件。2 X% V2 }& ?5 s- z- F1 t; i
0 i6 D, Q) t5 A- \8 R
        在“board/nxp/”路径下就有1788的开发板如上图,但是这个开发不是我们自己的开发板,不过有1788的就好。查看了官方的ea-lpc1788的电路图,用的是串口0,旺宝的1788开发板也是用的串口0,按道理说,编译后下载到板子串口0会有信息输出。接下来就编译试试看。
; h: {( b3 Q/ u) j, y  A. w8 X
# X- {4 F* Q# T* @+ K% s        在uboot的顶层目录,先用make clean清除一下,再用make ea-lpc1788_config将uboot配置成1788的uboot,最好make编译,如上图。
& g, J7 a3 f3 M" V0 L0 a8 M7 @ : M9 p5 f5 e6 O! n* t' H5 K! @# k
不编不知道一编吓一跳,还有错误,这可如何是好啊!他说,找不到‘raise’这个符号,思来想去,符号应该就是一个函数,是不是那个地方定义了后,没有写这个函数,结果我搜索了一遍什么都没有啊,那感觉就像在孙悟空身上拔了一根毫毛,兴奋的一吹什么都没有啊。最后想了想,居然没有这个符号,那我就给它一个这样的符号。
5 L3 x# ^# q  D, S4 W/ g
. C7 K* r  n+ j( Q$ f( S        找了一个命令的路径,用vim打开里面有一个main.c如上图。
9 T1 l* e& ~5 d1 U ; f5 C- y$ c- F5 t* p! Q+ P5 j
        在里面添加了一个raise的函数保存退出,如上图。
; u2 N% K# e2 K+ |6 c. s8 t
- L. O, H0 i. x) ]        继续编译。6 N7 C) l9 O7 A7 X8 N
2 |) |/ N) r* a" J* I* [2 ?% J, f  Q
        奇迹出现了,呵呵!!出来了一个u-boot.bin这个就是我们要用到的。如上图。3 I0 G' A/ U0 {. ?3 F
+ x9 A6 W. a% P1 O8 T
把u-boot.bin下载到lpc1788的0地址处,连接开发板的USB转串口到电脑。打开centos的minicom。打开前先将USB转串口转接到虚拟机的centos里,将minicom设置为/dev/ttyUSB0,8位数据位,没有校验位,一位停止位。具体设置的详细过程网上有很多。连接后复位开发板,就会有信息打印出来,这说明我们的uboot成功的运行起来了,由于旺宝的lpc1788开发板和官方的不一样,所以NAND就出现问题了!如上图。  e. ~5 w" }- X8 ~) J9 I
  C3 l/ d5 X, i0 I  m9 j- X! L
        现在在uboot里面输入help就会显示出uboot的命令,到了这一步感觉很是高兴啊!不过要成功引导加载UCLinux还有很长的一段路要走啊!这次先写到这里吧!希望大家多多支持,给我前进的动力!: j; j7 u# J' M6 E" {0 n1 A
        操作系统,CentOS
+ D( d# O: z' V: q        交叉编译器版本,4.5.1) e1 b- J3 i, z+ P6 t0 P
        开发平台,1788开发板
( P1 q1 B. ]; F7 G1 [/ V6 K5 C# G' p$ n0 j) B

该用户从未签到

2#
发表于 2020-6-8 17:03 | 只看该作者
将BOOT移植到NXP LPC1788开发板
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 21:15 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表