-
Notifications
You must be signed in to change notification settings - Fork 72
Open
Labels
Description
The RTOS idle thread runs unprivileged. It'd be nice if it, through a register level gateway or vSleep API, could put the system to sleep.
Currently, the RTOS idle thread calls mbed OS sleep, which then calls hal_sleep
, which has hundreds of implementations that do any number of things that unprivileged code can't do (leading to halts). For example, writing to the SCB->SCR
register is a nono for unprivileged code (without the register level gateway), yet many implementations do this to control how deeply they want to sleep at various points throughout the program's execution.