Keil Logo

µVISION DEBUGGER: J-LINK/J-TRACE debug support for ARMv8m architecture


Information in this knowledgebase article applies to:

  • MDK v5.25
  • MDK v5.26 pre-release

QUESTION

I would like to debug the Cortex-M33 based target device using J-LINK/J-Trace. However, µVision 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 also provides the debug support for this architecture using J-LINK/J-Trace.

However, there is a known problem in the installer file of MDKv5.25 and MDKv5.26 pre-release. The 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. Now the µVision IDE should list the J-LINK/J-TRACE as the supported debug adapter for Arm v8m architecture based device, for e. 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 MDK releases.

MORE INFORMATION

Last Reviewed: Wednesday, July 25, 2018


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.