|
distortos
v0.7.0
object-oriented C++ RTOS for microcontrollers
|
requestFunctionExecution() implementation for ARMv6-M and ARMv7-M More...
#include "distortos/architecture/requestFunctionExecution.hpp"#include "distortos/architecture/isInInterruptContext.hpp"#include "distortos/chip/CMSIS-proxy.h"#include "ARMv6-M-ARMv7-M-StackFrame.hpp"#include "ARMv6-M-ARMv7-M-supervisorCall.hpp"#include "distortos/internal/scheduler/Scheduler.hpp"#include "distortos/internal/scheduler/getScheduler.hpp"#include "distortos/FATAL_ERROR.h"#include <cerrno>#include <cstring>Namespaces | |
| distortos | |
| Top-level namespace of distortos project. | |
| distortos::architecture | |
| Architecture-related code of distortos project. | |
Functions | |
| void | distortos::architecture::anonymous_namespace{ARMv6-M-ARMv7-M-requestFunctionExecution.cpp}::removeStackFrame (const void *const savedStackPointer) |
| Removes stack frame inserted by requestFunctionExecution() in case of interrupt -> current thread request. More... | |
| void | distortos::architecture::anonymous_namespace{ARMv6-M-ARMv7-M-requestFunctionExecution.cpp}::functionTrampoline (void(&function)(), const void *const savedStackPointer, const bool fullContext) |
| Trampoline used to execute function on new stack frame. More... | |
| int | distortos::architecture::anonymous_namespace{ARMv6-M-ARMv7-M-requestFunctionExecution.cpp}::fromInterruptToCurrentThread (internal::ThreadControlBlock &threadControlBlock, void(&function)()) |
| Handles request coming from interrupt context to execute provided function in current thread. More... | |
| int | distortos::architecture::anonymous_namespace{ARMv6-M-ARMv7-M-requestFunctionExecution.cpp}::toNonCurrentThread (internal::ThreadControlBlock &threadControlBlock, void(&function)()) |
| Handles request to execute provided function in non-current thread. More... | |
| int | distortos::architecture::requestFunctionExecution (internal::ThreadControlBlock &threadControlBlock, void(&function)()) |
| Requests execution of provided function in the specified thread. More... | |
requestFunctionExecution() implementation for ARMv6-M and ARMv7-M