Segger
- embOS Real Time Operating System
Real Time Operating System
embOS is a real-time operating system for embedded applications designed
to offer the benefits of a fully fledged multitasking system at minimum
cost. The kernel is fully interruptible and so efficient that it can be
used in very time critical situations. The memory footprint in both RAM
and ROM is so small that it can be used in single-chip applications, leaving
maximum room for the user-program.
Despite its size and efficiency, embOS features the entire palette of
communication mechanisms such as mailboxes, events and different kinds
of semaphores. All tasks and communication instances can be dynamically
created, deleted and configured.
embOS is fully priority controlled : out of the tasks in READY-state,
the one with the highest priority is active. Tasks that have identical
priorities are executed "quasi-simultaneously" in round robin. If no task
is ready, embOS automatically puts the CPU in to a power-saving mode in
the idle-task.
- affordable
- no royalties
- fast & efficient
- small footprint
- kernel is fully interruptible
- easy to use
- versatile
- fully preemptive
- task switches even in interrupt handlers
- support directly by developers
Developing applications with embOS
embOS comes with libraries for different memory models, initialization
of the controller in "C"-source, usable sample modules and a frame application
in source code form. This frame program creates 2 tasks with little functionality.
By modifying this frame application, the first steps are very easy (Experienced
programmers have the first multitask-program running in typically less
than 1 hour). All parts that might have to be adopted to the application
are provided in source code form.
Typical applications for embOS
Everything from battery-powered, single chip products to systems demanding
ultra-fast response, flexibility and multiple processes:
- Battery powered measurement instruments
- programmable machine controls
- printers
- telecommunication equipment ...
Technical info
- kernel size (ROM) 1100 - 1600 byte*
- kernel RAM usage 18 - 25 byte *
- kernel CPU usage at 1 ms Interrupts with 10MHz M16C : less than .3%
- RAM usage mailbox 9 - 15 byte *
- RAM usage binary and counting semaphore 3 byte
- RAM usage resource semaphore 4 - 5 byte *
- RAM usage timer 9 - 11 byte *
- RAM usage event 0
- Basic time unit (One Tick) Default 1 ms, can be configured, Min.
100 µs (M16C@10MHz) *
- task activation time independent of no. of tasks(e.g. typ. 12 us M16C@10MHz)
- interrupt latency time Very short, since kernel is fully interruptible
- No. of tasks : Unlimited (by available RAM only)
- No. of mailboxes : Unlimited (by available RAM only)
- No. of semaphores : Unlimited (by available RAM only)
- No. of s/w timers : Unlimited (by available RAM only)
- Max. no. of priorities : 255
- Max. no. of tasks with identical priorities (Round robin scheduling)
Unlimited
* Depends on CPU, compiler and library model used
CPU load
The following diagram illustrates the typical CPU load imposed by embOS
for the supported Mitsubishi CPUs M7700 (low end 16 bit), M16C/60 (medium
16 bit), M16C/80 (high end 16 bit) The data is based on typical clock
frequencies for these CPUs and a system time tick of one ms (1000 System
timer interrupts per second)
Profiling and API function call trace using
new embOSView V3.06
On most CPUs a profiling build of the libraries is available. In a profiling
build, embOS collects precise timing information for every task (Resolution
1 µs, Accuracy better than 2 us).
The new version 3.06 of embOS also comes with trace build libraries.
All API- and user function calls can be traced and displayed using the
new embOSView version 3.06. embOSView communicates with the kernel via
UART and displays all available information on the tasks, incl. the CPU
load. In non-profiling builds, embOSView is still able to display the
information about the system, incl. all tasks. This feature does not require
an add. debug task; all communication is done from within the Communication
Interrupt routines. This means that it is none intrusive if embOSView
is not connected and minimum intrusive while embOSView is connected.
The current version 3.06c also includes a Terminal window.
The Terminal shares the serial interface with embOSView and can be used
for serial input and output from within the user application.
EmbOS is an affordable , royalty-free solution to your kernel requirements.
Supported Processors
To view embOS supported
processors click here...
embOS Frame Program
To see an example of embOS frame
program with embOS click
here...
You can download a trial version of embOS here.




|