Please enable JavaScript to view this site.

winIDEA Help

Version: 9.21.123

Navigation: » No topics above this level «

Scroll Prev Top Next More

iSYSTEM tools on Linux

This chapter describes how to install:

 

 

Install iSYSTEM tools on Linux

 

number1

Use snap.

 

sudo snap install winidea

 

 

number2

Perform additional setup.

 

/snap/winidea/current/sbin/snap-setup

 

 

number3

Run winIDEA.

 

winidea <optional args>

 

 

Right click to copy the link address Install isystem.connect Python SDK

Python and isystem.connect SDK are part of snap. However, if you want to install the SDK into your Python virtual environment, it is available on PyPi:

 

number1

Install isystem.connect.

 

pip3 install isystem.connect

 

 

number2

Test installation.

 

python
>>> import isystem.connect as ic
>>> ic.getModuleVersion()

 

 

Troubleshooting

If you get an error:

 

ImportError: libxerces-c-3.1.so: cannot open shared object file: No such file or directory

 

it means that you have to install xerces:

 

sudo apt-get install libxerces-c3.1

 

 

Ubuntu 18.04

Since xerces 3.1 is no longer available (xerces 3.2 is distributed now), you have to download and install it manually:

 

mkdir xerces31; cd xerces31
wget http://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.1.4.tar.gz
tar xvf xerces-c-3.1.4.tar.gz
cd xerces-c-3.1.4
./configure
make
sudo make install
cd ~/bin/embeddedPy/lib64/python3.6/site-packages/isystem  # dir with your venv
ln -s /usr/local/lib/libxerces-c-3.1.so

 

 

Right click to copy the link address Install isystem.connect Java SDK

Download and unzip Java SDK from iSYSTEM web page, menu Downloads. The zip file contains documentation, sample project and libraries (jar file, DLL for Windows and SO for Linux). Copy files in lib directory to your application, add jar file to classpath, and load native library with the following code:

 

/**
* Returns directory of jar file containing this class. Native libraries (dll, so)
* are expected in this directory.
*/
private static String getJarFileDir() throws URISyntaxException {
   Path jarPath = Paths.get(CDebugFacade.class.getProtectionDomain().getCodeSource().getLocation().toURI());
   return jarPath.getParent().toAbsolutePath().toString();
}
public static void main(String[] args) throws Exception
{
   String os = System.getProperty("os.name", "generic").toLowerCase(Locale.ENGLISH);
   boolean isWindows = os.startsWith("windows");
   String architecture = System.getProperty("sun.arch.data.model");
   String libraryName = getJarFileDir();
   if (architecture.equals("64")) {
       if (isWindows) {
           libraryName += "/IConnectJNIx64.dll";
       } else {
           libraryName += "/libiconnectJava.so";
       }
   } else if (architecture.equals("32")) {
       if (isWindows) {
           libraryName = "/IConnectJNI.dll";
       } else {
           throw new IllegalStateException("32 Linux is currently not supported. Please contact iSYSTEM for more info.");
       }
   } else {
       throw new IllegalStateException("Unknown 32/64 bit architecture:" + architecture);
   }
   try {
       System.out.println("java.library.path = " + System.getProperty("java.library.path"));
       System.out.println("Loading native library: " + libraryName);
       System.load(libraryName);
   } catch (Throwable thr) {
       System.err.println("Error loading library: " + libraryName);
       System.err.println("Error: " + thr.toString());
       thr.printStackTrace();
       return;
   }
   System.out.println("isystem.connect demo for Java version: " +
                      si.isystem.connect.connectJNI.getModuleVersion());
}

 

 

Right click to copy the link address Install iSYSTEM Eclipse Debug plugin

Use normal Eclipse plug-in installation procedure. URL of the update page can be found on iSYSTEM web page.

 
Additional system configuration

Wine sets winebrowser as default application for XML files, which can not show testIDEA reports properly. Use Dolphin to configure Firefox as the default application for XML files, as shown on images below:

 

Click to open

1. Right-click XML file.

2. Select Other in the menu.

makeFFdeafultForXML

3. Select Firefox and the checkbox at the bottom.

4. Click OK.

 

 

Right click to copy the link address Troubleshooting

Communication with BlueBox via USB

 

1. Folder with winIDEA executable (winIDEA.exe) must be in environment variable WINEDLLPATH (this variable is normally set in script winidea.sh which is created during installation). Example of manual run:

 

