Any chance I can get the Board Test System to work on Linux? (edit: yes.)
I started it using "java -jar bts.jar" but I get the "java.lang.Exception: java.lang.Exception: No USB Blaster detected." error.
$ jtagconfig
1) USB-Blaster
025040DD EP2AGX260
Quartus version set up by environment variables is the same version of Board Test System. I'm able to use all Quartus tools from the command line with the current setup (Quartus, Qsys, Eclipse-nios, jtagconfig, nios2-*)
Thanks!
edit:
Reading the console output we can notice Java is not able to find a library which handles the JTAG. I'm not sure if the same library can be used on Linux or if I can add the path to the library to the java.library.path. Here goes the relevant console output lines:
SEVERE: no JtagJNI in java.library.path
java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: no JtagJNI in java.library.path
I was able to find out how to add the correct directory to the library path:
java -Djava.library.path=/home/ALTERA/11.0sp1/quartus/sopc_builder/model/lib/ -jar bts.jar
But then I got this:
SEVERE: /home/ALTERA/11.0sp1/quartus/sopc_builder/model/lib/libJtagJNI.so: /home/ALTERA/11.0sp1/quartus/sopc_builder/model/lib/libJtagJNI.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: /home/ALTERA/11.0sp1/quartus/sopc_builder/model/lib/libJtagJNI.so: /home/ALTERA/11.0sp1/quartus/sopc_builder/model/lib/libJtagJNI.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
I'm running a 64bit system but I'm able to run 32bit software using the ia32-libs package. However, the Java version I'm using is 64bit and will not load a 32bit library.
$ file /usr/lib/jvm/java-7-oracle/jre/bin/java/usr/lib/jvm/java-7-oracle/jre/bin/java: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, BuildID=0x47f558a5fd950bfecb09a1c6d692967d949796d7, not stripped
I will try to install a 32bit version of java and I'll give feedback soon.
edit:
I got it working. Using the version of Java which comes with Quartus solved the problem. Here is the command which worked:
$QUARTUS_ROOTDIR/linux/jre/bin/java -Djava.library.path=$QUARTUS_ROOTDIR/sopc_builder/model/lib/ -jar bts.jar
This worked for Quartus 11.0sp1 running on Ubuntu 12.04 with the Arria II GX development kit 6G edition.
So I ended up answering my own question and it was quite fast, but I hope it can useful for other people.