Please enable JavaScript to view this site.

winIDEA Help

Version: 9.21.243

Debug i.MX 8QuadMax M4 Processor

In this topic:

Requirements

Preparing an SD card with provided boot images

Using boot image where all application cores are booted

Using boot image where only M4_0 core is booted

 

 

Introduction

This topic describes how to debug i.MX 8QuadMax M4 Processor cores using boot image where all application cores are booted and using boot image where only M4_0 core is booted.

 

Beside application cores, NXP i.MX 8 devices feature two dedicated controller cores:

System controller (SCU) and

Security controller (SECO)

 

After reset only controller cores are started while the application cores remain in reset. Proper powering and configuring of both controller cores will initialize booting of the application cores. Both controller cores ROMs and firmwares facilitate the booting of the application cores. While the internal ROM code (typically) cannot be altered, the firmware can be adjusted to the target board requirements.

 

Requirements

winIDEA 9.21.17 or newer

BlueBox iC5700, iC5000

CoreSight Debug Adapter

Boot medium (e.g. SD card) with a boot image to boot up the cores

 

 

Preparing an SD card with provided boot images

i-icon

To create a boot image tailored to your custom board contact Technical support and provide SECO and SCU Firmware.

 

The SD card must be programmed with the appropriate boot image that boots at least one application core. To program SD card with Linux use the following command:

sudo dd if=<path_to_image> of=<path_to_SD_card_device> bs=1M

 

path_to_image: Path to binary image.

path_to_SD_card_device: Path to SD card device enumerated in Linux, usually something like /dev/sdd.

 

Warning_orange

This is not a path to the partition, but to the device.

 

Example of such image is provided with NXP i.MX 8QuadMax winIDEA example:

imx8qm_nxpmek_minimal_RAM_A53_M4.bin

 

This provided image:

Is tailored to be used with NXP i.MX 8QuadMax Multisensory Enablement Kit (MEK) board.

Boots A53_0, M4_0 and M4_1 application cores with branch-to-itself instructions.

 

 

Configuration

winIDEA configuration differs for specific use cases. Two most common use cases are described:

Using boot image where all application cores are booted

Using boot image where only M4_0 core is booted

 

 

Using boot image where all application cores are booted

number1

Download the application(s) via winIDEA (which downloads directly to RAM).

number2

Open the primary winIDEA which will connect to the A53_0 core.

number3

Press Run in this instance of winIDEA.

Number4

Open Debug / Core M4_0 to connect to the M4_0 core.

Number5

Perform Reset / Download in the second instance of winIDEA.

 

 

Using boot image where only M4_0 core is booted

Warning_orange

It is recommended to use an image that boots all cores, because it provides a better user experience.

 

number1

Open the primary winIDEA.

number2

Configure the initialization via the Hardware / CPU Options / Reset / Initialization before Programming / Initialize / arrow button / Parameters for iMX8.

number3

Configure parameters.

g_waitM4_0 set to 1

g_waitM4_1 set to 0

 

Number4

Configure options in Hardware / CPU Options / Cores / M4_0.

Debug entry type: Catch

Preset PC after stopped in init: Preset to Entry Point

 

Number5

Perform Download or Attach in the primary winIDEA to connect to the Cortex-A35 core.

number6

Open Debug / Core M4_0 to connect to the M4_0 core.

number7

Perform Reset / Download in the second instance of winIDEA.

Copyright © 2024 TASKING Germany GmbH