|
Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
OS Abstraction Layer - Real-time platform configuration service (ADR-035). More...
Go to the source code of this file.
Functions | |
| rte_status_t | rte_platform_realtime_init (uint32_t rt_priority) |
| Applies the registered OSAdapter's real-time platform configuration for the calling process/thread. Call once at process startup, after the OSAdapter is registered and before any rte_timer_* / rte_task_* thread is created. | |
OS Abstraction Layer - Real-time platform configuration service (ADR-035).
A one-shot startup hook for the platform-level execution characteristics a cyclic safety application needs in place before it creates any timer/task threads: locking process memory resident so later execution is free of demand-paging jitter, and raising the calling thread to a real-time scheduling policy/priority. What that means concretely is entirely osadapter-defined (a PREEMPT_RT Linux OSAdapter uses mlockall()/SCHED_FIFO; a bare-metal OSAdapter may do nothing at all) - this header is only the osadapter-agnostic seam, so application startup code never has to name a concrete OSAdapter to ask for it (ADR-005).
REQ-OAL-PLATFORM-001: rte_platform_realtime_init() is best-effort - a OSAdapter that cannot obtain some or all of the requested capabilities (unprivileged host, no RT scheduler, a bounded lockable-memory limit) shall still return RTE_STATUS_OK, having applied what it could; it never fails the caller's startup.
Definition in file rte_platform.h.