本文参考资料:
http://blog.csdn.net/xzyiverson/article/details/11264417
http://www.eefocus.com/nightseas/blog/12-10/287208_5ceaa.html
一、安装Ubuntu15.10(其他版本也是可以的,例如12.04等)
二、由于这个环境是为32-bit系统设计的,64-bit系统的用户需要先安装部分32-bit库,在Ubuntu终端中进入root权限(输入su root,输入UNIX密码即可[如果事先没设置密码,先通过sudo passwd root设置UNIX密码]),我自己的就是64位的系统。在终端中输入
apt-get install ia32-libs
三、将dash改为bash,原理我不懂,在终端中输入
dpkg-reconfigure dash。 选择no
四、从下面的链接下载xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin:
https://pan.baidu.com/s/1htZ5wkG 提取密码: bghj
五、在终端中输入
./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin
如果执行失败,先输入chmod +x xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin,将其转换为可执行程序,复制下路径。
六、设置环境变量
Ubuntu中,环境变量的文件是 /etc/bash.bashrc,通过gedit /etc/bash.bashrc指令打开bash.bashrc文件,在末尾增加内容:
export ARCH=arm
export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/:$PATH
同样可以运行source /etc/bash.bashrc指令使设置立即生效,通过echo $PATH指令可以看到我们刚才设置的路径arm-xilinx-linux-gnueabi-gcc -v。如果可以打印出交叉编译器的版本信息,说明设置成功了。还有就是输入arm-xilinx,按下TAB键,看看有没有东西出来。七、测试交叉编译环境
下面让我们来编译点东西试试,首先是HelloWorld。找个地方新建一个hello.c文件,用gedit编辑,代码如下:
#include <stdio.h>
int main(void)
{
printf("Hello ZedBoard!\n");
return 0;
}
在C文件所在目录中输入下面指令进行:
arm-xilinx-linux-gnueabi-gcc hello.c
在Ubuntu上生成了a.out文件,把它拷贝到U盘里,插到ZedBoard的USB OTG上。ZedBoard用UART连到电脑USB口,板子上电后,打开串口调试工具(如SecureCRT),等到板子启动之后,在串口工具中输入:
mount /dev/sda1 /mnt/
/mnt/a.out
结果如图:
交叉环境搭建成功。