新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)

u-boot下载地址:http://www.denx.de/wiki/U-Boot/

我们这里要下载的u-boot版本为:u-boot-2012.04.01tar.bz2

下载步骤如下:

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第1张图片新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第2张图片新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第3张图片新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第4张图片


下载完成后,在linux下进行试验:

1、初试

进行解压缩:tar xjf  u-boot-2012.04.01.tar.bz2

进入目录: cd  u-boot-2012.04.01/

cd  u-boot-2012.04.01/

进行配置: make smdk2410_config

编译: make

最后会出现编译错误:“arm-linux-ld”是由于交叉编译器的版本过低。

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第5张图片

通过“arm-linux-gcc -v”命令查看交叉编译器的版本(自带交叉编译器),版本过低。

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第6张图片


下面用arm-linux-gcc-4.3.2.tar.bz2替换之前的arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2。

(1)arm-linux-gcc-4.3.2.tar.bz2放置在/work/tools目录下,然后创建一个/tmp目录,来查看其中的内容。

命令:	mkdir  tmp
		tar  xjf  arm-linux-gcc-4.3.2.tar.bz2  -C  tmp/


新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第7张图片

(2)切换到之前的压缩包目录,然后将其解压到根目录/。

命令:cd  /work/tools/
	sudo tar xjf  arm-linux-gcc-4.3.2.tar.bz2  -C  /


(3)设置环境变量

可以查看路径,命令:echo  $PATH


通过export命令设置环境变量(每次开机都要重新设置)

切换目录:cd  /usr/local/arm/4.3.2/bin/
查看路径:echo $PATH
配置环境变量:
export PATH=/usr/local/arm/4.3.2/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
然后查看交叉编译器版本:arm-linux-gcc -v

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第8张图片新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第9张图片

设置环境变量(永久的方法)

修改配置文件:sudo vim  /etc/environment
把原来环境变量
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/work/tools/gcc-3.4.5-glibc-2.3.6/bin"
改为:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin/"
使生效:source /etc/environment

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第10张图片


2、继续编译之前的u-boot-2012.04.01

重新进入u-boot-2012.04.01目录

执行命令make  distclean 清除之前未完成的编译文件。

重新配置:make smdk2410_config 

重新编译:make

编译完成后,未报错。

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第11张图片

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第12张图片

编译成功,生成u-boot.bin文件。按照之前烧写u-boot的方法进行烧写。但生成的u-boot.bin的大小为462kB,文件太大 。

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第13张图片

新版U-boot2012.04.01移植(一)(JZ2440-S3C2440)_第14张图片

生成的u-boot.bin在烧写到开发板上后没法运行。下面要分析其启动过程。

参考:新版U-boot2012.04.01移植(二)(JZ2440-S3C2440)

你可能感兴趣的:(嵌入式开发(学习笔记))