Change Note 2025-11-15

More NXP: MCX-N947

NXP MCUs (MCX-A346 & MCX-N947)

General

As a general remark, NXP does have capable MCUs, no question. But while the “silicon” is good, the documentation is not. The reference manuals, of crucial importance to get an MCU up and running from the bare metal without SDK, are not consistent, are incomplete, and contain plainly wrong information. This renders the creation of a framework a rather arduous task.

Status

There is now basic support for both the MCX-A346 and MCX-N947:

  • both kernels v1 and v4 are functional
  • runtime error handling with stack traces
  • GPIO
  • serial terminal text output

plus all the bare basics to get off the ground, such as clocks, start-up resets, dynamic memory allocation, module Main.

The implemented example and test programs serve to test the above functionality.

However…

However, I am not sure I want to invest all these efforts “re-engineering” the facts expected in the documentation from the silicon reality.

Library lib/v3.0

  • All current modules for the MCX MCUs are inside their respective directories in the repository.
  • No changes to the RPx modules.
  • There are few “insights” I plan to backport to the RPx modules.

Configuration Files

  • The Astrobe config files for both NXP MCUs are inside the (Astrobe for) RP2350 directory for lib/v3.0.

Example and Test Programs for MCX-x

  • SignalSync and Stacktrace for kernel-v1
  • K4base and K4sema for kernel-v4

Debugging and Flashing

  • SEGGER’s J-Link probes and Ozone debugger have been a great help: when the CPU is halted – including right after reset – all registers, including of the peripheral on-chip devices, can easily be inspected. Ozone can be set up with SVD configuration files for this purpose.

This Website

  • Fixed links in the example program modules for all library and example versions.
  • Still no reference to the NXP MCUs as of now.
  • The documentation of kernel-v4 still needs improvement (I know…).
Updated: 2025-11-15