FreeRTOS S32Z2
This guide covers the freertos-s32z2 runtime target: FreeRTOS on the NXP
S32Z2 Cortex-R52 hardware path. This target is hardware-specific and requires
NXP-licensed SDK packages and S32 Config Tools generated output.
The detailed bring-up notes live in actuation_module/freertos_s32z2/README.md
and FreeRTOS on the ARM Automotive Kit (NXP S32Z2).
Note
freertos-s32z2 is not a local validation target. Validate FreeRTOS DDS
and controller behavior locally with FreeRTOS POSIX, then treat
freertos-s32z2 as a bench-only hardware build that needs S32Z2-specific
validation.
Prerequisites
Export the NXP package roots and the generated S32 Config Tools project before building:
$ export S32_RTD_PATH=/path/to/RTD_S32ZE_2.0.1/_jar_family/S32DS/software/PlatformSDK_S32ZE
$ export FREERTOS_PATH=/path/to/FreeRTOS_S32ZE_4.0.0/_jar/S32DS/software/PlatformSDK_S32ZE/FreeRTOS
$ export LWIP_PATH=/path/to/TCPIP_S32ZE_3.0.0/_jar/S32DS/software/PlatformSDK_S32ZE/stacks/tcpip
$ export S32CT_GENERATED_DIR=/path/to/lwip_S32Z27X_FreeRTOS_R52
If S32CT_GENERATED_DIR is not set, the build looks for the private
actuation_module/freertos_s32z2/s32ct_config submodule.
Build
$ ./build.sh --platform freertos-s32z2 -d build/freertos-s32z2 \
--dds-interface 192.168.0.105 \
--control-output DDS_ONLY
build.sh builds the host idlc, cross-builds CycloneDDS for S32Z2, and
then builds the firmware.
Output:
build/freertos-s32z2/actuation_freertos_s32z2.elf
Status
freertos-s32z2 is not part of the local validation flow. Treat it as a
hardware target that requires bench validation after build changes. The
implementation depends on NXP-generated/private inputs and hardware bring-up
state that are not exercised by the public CI jobs.