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


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?


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


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")
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.


Last Reviewed: Wednesday, October 21, 2020

Did this article provide the answer you needed?
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.