项目已经接近尾声,准备给大家写写手记,跟大家分享分享。
前面我写过一个手记,对于串口驱动和xilinx JTAG驱动的共享,链接如下:http://forum.eepw.com.cn/thread/234146/1
接下来的时间跟大家分享这几个月来的一些开发资料。
今天先给大家写一个关于xilinx的交叉编译环境的建立和u-boot的编译。
1、你需要下载一个交叉编译的软件xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin,我下载的是这个版本。我是在xilinx的官网上下载的,官网上是有不同版本下载的,而且是登录进去后,是直接跳出来下载的。我一开始下载的不是这个版本,是arm-2010.09-62-arm-xilinxa9-linux-gnueabi.bin版本,这两个版本是完全不同的,由于版本的原因导致了我在编译u-boot的时候出现找不到编译器的。
2、打开一个终端,进入到文件所在路径。如果用的是64位的ubuntu操作系统还需要安装一个32位的ia32-libs库。apt-get install ia32-libs
先运行sudo dpkg-reconfigure dash,再运 行“sudo ./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin"。然后出现安装界面,一步一步向下安装即可。期 间会问你是否安装到一个路径,我默认安装到指定路径的(我的是/root/CodeSourcery /Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/)。同时,还会问道需不需要“Modify PATH”,默认“修改”。
3、修改ubuntu的环境变量,把编译器加到环境变量中。
修改设置/etc/bash.bashrc文件就可以,把下面这些信息添加进去。
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=//root/CodeSourcer/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin:$PATH
4、git clone xilinx的uboot代码。如果没有git,会提示安装git.如果连不上的话,可以先用浏览器登录这个页面。
git clone https://github.com/Xilinx/u-boot-xlnx.git
5.配置u-boot,在上一篇博客中介绍了交叉编译环境的建立,此处可直接进行配置
cd u-boot-xlnx
make zynq_zc70x_config
6. 编译u-boot
Make
以上步骤完成之后会生成一个u-boot文件,将其另存为u-boot.elf文件,此文件在生成Bootimage文件时会使用到。
后话:ZingBoard的u-boot和kernel是跟zc702和zedboard应该是可以共享的。如果你就想用一个u-boot文件可以直接从xilinx的官网上直接找一个。xilinx提供了一个参考设计,你可以根据自己的软件版本,下载学习一下,里面也带有uboot等用在SD卡上的文件。http://www.wiki.xilinx.com/Zynq+Base+TRD+14.2