编译JZ2440开发板的u-boot

时间:2022-05-01 16:32:56

        以前我在大四的时候准备学习linux,然后就去买了块Cortex-A8架构的开发板,我当时选的是QT210,可惜哪会完全没有基础,根本不能搞定A8强大的数据手册,而且当时连uboot也不知道,呵呵,当时勇气真大,一来就买A8板,后面的前景也让我尝到了苦头,对着一块在当时看来何等高级的板子我压根不知道从何处学习,只会开开机,然后实在无聊了再关机睡觉,呵呵,蛋疼啊。。。。

       可是等我稍微懂一些嵌入式方面的知识后,再拿出我心爱的A8板时,它已经坏了。。。。不知道它是不是生我的气,让它孤独了那么久,花费了好些天去排除原因希望能挽回它,最近得到的结果是一个芯片烧坏了。。。再次无解啊。实在没有办法,过了些天终于打算买了块JZ2440板,没事加深下自己的学习。

       这次我打算从u-boot学习,所以今天准备把u-boot工程先建立起来,编译原厂自己的uboot镜像,后续再自己慢慢去修改加入自己的东西。

       第一步:下载原厂自带的uboot工程相关文件

       uboot官方源码文件:u-boot-1.1.6.tar.bz2

       开发板原厂补丁文件:u-boot-1.1.6_jz2440.patch

       第二步:在u-boot-1.1.6源码的基础上打上开发板原厂补丁文件

       首先解压源码包:tar  jxvf  u-boot-1.1.6.tar.bz2   

       进入解压后的文件夹:cd   /u-boot-1.1.6/

       打上开发板补丁文件:patch -p1 < ../u-boot-1.1.6_jz2440.patch (注意-p1是阿拉伯数字1而不是小写的L)

       第三步:

       配置u-boot:make   100ask24x0_config

       编译u-boot:make

       编译时出现问题:前面两步都非常顺利,没有出现任何问题,但是当执行完第三步的make 100ask24x0_config后再执行make的时候出错了,大概就是一些编译器版本的问题,后来看了下用户手册发现要用它指定的编译器,我的4.3.2版本的。接下来要做的工作就是更换成它指定的编译器的,首先下载它打包好的编译器包文件:arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2,然后解压出来,假设解压后的文件夹目录是:/work/gcc-3.4.5-glibc-2.3.6/,最后再指定环境变量:export PATH=$PATH:/work/gcc-3.4.5-glibc-2.3.6/bin。

        现在一切都好了,直接做第三步就可以顺利编译u-boot工程了。