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