Difference between revisions of "J-Link-OB-RX621-ARM-SWD"

From SEGGER Wiki
Jump to: navigation, search
(Created page with "J-Link OB is a single chip microcontroller "on-board" version of J-Link. It is designed to be a low-cost, single chip, on-board debug solution for evaluation boards. There are...")
 
Line 1: Line 1:
 
J-Link OB is a single chip microcontroller "on-board" version of J-Link. It is designed to be a low-cost, single chip, on-board debug solution for evaluation boards. There are various J-Link-OB implementations available, which are based on different devices. This article refers to the J-Link-OB-RX621-ARM-SWD which is a J-Link-OB based on the Renesas RX621 series devices which is capable of debugging ARM based target devices like the Renesas Synergy series devices. For more information about what J-Link-OB, please refer to [https://www.segger.com/jlink-ob.html https://www.segger.com/jlink-ob.html]
 
J-Link OB is a single chip microcontroller "on-board" version of J-Link. It is designed to be a low-cost, single chip, on-board debug solution for evaluation boards. There are various J-Link-OB implementations available, which are based on different devices. This article refers to the J-Link-OB-RX621-ARM-SWD which is a J-Link-OB based on the Renesas RX621 series devices which is capable of debugging ARM based target devices like the Renesas Synergy series devices. For more information about what J-Link-OB, please refer to [https://www.segger.com/jlink-ob.html https://www.segger.com/jlink-ob.html]
   
== Limitations under Mac OS X ==
+
== Enumeration under Ubuntu running in VirtualBox fails ==
   
 
=== Problem description ===
 
=== Problem description ===
  +
Under special circumstances and with a special setup, it could happen with older bootloader versions of the J-Link-OB-RX621-ARM-SWD, that enumerating via USB in a Ubuntu environment running in VirtualBox failed and J-Link was not detected properly under Ubuntu. SEGGER has reproduced the issue with the following setup but it may also occur under other constellations as well:
There are different implementations of the J-Link-OB-SAM3U on various eval boards. '''The following only applies to implementations which incorporate VCOM support as well as MSD drag & drop programming support'''.
 
  +
* Host OS: Win7 64-bit
  +
* VirtualBox: Version 5.0.18
  +
* VirtualBox guest OS: Ubuntu 14.04 LTS
   
  +
The problem only occurred if the J-Linkk was enumerating directly inside the VirtualBox guest OS. If it initially enumerated under the host OS and was connected to the VirtualBox guest OS later on, it worked fine.
By hardware design, the Atmel SAM3U device implements 6 USB endpoints (EPs) that can be used. The following EPs are used by the J-Link firmware:
 
* J-Link component: 2 EPs
 
* VCOM: 2 EPs
 
* MSD: 2 EPs
 
Unfortunately, only 4 of the 6 EPs support USB packet sizes of up to 512 bytes. The EPs used for VCOM are the ones that do not support 512 byte packet sizes but only 64 bytes. As the J-Link-OB-SAM3U enumerates as a USB Hi-Speed device, by USB spec. all endpoints need to support packets sizes up to 512 bytes. This cannot be fulfilled on the SAM3U when using all 3 components.
 
 
While this is no problem under Windows and Linux, it is a problem under Mac OS X. OS X will not send packages on the VCOM port that are bigger than 64 bytes in size. Such packages are "swallowed" silently and only a message is output in the syslog of OS X. No errors etc. are returned on the system API level.
 
From the J-Link firmware side it is always made sure that no packets bigger than 64 bytes are sent on the VCOM port. If necessary, J-Link splits a transaction into multiple packets.
 
   
 
=== Affected Evaluation Boards ===
 
=== Affected Evaluation Boards ===
  +
This J-Link-OB model for example is used on the Renesas Synergy development kits.
The following evaluation boards are for example affected by this limitation:
 
* NordicSemi nRF51-DK
 
* NordicSemi nRF52-DK
 
   
=== Workaround 1 ===
+
=== Fix ===
  +
As the fix requires to replace the bootloader of the J-Link OB, which can result (even if very unlikely) in a unusable J-Link-OB, the fix for this is not automatically applied when a new version of the J-Link software is installed. In the following it is described how to replace the bootloader of the J-Link-OB.
If both are needed the MSD and VCOM component, please make sure that no packets bigger than 64 bytes are sent on the VCOM port, by your application.
 
   
  +
'''The following should only be done if you are affected by this problem. Please make sure that power supply to the J-Link-OB is stable. Unstable power supply during bootloader replacement can result in an unusable J-Link-OB.'''
=== Workaround 2 ===
 
If MSD and VCOM are not needed at the same time, it is possible to disable the MSD component on the J-Link, freeing 2 EPs so that these ones can be used for VCOM to support 512 byte packets. In order to disable the MSD component, please do the following:
 
* Connect the J-Link-OB to your PC
 
* Start J-Link Commander
 
* execute the following command (without quotes): "MSDDisable"
 
* Quit J-Link Commander
 
* Power-cycle J-Link-OB
 
To re-enable the MSD component, please perform the same procedure as above but use the "MSDEnable" command instead.
 

Revision as of 12:33, 3 May 2016

J-Link OB is a single chip microcontroller "on-board" version of J-Link. It is designed to be a low-cost, single chip, on-board debug solution for evaluation boards. There are various J-Link-OB implementations available, which are based on different devices. This article refers to the J-Link-OB-RX621-ARM-SWD which is a J-Link-OB based on the Renesas RX621 series devices which is capable of debugging ARM based target devices like the Renesas Synergy series devices. For more information about what J-Link-OB, please refer to https://www.segger.com/jlink-ob.html

Enumeration under Ubuntu running in VirtualBox fails

Problem description

Under special circumstances and with a special setup, it could happen with older bootloader versions of the J-Link-OB-RX621-ARM-SWD, that enumerating via USB in a Ubuntu environment running in VirtualBox failed and J-Link was not detected properly under Ubuntu. SEGGER has reproduced the issue with the following setup but it may also occur under other constellations as well:

  • Host OS: Win7 64-bit
  • VirtualBox: Version 5.0.18
  • VirtualBox guest OS: Ubuntu 14.04 LTS

The problem only occurred if the J-Linkk was enumerating directly inside the VirtualBox guest OS. If it initially enumerated under the host OS and was connected to the VirtualBox guest OS later on, it worked fine.

Affected Evaluation Boards

This J-Link-OB model for example is used on the Renesas Synergy development kits.

Fix

As the fix requires to replace the bootloader of the J-Link OB, which can result (even if very unlikely) in a unusable J-Link-OB, the fix for this is not automatically applied when a new version of the J-Link software is installed. In the following it is described how to replace the bootloader of the J-Link-OB.

The following should only be done if you are affected by this problem. Please make sure that power supply to the J-Link-OB is stable. Unstable power supply during bootloader replacement can result in an unusable J-Link-OB.