u-boot版本:u-boot-2011.03.tar.bz2
Linux系统:redhat 5
交叉编译:arm-linux-gcc-4.3.2
ARM板:友谊之臂 MINI2440
1.配置交叉编译环境
用的是arm-linux-gcc4.3.2.tgz
首先把arm-linux-gcc4.3.2.tgz拷贝到一个目录中,然后解压到/目录下
tar -xzvf arm-linux-gcc-4.3.2.tgz -C /
然后设置环境变量
vim /root/.bashrc
打开后在最后一行加上
PATH=$PATH:/usr/local/arm/4.3.2/bin
保存退出后source /root/.bashrc
输入命令:arm-linux-gcc -v
如果能够看到版本就配置成功。
2.移植u-boot-2011.03
tar -xjvf u-boot-2011.03.tar.bz2 /u-boot
cd u-boot-2011.03
然后就按照如下步骤移植,里面有详细步骤,转载链接地址:
http://blog.csdn.net/csuwzc/article/details/6453623
在里面把所有的micro都改成mini,而且还需要把2440.h头文件里面的#define ENV_IS_IN_FLASH 1注释掉,因为我们是要实现NAND启动,而之前u-boot默认的是FLASH启动,所有要注释掉,不然就会出错,成功后make下会生成一个.bin的文件。
友情提示:没改完一页就make一下,看看有没有错误,不然到了最后如果出错会很难找。
之前在移植的时候,前6页都没出错,但是在第七页的时候出了个段错误,说是undefine nand.o,在老师的帮助下是因为之前在头文件中有个变量忘记改了,出错后一定要耐心找错误,不能慌啊!!!