@[TOC]
移植环境
主 机:VMWare--ubuntu16.04 开发板:S3C2440 编译器:arm-linux-gcc-4.3.2.tgz u-boot:u-boot-2012.04.01.tar.bz2
获取uboot
进入https://www.denx.de/wiki/U-Boot下载uboot
![31e22ff06cb5dc845daf5383102f3441.png](https://i-blog.csdnimg.cn/blog_migrate/de907edc4851c07c1fca813199a670fb.jpeg)
![f10984ae17e1afb59c5bc8624aeeed0f.png](https://i-blog.csdnimg.cn/blog_migrate/7caf06a0025bb870e813097b607522fc.jpeg)
![98b0a062da9b66176907530ae0475eee.png](https://i-blog.csdnimg.cn/blog_migrate/f4e77399c04b931add334546f7335101.jpeg)
cd /work/system
tar xjf u-boot-2012.04.01.tar_2.bz2
进入文件夹配置uboot
cd u-boot-2012.04.01
make smdk2410_config
make
编译报错如下
![a6f107bd9c8821855e4714f7f0f25bfa.png](https://i-blog.csdnimg.cn/blog_migrate/0289c9d8e7c912a606dc1ff05ef568d0.jpeg)
更新交叉编译工具
将arm-linux-gcc-4.3.2.tar.bz2上传到ubuntu服务器/work/tools。将arm-linux-gcc-4.3.2.tar.bz2解压到/work/tools/tmp文件夹。
cd /work/tools
mkdir tmp
tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C tmp/
解压完成,进入tmp目录查看usr/local/arm/4.3.2/bin文件夹,有各种工具链。
cd tmp/usr/local/arm/4.3.2/bin
ls
![a641e7f789a9d80a0ac93e31845eeb9d.png](https://i-blog.csdnimg.cn/blog_migrate/e7a409253867e56302d62045782576e9.jpeg)
配置环境变量
将新的工具链解压到根目录并配置环境变量,新的交叉编译工具链就生效了。
sudo tar xjf arm-linux-gcc-4.3.2.tar.bz2 -C /
为什么要设置环境变量? 因为我们执行ls 命令时,系统会去寻找所执行的命令,去哪里找呢?就在环境变量中。在ubuntu查看环境变量如下
![01704a971e8c8be4ee6efe9a5a0f9411.png](https://i-blog.csdnimg.cn/blog_migrate/d00af34aa92d39f2e51ed4d28395107b.png)
export PATH=/usr/local/arm/4.3.2/bin:.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
执行
arm-linux-gcc -v
![4ee4328420be7e41cbd8944fa04b95ad.png](https://i-blog.csdnimg.cn/blog_migrate/879afc5024226cc0a09ca7f49dc9a9c2.jpeg)
sudo vi /etc/environment
修改前
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/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"
重启后即可生效。
再次编译新的uboot
cd /work/sysytem/u-boot-2012.04.01
make distclean
make smdk2410_config
make
编译没有报错,将新的uboot.bin烧写到开发板发现,程序不能运行。所以需要分析并修改uboot 下一节S3C2440移植uboot之启动过程概述我们将分析UBOOT的整个启动流程。
如遇到排版错乱的问题或者有任何疑问、建议,可以在“我的主页”找到我的联系方式和我的博客链接。