Init utility

Init utility is a set of internal initialization functions used to initialize AURIX memory protection and active cores.

This chapter describes multicore aspects of PXROS-HR initialization phase before the InitTask starts running. The emphasis is on the description of the PXROS-HR master core strategy, the handling of MPU protection, and a startup of inactive cores. The document provides in the end a list of supportive examples available for download. This guide does not describe the startup phase like "C" environment settings and hardware platform initialization.

To initialize the PXROS-HR, the master core — _MASTER_CORE_ (usually the reset core CPU0), must first enter the PxInit() function. The other core should be in the after-reset state, which is HALT. Once a core leaves the HALT state, returning it without a debugger tool is difficult. The PxInit() function is limited to transitioning the state from HALT to RUN and cannot accommodate other core modes. This design enables synchronization, as the _MASTER_CORE_ can configure the PXROS-HR environment without interruptions from other cores and set up MPU protection for all CPUs. Once all preparations are complete, the other cores are also switched to RUN mode and the PxInit() function is invoked after the C startup.

In order to use AURIX for Function Safety application, it is necessary to conduct testing on various cores during the startup phase, which must be done before accessing PXROS-HR. To facilitate this, our installation package comes with a "utilities" folder containing the "init-utility". This utility overwrites the default function of PxInit() and allows for seamless transitioning from IDLE to RUN mode. Consequently, the _MASTER_CORE_ can enter PxInit() while the other cores remain in IDLE mode.