ST7, COSMIC
embOS for ST7 was developed for and with COSMIC's CXST7 compiler and supports the long stacked memory model offered by this compiler. It comes with easy to use start projects for COSMIC's IdeaST7 embedded workbench. Software development with debugger or ZAP simulator is supported.
Resources and performance data
| Memory usage | |
|---|---|
| Kernel size (ROM) | approx. 2000 bytes |
| Kernel RAM usage | 27 bytes |
| RAM usage per task control block | 17 bytes |
| RAM usage per resource semaphore | 4 bytes |
| RAM usage per counting semaphore | 2 bytes |
| RAM usage per mailbox | 11 bytes |
| RAM usage per software timer | 9 bytes |
| RAM usage event | 0 bytes |
| Min. stack-size per task (RAM) | 45 bytes |
| Timing | |
| Context switch time | 208 µs |
| Interrupt latency time | 49.5 µs |
| Kernel CPU usage/TICK | less than 1% of total calculation time at 1000 Interrupts/second (1ms TICK) |
| Basic time unit (TICK) | typ. 1 ms, min. 100 µs (10 kHz interrupt frequency) |
| Features | |
| Max. no. of tasks | Unlimited (by available RAM only) |
| Max. no. of mailboxes | unlimited (by available RAM only) |
| Max. no. of semaphores (resource/binary/counting) | unlimited (by available RAM only) |
| Max. no. of software timers | unlimited (by available RAM only) |
| Max. no. of priorities | 255 |
| Stack size idle task (RAM) | 0(no memory needed) |
| Nested interrupts | not supported |
| Task switches from within ISR | possible |
Absolute timings given above were measured with embOS release build on an ST72F521 CPU running at 8MHz.
Note that task switch time depends on stack usage of a task.
embOSView offers system analysis during runtime

Release notes
Updated: 2004-12-27 [AW] V3.24b
- Tool chain used for build
- Performance
- New features
- Improvements
- Program corrections
- Known problems/limitations
- Release history
- Miscellaneous
Tool chain used for build
The following tools have been used:
Compiler: Cosmic CxST7
Assembler: Cosmic Cast7
Librarian: Cosmic Clib
Workbench: Cosmic Idea V2.9
Performance
- Task switch time (long stack model, Release build)
ST72F521: 208 us - Interrupt latency (long stack model, Release build)
ST72F521: 49.5 us
Absolute timings are based on 8 MHz internal CPU clock
Task switch time depends on actual stack usage
New features
Version 3.22a
- OS_PutMailFront() / OS_PutMailFront1
New mailbox functions to enable LIFO behavior of mailboxes. - OS_PutMailFrontCond() / OS_PutMailFrontCond1()
New conditional mailbox functions to enable LIFO behavior of mailboxes.
Version 3.20
- OS_Suspend() / OS_Resume() implemented
New functions to suspend and resume tasks unconditionally. - Fixed size memory blocks implemeted
New functions to allocate fixed size memory blocks from embOS.
Version 3.10k
- OS_GetMailTimed()
New mailbox retrieving function with timeout.
Version 3.10d
- OS_GetpCurrentTimer()
New info routine. May be used in timer callback routines to examine which timer expired. - OS_GetpCurrentTask()
New info routine. May be used to examine current running task.
Version 3.10
- Data format for communication with embOSView modified
For terminal I/O in embOSView, the data farmat was changed. Therefore embOSView V3.10 or later is required. - OS_WaitSingleEvent()
Unmasked events remain unchanged when function returns. - OS_WaitSingleEventTimed()
Unmasked events remain unchanged when function returns. Timeout for waiting can be specified.
Version 3.08
- Message Queues
Message queues enable intertask communication with messages of various size.
Improvements
NONE
Program corrections
Version 3.24b
- OS_GetTime() function corrected
OS_GetTime() implementation for ST7 CPU enabled interrupts.
This could cause malfunction of embOS software timers as a side-effect. Software timers might have been blocked even though they were retriggered.
This problem exists in all previous embOS versions for ST7 and is fixed with version 3.24b.
Version 3.10p
- GetMail functions corrected
Internal functions for retrieving mail from a mailbox did not disable interrupts. This could cause message losses, when mail was written into mailboxes from within interrupt handlers.
This problem exists in all previous embOS versions and is fixed with version 3.10p.
Known problems / limitations
Version 3.10d
- Only long stack memory model supported
- Nested interrupts not supported by embOS
Release history
| Version | Release date | Short explanation |
| V3.24b | 27. Dec 2004 | New embOS sources 3.24b, embOS timer problem fixed |
| V3.10d | 05. Aug 2002 | First release |
| V3.08 | 27. Mar 2002 | First trial release |
Miscellaneous
This document was first released with version 3.10d of the software.
Software released earlier is documented internally.
This information is available at request.
ST7, COSMIC
Head office Germany
US office 