cd <winIDEA-install-dir>
export WINEDLLPATH=\`pwd\` # Use backquotes!

 

 

2. Udev rules must be set to have access to iSYSTEM USB devices. Make sure the installation script generated file /etc/udev/rules.d/isystem-itag.rules with contents:

 

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="06f9", OWNER="<yourUserName>"

 
Then detach/attach iSYSTEM device, so that the rule gets applied. If it still does not work, try to restart copmuter.

 

3. If you run winIDEA as:

 

cd <winIDEA-install-dir>
 ./winidea.sh

 
and the message Permission denied appears in console, something in the previous step was wrong (do not forget to write the right user name).

 

4. Enable logging by defining env. var. ISYSTEM_LIBUSB_LOGGING:

 

export ISYSTEM_LIBUSB_LOGGING=1

 

In the folder where winIDEA was started you'll find file usb.log. Please send it to iSYSTEM support.

 

5. If there is no Communication page in the Hardware dialog, then icusbcomm.dll.so was not found. Please check presence of the library in winIDEA folder and setting of WINEDLLPATH (see above for details).

 

6. In winIDEA menu open Hardware / Hardware / Communication and select your iSYSTEM device in USB combo box. If iSYSTEM device is turned on and attached to your computer, but it does not show up in drop-down list, them most likely udev rules are not set properly. First make sure that the device is recognized by the system:

 

lsusb

 

If you can see the device in this output, but not in winIDEA, check udev rules as described above, and read on.
 

 

 
Notes on device ownership management
Dynamic device management is done by udev.

 
In a nutshell: Create a file "/etc/udev/rules.d/isystem-usb.rules". The name is arbitrary, because nothing will override this setting), but the extension 'rules' is mandatory. File contents:

 

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="06f9", OWNER="<userName>"

 
Explanation

All items must be on a single line. '==' means that attribute sent by the kernel to udev must match the value, '=' means the key is set to a value. In our case, when device is 'add'-ed to the subsystem 'usb' and vendor and id match the given values, owner of the device is set to the given user name. If we need a node in the /dev folder, we can also specify a name:

 

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="06f9", ATTR{idProduct}=="d001", OWNER="<userName>", NAME="iTagSTM32"

 

However, the owner of the original node in /dev/bus/usb is not changed. The device must be unplugged/plugged into system for the rule to get applied - no system restart is needed.

 

 

Right click to copy the link address Starting winIDEA with isystem.connect

1. For communication bewteen isystem.connect application and winIDEA, TCP/IP is used on Linux. Make sure that isystem.connect over TCP/IP is enabled in winIDEA, menu Tools/Options/isystem.connect.

 

2. Some functions in isystem.connect (for example ConnectionMgr::connectMRU() ) start winIDEA if no running instance is found. To locate most recently run winIDEA location, it reads winIDEAVersion.log, which is located in Wine user's home

 

directory.

 

By default this location is /home/<username>/.wine/drive_c/users/<userName>/Application Data, but it may be changed by WINEPREFIX or Wine configuration. While isystem.connect tries to do its best to find this location, it may not

succeed in all cases.

 

 

If there are problems starting winIDEA, try do define environment variable ISYSTEM_APPDATA, to point to Wine's Application Data directory, for example:

 

ISYSTEM_APPDATA=/home/myusername/.wine/drive_c/users/myusername/Application\ Data

 
 

Right click to copy the link address Starting winIDEA with specific workspace file

info-icon

This section does not apply to starting winIDEA from isystem.connect. Linux paths work there.

 

winIDEA can be started by specifying workspace in command line, for example:

 

$ winidea SampleSTM32.xjrf

 

 

If the specified workspace is not opened, check the following:

  • older versions (before 9.17.17, Nov. 2017) have bug in winidea.sh. The line which starts winIDEA should contain "$@", for example:

 

wine <path to winIDEA exe>/winIDEA.exe "$@"

 

  • Relative workspace path should work as expected. However, absolute workspace paths must be given in Windows path format, for example:

 

$ winidea Z:/home/me/proj/Sample.xjrf

 

Workspace specified with Linux absolute path will not be found:

 

$ winidea /home/me/proj/Sample.xjrf   # WILL NOT WORK!

Copyright© iSYSTEM AG Carl-Zeiss-Str.1 85247 Schwabhausen Germany