fupsrl

08 – High-Level Control, Simulink, and XCP Direction

1 min read Updated 16 July 2026

RT-STACK can be paired with a Raspberry Pi or another suitable Linux single-board computer for high-level control. This is a supervisory architecture: the companion adds flexibility, but the STM32 remains the owner of time-critical trigger, injection and ignition execution.

Good work for the companion layer

  • Graphical control development and high-level state machines.
  • Data logging, dashboards, diagnostics and UI.
  • Non-critical estimators and parameter management.
  • Network or host-tool integration.
  • Measurement and calibration workflow integration after the real-time interface is defined.

Real-time boundary rules

  • Do not use Linux scheduling as the only guarantee for coil or injector timing.
  • Define update rate, command units, scaling, validity and timeout for every interface.
  • Decide what the STM32 must do if the companion, CAN link or application stops.
  • Validate the whole chain under load and with deliberate fault injection.

FUPSRL companion projects

The CM-STACK Simulink Compiler can build generic-Linux applications and calibration artefacts, while INCAZ provides a lightweight measurement, calibration and flash-oriented client. These are useful building blocks for an RT-STACK workflow, but their integration is an engineering task and not a claim that the current STM32 firmware already exposes a turnkey XCP endpoint.

  1. First prove the STM32 firmware and CAN status on the bench.
  2. Specify the supervisory protocol and safe fallback behaviour.
  3. Connect the SBC with passive or simulated outputs.
  4. Add XCP/calibration only after units, memory ownership and recovery behaviour are defined.

Suggested illustration: STM32 real-time core linked by CAN/Ethernet to an SBC running Simulink-generated strategy and calibration tooling.