RTOS API for bare metal
Provide partial RTOS API for bare metal builds - things that
can be done in a single threaded environment.

Allows more code to work in both RTOS and bare metal builds without
change, and in particular gives easy access to the ability to
efficiently wait for something occurring in interrupt.

Available in bare-metal:
* ThisThread
* osThreadFlagsSet to set flags on main thread (can be set from IRQ)
* EventFlags (can be set from IRQ)
* Semaphores (can be released from IRQ)
* Mutex (dummy implementation)

Not useful:
* ConditionVariable (could only be signalled from 2nd thread)
* RtosTimer (calls in a second thread context)
* Thread

Unimplemented:
* Mail, Queue, MemoryPool

Possible future work:
* ConditionVariableCS to act as IRQ signalled ConditionVariable
ls
1 parent 3816003 commit 83b329cb71d53b3f50961c647590c6bffe36da4a
@Kevin Bracey Kevin Bracey authored on 14 Mar 2019
Showing 39 changed files
View
UNITTESTS/CMakeLists.txt
View
UNITTESTS/target_h/mbed_rtos1_types.h 100644 → 0
View
UNITTESTS/target_h/mbed_rtos_storage.h 100644 → 0
View
UNITTESTS/target_h/rtos.h 100644 → 0
View
UNITTESTS/target_h/rtos/Mutex.h
View
UNITTESTS/target_h/rtos/mbed_rtos1_types.h 0 → 100644
View
UNITTESTS/target_h/rtos/mbed_rtos_storage.h 0 → 100644
View
UNITTESTS/target_h/rtos/rtos.h 0 → 100644
View
mbed.h
View
rtos/ConditionVariable.cpp
View
rtos/ConditionVariable.h
View
rtos/EventFlags.cpp
View
rtos/EventFlags.h
View
rtos/Kernel.cpp
View
rtos/Kernel.h
View
rtos/LICENSE.md
View
rtos/Mail.h
View
rtos/MemoryPool.h
View
rtos/Mutex.cpp
View
rtos/Mutex.h
View
rtos/Queue.h
View
rtos/RtosTimer.cpp
View
rtos/RtosTimer.h
View
rtos/Semaphore.cpp
View
rtos/Semaphore.h
View
rtos/TARGET_CORTEX/mbed_lib.json 0 → 100644
View
rtos/TARGET_CORTEX/mbed_rtos1_types.h 100644 → 0
View
rtos/TARGET_CORTEX/mbed_rtos_storage.h 100644 → 0
View
rtos/TARGET_CORTEX/mbed_rtx_storage.h 0 → 100644
View
rtos/ThisThread.cpp
View
rtos/ThisThread.h
View
rtos/Thread.cpp
View
rtos/Thread.h
View
rtos/mbed_lib.json
View
rtos/mbed_rtos1_types.h 0 → 100644
View
rtos/mbed_rtos_storage.h 0 → 100644
View
rtos/mbed_rtos_types.h 0 → 100644
View
rtos/rtos.h
View
rtos/rtos_handlers.h