S3C2440移植u-boot之配置开发环境

来源:互联网 发布:mac版fps游戏 编辑:程序博客网 时间:2024/05/23 12:00

很经典也很老的一个CPU,打算给其移植新系统(u-boot、kernel、rootfs),老规矩先整u-boot。

<一>下载

1.下载源码

这里使用git下载,官网地址:http://www.denx.de/wiki/U-Boot/SourceCode,命令如下

git clone git://git.denx.de/u-boot.git

2.寻找配置

下载好之后,看下当前版本有没类似配置defconfig,根据经验知道一般2440类似配置为2410,简单搜索下代码,发现当前本版没有相关配置

find * -name *defconfig | grep 24
因此,需要考虑切换版本,先使用git tag看看都有哪些版本,然后同上面一样再次搜索

ubuntu@ubuntu:u-boot$ git tag...v2016.09.01v2016.11v2016.11-rc1...ubuntu@ubuntu:u-boot$ git checkout -b S3C2440-v2016.11 v2016.11Switched to a new branch 'S3C2440-v2016.11'ubuntu@ubuntu:u-boot$ git branch* S3C2440-v2016.11  masterubuntu@ubuntu:u-boot$ find * -name *defconfig | grep 24...configs/T1024QDS_SPIFLASH_defconfigconfigs/smdk2410_defconfigconfigs/T1024QDS_defconfig...

其中git tag是查看当前所有版本标签,git checkout -b S3C2440-v2016.11 v2016.11是从git仓库检出v2016.11版本并新建为S3C2440-v2016.11分支,git branch是查看当前分支。可以发现切换版本后,可以找到类似配置,也就是configs/smdk2410_defconfig,后面将先根据这个文件进行配置和编译

<二>编译

1.下载编译器

编译之前,需要寻找一个编译器,由于v2016.11比较新,考虑使用新点的gcc版本,google搜索一下可以找到下面这个网站

https://launchpad.net/gcc-arm-embedded/+download

看到版本使用2016的,我选的这个gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2

2.配置环境

简单说就是配置下交叉编译器,很简单,下载后解压然后设置下环境变量就好

ubuntu@ubuntu:tools$ cd gcc-arm-none-eabi-5_4-2016q3/bin/ubuntu@ubuntu:bin$ export PATH=$PATH:$PWDubuntu@ubuntu:bin$ arm-none-eabi-gcc -v...gcc version 5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496] (GNU Tools for ARM Embedded Processors)

3.编译源码

跟一般操作一样,清除、配置、编译

make ARCH=arm CROSS_COMPILE=arm-none-eabi- distcleanmake ARCH=arm CROSS_COMPILE=arm-none-eabi- smdk2410_defconfigmake ARCH=arm CROSS_COMPILE=arm-none-eabi- -j4
其中ARCH用于指定目标板架构,CROSS_COMPILE用于指定交叉编译器,此处也可以直接修改Makefile


至此,初步的工作已经完成,总结下:

1.编译器和u-boot版本需要配套,太老的编译器编译新版u-boot很可能失败

2.配置方法:寻找接近的配置,先编译通过,后续在进行修改

阅读全文
0 0
原创粉丝点击