NXP S32K144 (uGOAL)


The NXP S32K144 Board is low-cost evaluation and development board for general-purpose industrial and automotive applications from the manufacturer NXP. The device is based on the 32-bit Arm® Cortex®-M4F architecture with 64kB of RAM and 524kB of FLASH. It is capable as an application controller for the iRJ45/SoM module.

Currently the S32K144 is only compatible with uGoal.


Integrated Development Environment

The S32 Design Studio by NXP is a free Integrated Development Environment which provides several utilities to develop and debug applications for the S32K144 Board. It is available on the NXP website.

Building, Flashing and Project Generation

For compiling the example code, the GNU Arm Embedded Toolchain is required. This Toolchain is provided by the S32 Design Studio or it can be obtained in several ways. Further information can be found here: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads.

To flash the application the S32 Design Studio is needed.

We also suggest (to all Windows User) using MSYS to use our handy project generator, which creates S32 Design Studio projects out of uGOAL.

Getting Started


Hardware Requirements

Make sure following settings are set:

  • J13 - Connect “iRJ45” with “Sockel”

  • J8 - Connect “CS_SOURCE” with “PB2”

  • J7 - Connect “RST_SOURCE” with “PD7”

  • Set all DIP-Switches to “OFF”

NXP S32K144 Board

Target System

Connect both boards (see Figure above). Voltage supply is done through the VCC33_Sockel by the S32K144.

Please connect both boards with each other, before you connect them per USB to your computer.

Using delivered build system

This is an optional step for building the application from the terminal. If you want to develop using the S32 Design Studio, please skip this topic.


Within a example folder ugoal/projects/ugoal/<example name>/gcc of the software delivery, build the firmware with following commands:

make PLATFORM=s32k144

If you want to clean the build, use following command:

make PLATFORM=s32k144 clean

Using S32 Design Studio by NXP

Automated project generation

From any project folder a project generator can be run to create a S32 Design Studio project for the application. The project generator requires a python3 installation. Required dependencies are installed automatically.

If you want to create a S32 Design Studio project, run the following command:

make PLATFORM=s32k144 gen_project Please select a template - OR - press <CTRL+c> and set the GEN_PROJECT_TPL environment variable. Choose IDE: [ 1] e2studio [ 2] eclipse [ 3] mcuxpressoide [ 4] s32designstudio [ 5] stmcubeide Choice [1-5]:

For the S32K144 the template number 4 needs to be chosen.

The generated project should be imported into S32 Design Studio using “Import → Existing Projects into Workspace” and by browsing to the project folder. You might have to add a Debug Configuration. This is done by clicking the Debug Icon in the Toolbar and select “Debug Configurations…”.

The S32K144 can be debugged with the installed GDB PEMicro Interface. You only have to select the Device as shown below.

Executable: ${S32DS_ARM32_TOOLCHAIN_DIR}/bin/${arm32_cross_prefix}gdb${arm32_cross_suffix}

Using Processor Expert

The S32DS contains a tool for a simple start in configuring peripheral devices and pins of the NXP S32DS. uGOAL comes with his own configuration including SPI, UART, I2C and GPIOs.

This Page gives you an overview for the Processor Expert Tool.



The UART-interface of the S32K144 is accessable through the connected USB port. You can access the UART by launching a serial monitor like putty. Choose the following settings:



Data Bits


Stop Bits




Flow Control



After setting up the serial monitor and starting the application, the output should look like this:

Known Issues

Following you’ll find current limitations regarding the S32K144.

  • There are no known issues of this target.