2670|0

141

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ZedBoard学习手记(一) First Step——建立Xilinx交叉编译环境 [复制链接]

要开发ZedBoard最重要的是Xilinx ISE工具集,在这个IDE里能够完成大部分的逻辑及底层软件开发工作。如果做裸奔开发,一个IDE足矣,但是若不想一辈子不穿衣服,需要涉及Linux下的软件设计,就得在Linux中进行编译。Xilinx的IDE里貌似也集成了开发Linux软件的相关环境,但兔子还不太会用,而且Linux下需要进行编译的东西太多了,很多地方SDK也无能为力,因此还是走传统路线——在Linux下建立Xilinx编译环境。
兔子的操作系统是Win7 Ultimate,多系统用起来着实麻烦,因此安装了VMware虚拟机,并在虚拟机下安装了Ubuntu,版本为11.10 64-bit。建立编译环境是老生常谈的话题,网上讲的很多,但为了保持手记完整性,这里请再耐心的来过一遍吧。
在Xilinx Wiki网站(http://wiki.xilinx.com/zynq-tools)下载Sourcery CodeBench,由于这个环境是为32-bit系统设计的,64-bit系统的用户需要先安装部分32-bit库,在Ubuntu终端中进入root权限(兔子喜欢一进终端就sudo su,省得后面麻烦),输入下面命令:
  • apt-get install ia32-libs ia32-libs-gtk

复制代码

Mentor网站上的一篇文章说,还需要32-bit版本的xulrunner,我这里没装过,但也能用,不放心的可以按照这里的步骤安装:https://sourcery.mentor.com/GNUToolchain/kbentry62
之后在终端中输入:
  • dpkg-reconfigure dash

复制代码


在弹出的对话框中选否,将dash改为bash,这样才能顺利执行Sourcery CodeBench安装程序。下载好的安装文件为:xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin,在该文件路径下输入./xilinx-2011.09-50-arm-xilinx-linux-gnueabi.bin打开安装程序,兔子选择默认路径(Do not modify PATH),装好后的执行文件路径为/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/,以后每次编译软件的时候都需要通过export指令将编译环境的路径加入PATH环境变量,后面编译一些内容的时候还会用需要修改ARCH,其指令如下:
  • export ARCH=arm
  • export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
  • export PATH=/root/CodeSourcery/Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux/bin/:$PATH

复制代码


如果不想每次都输入,就在通过gedit /etc/bash.bashrc指令打开bash.bashrc文件,在里面加入上述指令,这样开机就会自动执行了,同样可以运行source /etc/bash.bashrc指令使设置立即生效,通过echo $PATH指令可以看到我们刚才设置的路径。
下面让我们来编译点东西试试,首先是HelloWorld。找个地方新建一个hello.c文件,用gedit编辑,代码如下:
  • #include
  • int main(void)
  • {
  •      printf("Hello ZedBoard!\n");
  •      return 0;
  • }


复制代码

在C文件所在目录中输入下面指令进行:
  • arm-xilinx-linux-gnueabi-gcc hello.c


复制代码

在兔子电脑上生成了a.out文件,可能是以前设置的原因,不确定在你那里会叫什么呵呵。如图:

将生成的文件拷贝到U盘,连接到ZedBoard的USB OTG上,先挂载U盘,然后运行软件测试一下:
mount /dev/sda1 /mnt/
/mnt/a.out

至此交叉环境就搞定了,效果如下:
[size=0.83em]2013-1-6 10:00 上传
下载附件 [size=0.83em](28.37 KB)




下面再编译个U-Boot试试,Xilinx在Wiki上也做了介绍:http://wiki.xilinx.com/zynq-uboot
首先为自己选一个用于开发的目录,兔子的目录位于/arm/zed,这个依喜好自定啦。通过Git下载Xilinx U-Boot代码:
  • git clone git://git.xilinx.com/u-boot-xarm.git
  • cd u-boot-xarm

复制代码

用我们之前安装的交叉编译环境进行编译,由于我们已经设置了环境变量,这里直接执行编译即可,先进行配置:
make zynq_zed_config

配置完成后编译:
make

编译结束后,会生成一个u-boot文件(没有后缀名),这是一个elf文件,将其另存为u-boot.elf。这个文件很重要,在我们以后生成Boot Loader时会用到,用到时再解释吧。
之后我们就将开始设计自己的自定义AXI总线外设了,下次会为大家呈现一个通过GPIO读取Switch值并控制LED的IP,最终目的是在Linux下通过自己的软件控制这个硬件IP。

(转)
此帖出自FPGA/CPLD论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表