Change Note 2025-11-15
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
SignalSyncandStacktracefor kernel-v1K4baseandK4semafor 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
SVDconfiguration 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…).