Skip to content

mbed OS can't sleep when uVisor is enabled #420

@Patater

Description

@Patater

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions