Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Changed: | ||||||||
< < | CMSIS-RTOS for Mecrisp-CubeWhy a Preemptive Real Time Operating System?How to Create a Thread | |||||||
> > |
CMSIS-RTOS for Mecrisp-Cube
Why a Preemptive Real Time Operating System?Forth systems traditionally make use of cooperative multitasking. It is very simple and clever. But it has its limits. If you write all your software by yourself, each software part can be cooperative. But if you want to benefit from middleware written by somebody else, you can be sure that software is not cooperative (in the context of multitasking). Forth wants to rule your system. I would like to have a Forth system that is cooperative. It should extend the system, to make it interactive and easy to use. The Forth itself is only a thread and can be used as some sort of CLI for testing purposes or could be the main part of the application. | |||||||
A very simple thread could be like this one, a boring blinker: | ||||||||
Line: 44 to 50 | ||||||||
osThreadExit is needed to exit the thread, otherwise the Forth system hangs after leaving the thread. | ||||||||
Changed: | ||||||||
< < | Now you can interactively play with the words osThreadGetId , osThreadGetState , osThreadSuspend , osThreadResume , and osThreadExit without the boring edit-compile-download-run-abort madness. | |||||||
> > | Now you can interactively play with the words osThreadGetId , osThreadGetState , osThreadSuspend , and osThreadResume without the tedious edit-compile-download-run-abort madness. | |||||||
| ||||||||
Line: 60 to 66 | ||||||||
movs tos, 42 pop {r0-r3, pc} | ||||||||
Added: | ||||||||
> > | ||||||||
-- Peter Schmid - 2020-04-07 |