Keil Logo

µVISION DEBUGGER: J-LINK/J-TRACE Debug Support for ARMv8m Architecture


Information in this knowledgebase article applies to:

  • Keil MDK version 5.25
  • Keil MDK version 5.26 pre-release

QUESTION

I would like to debug the Cortex-M33 based target device using J-LINK/J-Trace. However, µVision IDE does not offer me to select the J-LINK/J-Trace debug adapters for this architecture. Is it possible to debug this architecture-based devices using J-LINK/J-TRACE?

ANSWER

The debug support for Arm v8m architecture using J-LINK/J-TRACE was added in 2017 by Segger and thus µVision IDE also provides the debug support for this architecture using J-LINK/J-Trace.

However, there is a known problem in the installer file of Keil MDK version 5.25 and Keil MDK version 5.26 pre-release. The Keil MDK installer creates a Tools.ini file in the Keil installation directory which lists all the debug drivers and their corresponding supported architectures.

In general, the installer should handle this at the time of installation but because of this known issue, the debug driver support for Arm v8m architecture using J-LINK, J-TRACE is missing in this Tools.ini file.

To resolve this issue, open the Tools.ini file with a text editor and in the section starting with ARMADS search for the debug drivers for Arm v8m architecture and add TDRV4 to the list of supported drivers in CPUDLL3 line.

Save the file and restart µVision IDE. Now the µVision IDE should list the J-LINK/J-TRACE as the supported debug adapter for Arm v8m architecture based device, for example Cortex-M33

Tools.ini:

...
[ARMADS]
...
CPUDLL0=SARM.DLL(TDRV17,TDRV18,TDRV19)                              # Drivers for ARM7/9 devices
CPUDLL1=SARMCM3.DLL(TDRV0,TDRV1,TDRV2,TDRV3,TDRV4,TDRV5,TDRV6,...   # Drivers for Cortex-M devices
CPUDLL2=SARMCR4.DLL(TDRV4)                                          # Drivers for Cortex-R4 devices
CPUDLL3=SARMV8M.DLL(TDRV2,TDRV4,TDRV13,TDRV14,TDRV15,TDRV16)        # Drivers for ARMv8-M devices
...
TDRV0=BIN\UL2CM3.DLL("ULINK2/ME Cortex Debugger")
TDRV1=BIN\ULP2CM3.DLL("ULINK Pro Cortex Debugger")
TDRV2=BIN\ULPL2CM3.dll("ULINKplus Debugger")
TDRV3=BIN\CMSIS_AGDI.dll("CMSIS-DAP Debugger")
TDRV4=Segger\JL2CM3.dll("J-LINK / J-TRACE Cortex")
TDRV5=BIN\DbgFM.DLL("Models Cortex-M Debugger")
...

This issue will be fixed in newer Keil MDK releases.

MORE INFORMATION

Last Reviewed: Wednesday, October 21, 2020


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.