Difference between revisions of "OpenOCD"

From SEGGER Wiki
Jump to: navigation, search
(Support)
(Using J-Link with OpenOCD)
Line 5: Line 5:
   
 
= Using J-Link with OpenOCD =
 
= Using J-Link with OpenOCD =
In general, it is possible to use J-Link with OpenOCD. OpenOCD handles J-Link as a dumb JTAG/SWD/... probe and only uses the very low level logic to output JTAG/SWD/... sequences. It does not make use of any high level logic etc. and therefore is much slower than the proprietary SEGGER J-Link DLL / GDBServer / ... implementation. In order to use J-Link with OpenOCD the standard J-Link USB driver must be replaced with the WinUSB driver, using 3rd party utilities. There are lots of walkthroughs available on the internet.
+
In general, it is possible to use J-Link with OpenOCD. OpenOCD handles J-Link as a dumb JTAG/SWD/... probe and only uses the very low level logic to output JTAG/SWD/... sequences. It does not make use of any high level logic etc. and therefore is much slower than the proprietary SEGGER J-Link DLL / GDBServer / ... implementation.
   
  +
== Switching the USB driver to OpenOCD ==
'''Note:''' Once the J-Link USB driver has been replaced, no SEGGER software from the J-Link software package will be able to communicate with J-Link anymore. To use SEGGER J-Link software again, the USB driver needs to be switched back to its default.
 
  +
In order to use J-Link with OpenOCD the standard J-Link USB driver must be replaced with the WinUSB driver, using 3rd party utilities. There are lots of walkthroughs available on the internet.
  +
  +
== Restoring the USB driver ==
  +
Once the J-Link USB driver has been replaced, no SEGGER software from the J-Link software package will be able to communicate with J-Link anymore.<br>
  +
To use SEGGER J-Link software again, the USB driver needs to be switched back to its default.<br>
  +
This can be achieved by
  +
* navigating to the J-Link software installation (by default C:\Program Files\SEGGER\JLink\)
  +
* navigating to the sub folder USBDriver\
  +
* Double clicking InstDrivers.exe
   
 
== Limitations ==
 
== Limitations ==

Revision as of 10:23, 23 March 2023

About

OpenOCD is a open and free project to support different debug probes under one "API".

Using J-Link with OpenOCD

In general, it is possible to use J-Link with OpenOCD. OpenOCD handles J-Link as a dumb JTAG/SWD/... probe and only uses the very low level logic to output JTAG/SWD/... sequences. It does not make use of any high level logic etc. and therefore is much slower than the proprietary SEGGER J-Link DLL / GDBServer / ... implementation.

Switching the USB driver to OpenOCD

In order to use J-Link with OpenOCD the standard J-Link USB driver must be replaced with the WinUSB driver, using 3rd party utilities. There are lots of walkthroughs available on the internet.

Restoring the USB driver

Once the J-Link USB driver has been replaced, no SEGGER software from the J-Link software package will be able to communicate with J-Link anymore.
To use SEGGER J-Link software again, the USB driver needs to be switched back to its default.
This can be achieved by

  • navigating to the J-Link software installation (by default C:\Program Files\SEGGER\JLink\)
  • navigating to the sub folder USBDriver\
  • Double clicking InstDrivers.exe

Limitations

There are several limitations that apply when using J-Link with OpenOCD instead of the SEGGER J-Link software:

  • Much slower than using J-Link with the SEGGER J-Link DLL
  • No RTT support
  • No HSS support
  • No unlimited flash breakpoints support
  • No support for any utilities from the SEGGER J-Link software package
  • No support from SEGGER

Support

Please understand that SEGGER does not provide any support for J-Links used with OpenOCD. The OpenOCD software is released and maintained by a 3rd party. In order to get support, we recommend to get in touch with the OpenOCD community.