Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
%DASHBOARD{ section="banner" | ||||||||
Line: 6 to 6 | ||||||||
title="CMSIS-RTOS for Mecrisp-Cube" titlestyle="color:#F00000;" }% | ||||||||
Changed: | ||||||||
< < | Intro
| |||||||
> > | Intro
| |||||||
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 (and most probably not written in Forth), 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. | ||||||||
Changed: | ||||||||
< < | Contents
| |||||||
> > | Contents
| |||||||
Line: 69 to 69 | ||||||||
movs tos, 42 pop {r0-r3, pc} | ||||||||
Added: | ||||||||
> > | ||||||||
Changed: | ||||||||
< < | ||||||||
> > | ||||||||
CMSIS-RTOS API | ||||||||
Added: | ||||||||
> > |
The C function prototype for osThreadNew looks like this:
osThreadId_t osThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr); param[in] func thread function. param[in] argument pointer that is passed to the thread function as start argument. param[in] attr thread attributes; NULL: default values. return thread ID for reference by other functions or NULL in case of error.The parameter order for the Forth Word is the same: a1 is func, a2 is argument, and a3 is attr. osThreadNew ( a1 a2 a3 -- u ) Create a thread and add it to Active Threads.See also osThreadNew RTOS Support Functions | |||||||
Kernel Management Functions | ||||||||
Added: | ||||||||
> > | Kernel Information and Control | |||||||
Generic Wait Functions | ||||||||
Added: | ||||||||
> > | Generic Wait Functions | |||||||
Thread Management | ||||||||
Added: | ||||||||
> > | Thread Management | |||||||
| ||||||||
Line: 102 to 126 | ||||||||
Timer Management Functions | ||||||||
Added: | ||||||||
> > | Timer Management | |||||||
| ||||||||
Line: 110 to 135 | ||||||||
Event Flags Management Functions | ||||||||
Added: | ||||||||
> > | Event Flags | |||||||
| ||||||||
Line: 118 to 144 | ||||||||
Mutex Management Functions | ||||||||
Added: | ||||||||
> > | Mutex Management | |||||||
| ||||||||
Line: 125 to 152 | ||||||||
Semaphore Management Functions | ||||||||
Added: | ||||||||
> > | Semaphores | |||||||
| ||||||||
Line: 132 to 160 | ||||||||
Message Queue Management Functions | ||||||||
Added: | ||||||||
> > | Message Queue | |||||||
|