STM Runtime.
Overview: STM is a co-operative, non-preemptive, static scheduling framework for real-time systems. The STM runtime is a library that executes a schedule produced offline by the STM compiler, enforcing data dependency ordering and control flow ordering across engines on a Tegra SoC.
STM Manager: Manager correspond to a single process controlling schedule execution. Manager is expected to launch and connect with Master before any Client connect to Master.
STM Master: Alongside STM clients, STM master expects a Manager process to connect with it. STM Manager will block at the call to stmScheduleManagerInit() until the STM master process has been launched.
Definition in file stm_manager.h.
Go to the source code of this file.
Functions | |
STM_API stmErrorCode_t | stmScheduleManagerExit (void) |
Cleans up STM schedule Manager context. No STM APIs can be called after this. More... | |
STM_API stmErrorCode_t | stmScheduleManagerInit (const char *scheduleManagerName) |
Initialize STM schedule manager context. More... | |
STM_API stmErrorCode_t | stmScheduleManagerInitWithDiscriminator (const char *scheduleManagerName, int32_t discriminator) |
Initialize STM schedule manager context with a discriminator. More... | |
STM_API stmErrorCode_t | stmStartSchedule (uint16_t scheduleId) |
Schedule Management API for starting Schedule Execution. More... | |
STM_API stmErrorCode_t | stmStopSchedule (uint16_t scheduleId) |
Schedule Management API for stopping Schedule Execution. More... | |
STM_API stmErrorCode_t stmScheduleManagerExit | ( | void | ) |
Cleans up STM schedule Manager context. No STM APIs can be called after this.
STM_API stmErrorCode_t stmScheduleManagerInit | ( | const char * | scheduleManagerName | ) |
Initialize STM schedule manager context.
STM_API stmErrorCode_t stmScheduleManagerInitWithDiscriminator | ( | const char * | scheduleManagerName, |
int32_t | discriminator | ||
) |
Initialize STM schedule manager context with a discriminator.
discriminator
is started. Manager's context should be cleaned up with stmScheduleManagerExit() after STM has completed its execution. Manager must call at most one of the two: stmScheduleManagerInit() or stmScheduleManagerInitWithDiscriminator(), if both are called single or multiple times, it will cause undefined behavior. There is only one schedule manager in the system. All negative values of discriminator
are equivalent and the same as calling stmScheduleManagerInit() STM_API stmErrorCode_t stmStartSchedule | ( | uint16_t | scheduleId | ) |
Schedule Management API for starting Schedule Execution.
STM_API stmErrorCode_t stmStopSchedule | ( | uint16_t | scheduleId | ) |
Schedule Management API for stopping Schedule Execution.