I've got my new shiny Zedboard and am working my way trough
ZedBoard_CTT_v14.3_121017.pdf to test it out and learn the tools.
At the very last step (Section 2.1.3, step 17, "Click Run") when I want
to run the minimal Hello_world application SDK crashes with this error
message
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fef1d91524d, pid=482, tid=140664917231360
#
# JRE version: 6.0_21-b06
# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b16 mixed mode
# linux-amd64 )
# Problematic frame:
# C [librxtxSerial.so+0x724d] read_byte_array+0x3d
I have for some time suspected it could have something with USB-JTAG
connection to do since many other have had problems with this when using
Linux as a host (I my case Ubuntu 12.04 64-bit). But as shown further
down impact seems to work.
These are the steps I have taken from the beginning:
1. Set bash as the default shell (Ubuntu uses dash as default, which
causes some part of the installation to silently fail)
2. Launcing the xsetup application to install the Xilinx tools
(Xilinx_ISE_DS_Lin_14.4_P.49d.3.0)
3. Chosen to install ISE Design Suite System Edition (the Web Pack gives
XPS license problems)
4. I do _not_ put a hatch for installing the cable driver, it fails to
compile during the installation.
5. After the installation has finished I source
/opt/Xilinx/14.4/ISE_DS/settings64.sh to set up the environment
6. I downloaded the (user space replacement ?) usb-driver, compiled it
and ran the set_pcusb script.
7. I copied the library libusb-driver.so to
/opt/Xilinx/14.4/ISE_DS/common/lib/lin64/
8. And set the environment variable
$ export LD_PRELOAD=/opt/Xilinx/14.4/ISE_DS/common/lib/lin64/libusb-driver.so
9. I run the install_digilent.sh script in
/opt/Xilinx/14.4/ISE_DS/ISE/bin/lin64/digilent/ and accepted all default
options
10. And finally reloaded the udev rules
$ sudo udevadm control --reload-rules
The usb part on linux seems to recognize the USB devices on the Zedboard
$ lsusb
Bus 002 Device 003: ID 0403:6014 Future Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC
Bus 007 Device 002: ID 04b4:0008 Cypress Semiconductor Corp.
This also works:
$ /usr/local/bin/djtgcfg enum
Found 1 device(s)
Device: Zed
Product Name: Digilent Zed
User Name: Zed
Serial Number: 210248450909
And even impact seems to be working. This is some of the impact console
output when launched.
GUI --- Auto connect to cable...
// *** BATCH CMD : setCable -port auto
INFO:iMPACT - Digilent Plugin: Plugin Version: 2.4.4
INFO:iMPACT - Digilent Plugin: found 1 device(s).
INFO:iMPACT - Digilent Plugin: opening device: "Zed", SN:210248450909
INFO:iMPACT - Digilent Plugin: User Name: Zed
INFO:iMPACT - Digilent Plugin: Product Name: Digilent Zed
INFO:iMPACT - Digilent Plugin: Serial Number: 210248450909
INFO:iMPACT - Digilent Plugin: Product ID: 00E00153
INFO:iMPACT - Digilent Plugin: Firmware Version: 0105
INFO:iMPACT - Digilent Plugin: JTAG Port Number: 0
INFO:iMPACT - Digilent Plugin: JTAG Clock Frequency: 10000000 Hz
Attempting to identify devices in the boundary-scan chain configuration...
INFO:iMPACT - Current time: 2/8/13 5:50 PM
// *** BATCH CMD : Identify -inferir
PROGRESS_START - Starting Operation.
Identifying chain contents...'0': : Manufacturer's ID = Xilinx xc7z020, Version : 0
INFO:iMPACT:1777 -
Reading /opt/Xilinx/14.4/ISE_DS/ISE/zynq/data/xc7z020.bsd...
INFO:iMPACT - Using CseAdapterBSDevice
INFO:iMPACT:501 - '1': Added Device xc7z020 successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
'1': : Manufacturer's ID = Xilinx zynq7000_arm_dap, Version : 4
INFO:iMPACT:501 - '1': Added Device UNKNOWN successfully.
----------------------------------------------------------------------
INFO:iMPACT:1777 -
Reading /opt/Xilinx/14.4/ISE_DS/ISE/zynq/data/zynq7000_arm_dap.bsd...
INFO:iMPACT:1777 -
Reading /opt/Xilinx/14.4/ISE_DS/ISE/zynq/data/zynq7000_arm_dap.bsd...
----------------------------------------------------------------------
done.
PROGRESS_END - End Operation.
Elapsed time = 0 sec.
// *** BATCH CMD : identifyMPM
So way is SDK crashing ? Is there some other way to program and launch
applications ? Are there any steps in my list above that should be added
or modified ? Are there anyone who have got this working on Ubuntu 12.04
64-bit ?