JTAG Debugging Cortex‑A55 on Verdin iMX95 (Dahlia v1.1, X8 Port)

Hello Toradex Community,

I am working with the Verdin iMX95 SoC on the Dahlia v1.1 Carrier Board. I see that the board provides a 10‑pin JTAG connector (X8), and I am interested in using it for debugging the Cortex‑A55 multicore subsystem, particularly to analyze and debug the Mali‑G310 GPU peripheral and integrate with an IDE.

From the documentation, I understand that current JTAG support is focused on the Cortex‑M cores (M7/M33). Could you please clarify:

  • Whether Cortex‑A55 JTAG debugging is supported on the Verdin iMX95 via the X8 connector.

  • If GPU (Mali‑G310) debugging is possible through this interface, or if additional tools are required.

  • Recommended debugger hardware (Segger J‑Link or alternatives) and IDE/toolchain setup for Cortex‑A55 + GPU development.

  • Any limitations or roadmap for enabling full multicore debugging on the A55 cluster.

This information will help me set up a proper workflow for low‑level debugging and GPU development on the Verdin iMX95.

Thanks in advance for your guidance!

Best regards,
Hari

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I need to clarify which OS and version you’re using on your Verdin iMX95 system to provide the most accurate guidance.

Could you please specify:

  • Which OS version you’re running (e.g., Torizon OS 6, Torizon OS 7, Yocto BSP 7.2.0)?
  • Which specific Verdin iMX95 variant you’re using?

You can get this information by running the tdx-info command on your device. More details about this tool are available at: Getting Device Information with Tdx-Info | Toradex Developer Center

Regarding your JTAG debugging questions for the Verdin iMX95, the available documentation focuses primarily on Cortex-M core debugging (1)(2). The JTAG interface is described as being helpful for debugging Cortex-M cores and advanced debugging of Cortex-A cores (3)(4). However, specific information about Cortex-A55 debugging capabilities, Mali-G310 GPU debugging, and multicore debugging support for the iMX95 platform is not detailed in the current documentation.

Common platforms to consider:

  • Hardware: Verdin i.MX8M Plus, Verdin AM62, Aquila AM69, Apalis i.MX8QP, Colibri i.MX8X, Ivy Carrier Board, Ixora Carrier Board, Mallow Carrier Board, iMX95
  • OS: Yocto 7.2.0, Torizon 6.8.2, Torizon OS 6, BSP 7, BSP 6, Torizon OS 7.2.0-build.13
  • Integration: Device tree, GPIO, SPI, CAN, HDMI, display, camera, recovery mode, device driver, kernel patch, ethernet, rpmsg, LVDS

Once you provide your platform details, I can give you more targeted guidance for your specific setup.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Anyone else recommend JTAG Debug

Based on the available documentation, here are the current JTAG debugging recommendations for Toradex platforms:

Hardware Recommendations

Segger J-Link is the recommended JTAG debugger for Cortex-M debugging (1). The documentation specifically mentions using J-Link hardware from Segger for debugging purposes (1).

Supported Platforms for JTAG Debugging

The following Toradex hardware combinations support JTAG debugging:

  • Apalis iMX8 with Apalis Evaluation Board (1)
  • Colibri iMX7 and Colibri iMX8X with Colibri Evaluation Board (1)
  • Verdin iMX8M Mini and Verdin iMX8M Plus with Verdin Development Board or Dahlia carrier board (1)

JTAG Connector Locations

Different carrier boards provide JTAG access through specific connectors (1):

  • Apalis Evaluation Board: X33
  • Colibri Evaluation Board: X13
  • Verdin Development Board: X56
  • Dahlia Carrier Board: X8

Software Requirements

For JTAG debugging, you’ll need (1):

  • JLinkGDBServer from Segger’s J-Link Software and Documentation Pack
  • GDB toolchain (arm-none-eabi-gdb)
  • Appropriate SDK and toolchain setup

Important Considerations

For Verdin AM62: There are known JTAG interface limitations with certain debuggers. The JTAG interface is not compatible with debuggers featuring an open drain TRSTn output (2). This issue has been resolved in Verdin AM62 V1.2 modules (2).

For Dahlia Carrier Board: When using an external JTAG debugger, jumper JP6 should be connected to avoid conflicts with the on-board debugger (1).

To get the most appropriate recommendations for your specific setup, please specify your hardware platform and OS version.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

i would choose rather bare metal on Cortex a55 than linux

Hi @hari06!

I’m not sure whether Cortex-A55 JTAG debugging is supported through the X8 connector. I would recommend using the USB to Serial Connector (X18).

If you are not familiar with the USB to Serial Connector (X18), I recommend checking Configuring Serial Port Debug Console (Linux/U-Boot). Please note that for Cortex-M debugging, you should use /dev/ttyUSB2.

If you prefer to use JTAG for Cortex-M debugging, you may refer to Cortex-M JTAG Debugging. Although it doesn’t provide a specific step-by-step guide for the Verdin iMX95, you can use it as a starting point.

Regarding GPU debugging, what exactly would you like to debug?

Best regards.