NXP S32K5xx

From SEGGER Knowledge Base
Jump to navigation Jump to search

The NXP S32K5 are multicore microcontrollers.

Supported devices

Refer to the supported device list for a full list of all supported S32K5 family devices, their corresponding names and connection diagrams.

Target interfaces

Interface J-Link support Flasher support
SWD YES.png YES.png
JTAG YES.png YES.png

Flash Banks

Flash bank Base address J-Link support Flasher support Loader
Name Bank size
MRAM 0x08000000 YES.png YES.png Default 32 MB
XSPI [1] 0x81000000 NO.png NO.png - -
  1. QSPI flash programming requires special handling compared to internal flash. For more information about this, please see the QSPI Flash Programming Support article.

Watchdog Handling

  • The device has a watchdog LPE_SWT.
  • The watchdog can be configured in normal or window mode.
    • If it is configured in normal mode, the watchdog is fed during flash programming.
    • If it is configured in window mode, the watchdog is fed during flash programming.

Multi-Core Support

Before proceeding with this article, please check out the generic article regarding Multi-Core debugging here.
The S32K5 family comes with a variety of multi-core options.

Core J-Link Support
Cortex-M4 YES.png
Cortex-M7_0 YES.png
Cortex-M7_1 YES.png
Cortex-M7_2 YES.png
Cortex-M7_3 YES.png
Cortex-R52_0 YES.png
Cortex-R52_1 YES.png

Below, the debug-related multi-core behavior of the J-Link is described for each core:

Main core (Cortex-M4)

Init/Setup

  • Enables debugging

Reset

  • Device-specific reset is performed using the Peripheral Reset LP Core register

Secondary cores (Cortex-M7)

Init/Setup

  • Enables debugging
  • Initializes HyperRAM during InitTarget() phase.

Reset

  • The device uses normal Cortex-M reset, no special handling necessary, like described here.

Secondary cores (Cortex-R52)

Init/Setup

  • Enables debugging

Reset

  • No reset is performed.
  • A generic reset of this core is currently not supported by J-Link. This means that a core reset is not performed when issued by a debugger (e.g. SEGGER Ozone).
    If a reset of this core is required, this needs to be implemented via a customized ResetTarget() J-Link script file function.
    If you are interested in a customized ResetTarget() implemented by SEGGER, please get in touch with us directly: https://www.segger.com/support/technical-support/.

Evaluation boards

Example application

Tracing on NXP S32K566

This section describes how to get started with trace on the NXP S32K566 MCUs. This section assumes that there is already a basic knowledge about trace in general (what is trace, what different implementations of trace are there, etc.). If this is not the case, we recommend to read Trace chapter in the J-Link User Manual (UM08001).

Note:

Some of the examples are shipped with a compiled .JLinkScriptfile (extension .pex), should you need the original source, please get in touch with SEGGER directly via our support system: https://www.segger.com/ticket/.

To create your own .JLinkScriptfile you can use the following guide as reference: How_to_configure_JLinkScript_files_to_enable_tracing

Minimum requirements

In order to use trace on the NXP S32K566 MCU devices, the following minimum requirements have to be met:

  • J-Link software version V9.40 or later
  • Ozone V3.40h or later (if streaming trace and / or the sample project from below shall be used)
  • J-Trace PRO version V3.0 or later for streaming (off-chip) trace
  • J-Link Plus V12 or later for buffer (on-chip) trace

To rebuild the project our IDE Embedded Studio can be used. The recommended version to rebuild the projects is V8.24. But the examples are all prebuild and work out-of-the box with Ozone, so rebuilding is not necessary.

Cortex-M4

The project below has been tested with the minimum requirements mentioned above and a .

Streaming trace

Open the *_TracePins.jdebug project contained in the example project in Ozone.

Trace buffer

Open the *_TraceBuffer.jdebug project contained in the example project in Ozone.

Cortex-M7_0

The project below has been tested with the minimum requirements mentioned above and a .

Streaming trace

Open the *_TracePins.jdebug project contained in the example project in Ozone.

Trace buffer

Open the *_TraceBuffer.jdebug project contained in the example project in Ozone.

Cortex-M7_1

The project below has been tested with the minimum requirements mentioned above and a .

Streaming trace

Open the *_TracePins.jdebug project contained in the example project in Ozone.

Trace buffer

Open the *_TraceBuffer.jdebug project contained in the example project in Ozone.

Cortex-M7_2

The project below has been tested with the minimum requirements mentioned above and a .

Streaming trace

Open the *_TracePins.jdebug project contained in the example project in Ozone.

Trace buffer

Open the *_TraceBuffer.jdebug project contained in the example project in Ozone.

Cortex-M7_3

The project below has been tested with the minimum requirements mentioned above and a .

Streaming trace

Open the *_TracePins.jdebug project contained in the example project in Ozone.

Trace buffer

Open the *_TraceBuffer.jdebug project contained in the example project in Ozone.

Cortex-R52_0

The project below has been tested with the minimum requirements mentioned above and a .

Streaming trace

Open the *_TracePins.jdebug project contained in the example project in Ozone.

Trace buffer

Open the *_TraceBuffer.jdebug project contained in the example project in Ozone.

Cortex-R52_1

The project below has been tested with the minimum requirements mentioned above and a .

Streaming trace

Open the *_TracePins.jdebug project contained in the example project in Ozone.

Trace buffer

Open the *_TraceBuffer.jdebug project contained in the example project in Ozone.