打印

在linux上安装及使用 Xilinx ISE 10.1 的要点

[复制链接]
4145|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuehua230|  楼主 | 2012-10-10 18:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xuehua230 于 2012-10-10 18:38 编辑

在Ubuntu 9.10 上安装及使用 Xilinx ISE DS 10.1 sp3 的要点
Keys about installing and using Xilinx ISE DS 10.1 sp3 at Linux platform
    Xilinx的XUPV2P是一块集成了PPC405硬核的FPGA开发板,可以做一些嵌入式方面的应用,在进行相应的开发时,需要用EDK完成硬件的设计和综合,一般情况下EDK是安装在windows下,而嵌入式Linux系统的配置,软件的开发则是采用交叉编译的方式,在使用Linux的host机上完成软件系统的开发,在系统开发的初始阶段,需要在windows和Linux系统进行反复切换,不太方便,故在Linux下安装ISE DS 10.1.03,统一硬件软件的开发平台。所使用的Linux的发行版本为Ubuntu 9.10,安装在虚拟机上,虚拟机版本为VMware 6.5.3。
    将安装以下文件:1、ISE DS 10.1。2、ISE、EDK、ChipScope和IP的sp3包。所有文件都可以从Xilinx的官方网站下载得到。
  • Xilinx_ISE_DS.iso
    10_1_03_lin.zip
    10.1_03_edk_lin.zip
    ChipScope_Pro_10_1_03_lin.zip
    ise_101_ip_update3_install.zip
  一、安装
         将Xilinx_ISE_DS.iso挂载到系统中,在/media/cdrom中双击setup(不是setup.exe),只安装ISE、EDK、ChipScope如图1。

图1
一路next,同意所有协议,安装路径为/opt/Xilinx/10.1,唯一要注意的是不更新、不安装下载器驱动,不启用WebTalk,如图2。
图2
安装完成后依次安装10_1_03_lin.zip、10.1_03_edk_lin.zip、ChipScope_Pro_10_1_03_lin.zip和ise_101_ip_update3_install.zip,需要注意的是ise_101_ip_update3_install.zip中包含了windows和linux的升级包,在linux环境下运行的是setup而非setup.exe。

二、安装运行ISE DS需要用到的软件
   使用root完成以下安装和配置
   1、重新设置sh为bash
        # dpkg-reconfigure dash,提示是否要dash时,选no。
   2、安装libdb
       # apt-get install libdb-dev
ISE要求的是4.1版本,做个连接#ln -sf libdb-4.2.so /usr/lib/libdb-4.1.so
   3、安装libXm
        # apt-get install libmotif3
   4、安装 libstdc++5
       Ubuntu9.10自带的是libstdc++6,apt-get上没有libstdc++6,从网上下一个http://download.csdn.net/source/205090,放在/usr/lib下,再做个软连接
       ln -sf /usr/lib/libstdc++.so.5.0.7 /usr/lib/libstdc++.so.5
   5、安装fxload
        fxload用来更新下载器的hex,# apt-get install fxload
   6、安装wrap编辑器
        # apt-get install rlwrap
   7、伪装gmake
        # ln -sf make /usr/bin/gmake
三、安装下载器驱动
    # cd /opt/Xilinx/10.1/common/bin/lin
    # ./setup_pcusb
    安装的过程中检查/etc/hotplug/usb下是否已有相关的文件,若无则会把下载器有关的hex文件复制到/etc/hotplug/usb下。
    为下载器新建一个udev设备,在/etc/udev/rules.d下新建udev文件xusbdfw.rules,其内容如下

[cpp:showcolumns] view plaincopy

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150


  • SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0008", MODE="666"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusbdfwu.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xup.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_emb.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xlp.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xp2.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xse.hex -D $tempnode"
  • SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", MODE="666"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusbdfwu.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xup.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_emb.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xlp.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0013", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xp2.hex -D $tempnode"
  • BUS=="usb", ACTION=="add", SYSFS{idVendor}=="03fd", SYSFS{idProduct}=="0015", RUN+="/sbin/fxload -v -t fx2 -I /etc/hotplug/usb/xusbdfwu.fw/xusb_xse.hex -D $tempnode"


之所以要把PID0008和0009都添加进去,是因为使用完下载器后,其PID可能会为0008或0009,而在初始化JTAG链时,程序是检测PID0008而不检测PID0009。重启udev,# /etc/init.d/udev restart
四、添加环境变量
    在/opt/Xilinx/10.1下新建set_env.sh,内容为

[xhtml:showcolumns] view plaincopy

·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150


  • source /opt/Xilinx/10.1/ISE/settings32.sh
  • source /opt/Xilinx/10.1/EDK/settings32.sh
  • source /opt/Xilinx/10.1/ChipScope/settings32.sh
  • export LD_LIBRARY_PATH="/usr/local/bin:$LD_LIBRARY_PATH"
  • export XIL_IMPACT_USE_LIBUSB=1
  • export DISPLAY=:0


前三项是启动ISE各组件的环境变量,LD_LIBRARY_PATH和XIL_IMPACT_USE_LIBUSB是usb下载器的环境变量,DISPLAY则是显示相关的环境变量。
    在启动ISE或EDK前要# source /opt/Xilinx/10.1/set_env.sh,之后就可直接在控制台中使用ISE和EDK的相关指令了。
五、制作ACE文件中的start address问题
    在生成ace文件时可能会遇到"Executable does not contain start address."的问题,是由于使用了非英语的语言设置造成的,当Ubuntu的语言为中文时,用powerpc-eabi-objdump -x $elffile得到的start address会被翻译成中文“起始地址”,程序报错。解决方法有二:一是将ubuntu的语言改为英语,二是在相应的.opt文件中加上“-start_address <地址值>”。
六、参考了以下**
http://www.aclevername.com/articles/linux-xilinx-tutorial/edk101-ubuntu810.html
http://www.openhw.org/Kevin/blog/09-12/182442_78a0f.html
七、英文(for international guest)
    Keys about installing and using Xilinx ISE DS 10.1 at Linux platform, my linux distro is Ubuntu 9.10, which is installed in a virtual machine. my host system is windows 7, using VMWare 6.5.3.
    Prepare those install package: 1. ISE Design Suite 10.1 DVD, 2. the service pack 3 of ISE, EDK, ChipScope, IP Cores. You can download them from Xilinx's website. Here are their names:
Xilinx_ISE_DS.iso
10_1_03_lin.zip
10.1_03_edk_lin.zip
ChipScope_Pro_10_1_03_lin.zip
ise_101_ip_update3_install.zip

相关帖子

沙发
GoldSunMonkey| | 2012-10-10 20:59 | 只看该作者
谢谢分享。我刚刚在CentOS上装完。哈哈。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

336

帖子

1

粉丝