Troubleshooting
In this topic:
•Alternative winIDEA installation method
•Communication with BlueBox via USB
•Notes on device ownership management
•Starting winIDEA with winIDEA SDK
•Starting winIDEA with specific workspace file
Use this installation procedure only when specified by support. |
Install Wine. |
If you want to use USB for communitacion with BluBox instead of TCP/IP, you have to install Wine from WineHQ repositories. If Wine from official Ubuntu repositories is used, winIDEA crashes in the middle of download via USB.
You can find instructions on the Wine official site.
Create folder <winIDEA-install-dir>, where winIDEA will be installed. |
It is recommended to install it under ~/bin.
Do not unpack it into WINEPREFIX directory, because SDKs expect absolute directories, not Wine relative directories.
mkdir -p <winIDEA-install-dir> |
Example:
mkdir -p ~/bin/winIDEA_ver && cd ~/bin/winIDEA_ver |
Download and run winIDEA installation script. |
wget https://www.isystem.com/downloads/winIDEA/setup/installWinIDEA.sh && chmod +x installWinIDEA.sh |
This script downloads the latest verified build of winIDEA. To download some other version, edit it and change version in variable WINIDEA_DISTRO.
Run installer. |
sudo ./installWinIDEA.sh |
The script will ask you some questions to get information needed to customize installation.
Run winIDEA. |
If you've created link during installation in /usr/local/bin folder, type:
winidea |
Otherwise:
<winIDEA-install-dir>/winidea.sh |
By default, proportional font is selected in winIDEA Editor. Right click in winIDEA Editor, select Options / General / Select Font... Choose monospace font (e.g. Ubuntu Mono). Use Ctrl + mouse wheel to change font size on the fly. |
cd <winIDEA-install-dir> |
2. Udev rules must be set to have access to TASKING 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 TASKING 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> |
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 |
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.
1. For communication between winIDEA SDK application and winIDEA, TCP/IP is used on Linux. Make sure that winIDEA SDK over TCP/IP is enabled in winIDEA, menu Tools / Options / winIDEA SDK.
2. Some functions in winIDEA SDK (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 winIDEA SDK 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 |
Starting winIDEA with specific workspace file
This section does not apply to starting winIDEA from winIDEA SDK. 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! |