Difference between revisions of "MicroBlaze"
imported>Pew (Replaced content with "Category:Pending deletion") |
(Undo revision 694 by [[Special:Contributions/imported>Pew|imported>Pew]] ([[User talk:imported>Pew|talk]])) (Tag: Undo) |
||
Line 1: | Line 1: | ||
− | [[Category: | + | =Setting Up Xilinx Utilities= |
+ | {{Template:Version|Xubuntu 9.10 running on a VMware player virtual machine}} | ||
+ | |||
+ | Note that some utilities such as 'impact' are capable of using the libusb driver, while others such as 'xmd' must use the libusb-driver driver. libusb-0.1.4 is installed generally by default in *ubuntu distributions and should be available (but the udev magic still has to happen for the cable to work). In this install, we specify use of the libusb-driver by adding some lines in /opt/Xilinx/11.1/settings32.sh | ||
+ | |||
+ | ==Operating System== | ||
+ | * Install Xubuntu virtual machine | ||
+ | * Update OS | ||
+ | * Reboot (to load latest kernel) | ||
+ | |||
+ | ===Re-Install VMware tools=== | ||
+ | <pre> | ||
+ | sudo apt-get install build-essential linux-headers-`uname -r` psmisc | ||
+ | </pre> | ||
+ | |||
+ | (Install VMWare tools through host menu) | ||
+ | |||
+ | Unzip tarball from /mnt/cdrom (or cdrom1) to local dir (such as ~/): | ||
+ | <pre> | ||
+ | cd ~/vmware-tools-distrib | ||
+ | sudo ./vmware-install.pl | ||
+ | </pre> | ||
+ | |||
+ | Select all default options, allow the program to launch vmware-toolbox | ||
+ | |||
+ | Add the following to /etc/rc.local (then <code>sudo chmod +x /etc/rc.local</code>): | ||
+ | <pre> | ||
+ | /usr/bin/vmware-user & | ||
+ | </pre> | ||
+ | |||
+ | Add the following to /etc/fstab: | ||
+ | <pre> | ||
+ | .host:/ /mnt/hgfs vmhgfs user,defaults 0 0 | ||
+ | </pre> | ||
+ | |||
+ | Reboot (Verify any shared folders are now mounted on /mnt/hgfs) (Verify vmware-user is running with: <code>ps ax | grep vmware</code>) | ||
+ | |||
+ | ===Supporting Libraries=== | ||
+ | Install libusb: | ||
+ | <pre> | ||
+ | sudo apt-get install libusb-0.1-4 | ||
+ | </pre> | ||
+ | |||
+ | Install fxload: | ||
+ | <pre> | ||
+ | sudo apt-get install fxload | ||
+ | </pre> | ||
+ | |||
+ | ==Xilinx Tool Installation== | ||
+ | [[Install Xilinx ISE Webpack]] (do '''not''' install cable drivers or XilinxUpdate), then run the following commands: | ||
+ | <pre> | ||
+ | sudo sed /opt/Xilinx/11.1/ISE/bin/lin/xusbdfwu.rules -e 's:TEMPNODE:tempnode:g' > /etc/udev/rules.d/xusbdfwu.rules | ||
+ | |||
+ | sudo cp /opt/Xilinx/11.1/ISE/bin/lin/xusb*.hex /usr/share/ | ||
+ | |||
+ | sudo restart udev | ||
+ | </pre> | ||
+ | **Note, for the first command you may receive a permissions error. Try the command <code>sudo su</code> to get a root shell then run the same command sans 'sudo' | ||
+ | |||
+ | * Plug in the Spartan 3E board. Apply power and attach the USB cable between the board and computer. If everything has been done successfully, a greed LED will illuminate next to the USB receptacle on the boad. If unsuccessful, the red LED will be dimly lit. | ||
+ | |||
+ | * Install the Xilinx EDK (SDK and Chipscope if required) | ||
+ | |||
+ | ===Installing libusb-driver=== | ||
+ | Install libusb-dev and git: | ||
+ | <pre> | ||
+ | sudo apt-get install libusb-dev git-core | ||
+ | </pre> | ||
+ | |||
+ | Download libusb-driver sources: | ||
+ | <pre> | ||
+ | cd ~/ | ||
+ | git clone git://git.zerfleddert.de/usb-driver | ||
+ | </pre> | ||
+ | |||
+ | Compile and install libusb driver | ||
+ | <pre> | ||
+ | cd usb-driver/ | ||
+ | make | ||
+ | make lib32 | ||
+ | sudo cp libusb-drive.so /usr/local/lib/ | ||
+ | </pre> | ||
+ | |||
+ | Create a script in /etc/profile.d/ with the following contents: | ||
+ | <pre> | ||
+ | #!/bin/bash | ||
+ | export PATH="$PATH/opt/Xilinx/EDK/bin/lin:/opt/Xilinx/11.1/EDK/gnu/microblaze/lin/bin/:/opt/Xilinx/11.1/SDK/bin/lin:/opt/Xilinx/11.1/ISE/bin/lin" | ||
+ | </pre> | ||
+ | |||
+ | Make the script executable: | ||
+ | <pre> | ||
+ | sudo chmod +x /etc/profile.d/xlilnx-settings.sh | ||
+ | </pre> | ||
+ | |||
+ | Add the following lines to /opt/Xilinx/11.1/settings32.sh just after <code>list=""</code> | ||
+ | <pre> | ||
+ | export XIL_IMPACT_USE_LIBUSB=0 | ||
+ | export LD_PRELOAD=/usr/local/lib/libusb-driver.so | ||
+ | </pre> | ||
+ | 16) Prior to launching a Xilinx tool (such as xmd), you must type the following command: | ||
+ | <pre> | ||
+ | source /opt/Xilinx/11.1/settings32.sh | ||
+ | </pre> | ||
+ | |||
+ | *Note if you wish to create a launcher in the desktop environment, use the following format for the 'command' and it will automatically source the settings32.sh before launching the application: | ||
+ | <pre> | ||
+ | /bin/bash -c 'source /opt/Xilinx/11.1/settings32.sh && ise' | ||
+ | </pre> | ||
+ | Sources and Other Contributors: | ||
+ | Via (VTLUUG member) | ||
+ | [http://forums.xilinx.com/xlnx/board/message?board.id=INSTALLBD&message.id=825 forums.xilinx.com] | ||
+ | [http://wiki.archlinux.org/index.php/Xilinx_ISE_WebPACK wiki.archlinux.org] | ||
+ | |||
+ | =Makefile Tricks= | ||
+ | ==Automatic Download== | ||
+ | This automatically downloads your program to the Spartan board after | ||
+ | building. It assumes $(NAME).elf is the file you'd like to download. | ||
+ | Note that you will probably miss warning messages regarding your code | ||
+ | so you might want to first run make normally. | ||
+ | |||
+ | <pre>dl: $(NAME).elf | ||
+ | echo 'dow $(NAME).elf' > xmd.ini | ||
+ | echo 'run' >> xmd.ini | ||
+ | xmd | ||
+ | rm xmd.ini | ||
+ | </pre> | ||
+ | When you're done, type <code>exit</code> to quit xmd. | ||
+ | |||
+ | ==Automatic Debug== | ||
+ | <pre>debug: $(NAME).elf | ||
+ | mb-gdb & | ||
+ | xmd | ||
+ | </pre> | ||
+ | When you're done, type <code>exit</code> on the command line to quit xmd. | ||
+ | |||
+ | |||
+ | =Cable Lock Workaround= | ||
+ | Sometimes you'll get an error with cable locking. Typing the following into xmd should fix this. | ||
+ | |||
+ | <pre>xclean_cablelock | ||
+ | </pre> | ||
+ | |||
+ | =9.x Native USB Driver= | ||
+ | [http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver] | ||
+ | |||
+ | [[Category:Campus_computing_resources]] | ||
+ | [[Category:Software]] | ||
+ | [[Category:Scripts]] |
Latest revision as of 22:44, 3 January 2019
Contents
Setting Up Xilinx Utilities
The following instructions were written for Xubuntu 9.10 running on a VMware player virtual machine and may not work on other platforms or versions. If you would like to see additional coverage, please add it yourself or make a request on the wiki's wanted page.
Note that some utilities such as 'impact' are capable of using the libusb driver, while others such as 'xmd' must use the libusb-driver driver. libusb-0.1.4 is installed generally by default in *ubuntu distributions and should be available (but the udev magic still has to happen for the cable to work). In this install, we specify use of the libusb-driver by adding some lines in /opt/Xilinx/11.1/settings32.sh
Operating System
- Install Xubuntu virtual machine
- Update OS
- Reboot (to load latest kernel)
Re-Install VMware tools
sudo apt-get install build-essential linux-headers-`uname -r` psmisc
(Install VMWare tools through host menu)
Unzip tarball from /mnt/cdrom (or cdrom1) to local dir (such as ~/):
cd ~/vmware-tools-distrib sudo ./vmware-install.pl
Select all default options, allow the program to launch vmware-toolbox
Add the following to /etc/rc.local (then sudo chmod +x /etc/rc.local
):
/usr/bin/vmware-user &
Add the following to /etc/fstab:
.host:/ /mnt/hgfs vmhgfs user,defaults 0 0
Reboot (Verify any shared folders are now mounted on /mnt/hgfs) (Verify vmware-user is running with: ps ax | grep vmware
)
Supporting Libraries
Install libusb:
sudo apt-get install libusb-0.1-4
Install fxload:
sudo apt-get install fxload
Xilinx Tool Installation
Install Xilinx ISE Webpack (do not install cable drivers or XilinxUpdate), then run the following commands:
sudo sed /opt/Xilinx/11.1/ISE/bin/lin/xusbdfwu.rules -e 's:TEMPNODE:tempnode:g' > /etc/udev/rules.d/xusbdfwu.rules sudo cp /opt/Xilinx/11.1/ISE/bin/lin/xusb*.hex /usr/share/ sudo restart udev
- Note, for the first command you may receive a permissions error. Try the command
sudo su
to get a root shell then run the same command sans 'sudo'
- Note, for the first command you may receive a permissions error. Try the command
- Plug in the Spartan 3E board. Apply power and attach the USB cable between the board and computer. If everything has been done successfully, a greed LED will illuminate next to the USB receptacle on the boad. If unsuccessful, the red LED will be dimly lit.
- Install the Xilinx EDK (SDK and Chipscope if required)
Installing libusb-driver
Install libusb-dev and git:
sudo apt-get install libusb-dev git-core
Download libusb-driver sources:
cd ~/ git clone git://git.zerfleddert.de/usb-driver
Compile and install libusb driver
cd usb-driver/ make make lib32 sudo cp libusb-drive.so /usr/local/lib/
Create a script in /etc/profile.d/ with the following contents:
#!/bin/bash export PATH="$PATH/opt/Xilinx/EDK/bin/lin:/opt/Xilinx/11.1/EDK/gnu/microblaze/lin/bin/:/opt/Xilinx/11.1/SDK/bin/lin:/opt/Xilinx/11.1/ISE/bin/lin"
Make the script executable:
sudo chmod +x /etc/profile.d/xlilnx-settings.sh
Add the following lines to /opt/Xilinx/11.1/settings32.sh just after list=""
export XIL_IMPACT_USE_LIBUSB=0 export LD_PRELOAD=/usr/local/lib/libusb-driver.so
16) Prior to launching a Xilinx tool (such as xmd), you must type the following command:
source /opt/Xilinx/11.1/settings32.sh
- Note if you wish to create a launcher in the desktop environment, use the following format for the 'command' and it will automatically source the settings32.sh before launching the application:
/bin/bash -c 'source /opt/Xilinx/11.1/settings32.sh && ise'
Sources and Other Contributors: Via (VTLUUG member) forums.xilinx.com wiki.archlinux.org
Makefile Tricks
Automatic Download
This automatically downloads your program to the Spartan board after building. It assumes $(NAME).elf is the file you'd like to download. Note that you will probably miss warning messages regarding your code so you might want to first run make normally.
dl: $(NAME).elf echo 'dow $(NAME).elf' > xmd.ini echo 'run' >> xmd.ini xmd rm xmd.ini
When you're done, type exit
to quit xmd.
Automatic Debug
debug: $(NAME).elf mb-gdb & xmd
When you're done, type exit
on the command line to quit xmd.
Cable Lock Workaround
Sometimes you'll get an error with cable locking. Typing the following into xmd should fix this.
xclean_cablelock