Ports

All processors can be supported.

The kernel is written in "C" and assembly language. It is very efficient and can be ported to any processor for which an ANSI compliant "C"-compiler exists. These are basically all 8, 16 and 32-bit processors. However, one certain restriction applies: There is very little sense in having a real-time operating system for a processor that has a stack-area which is too limited to hold multiple stacks, because in this case the stack would have to be copied every time a task is activated or deactivated thereby limiting the real-time capabilities of the system. This is only the case for very few older, low-end 8-bit processors. We are working on supporting the entire range of 8- and 16- bit as well as certain 32-bit Microcontrollers. If you are interested in a particular processor, please do not hesitate to contact us.

embOS since version 3.06 now includes API call trace even in the free full functional trial version

For various processors the current embOS version is available as full functional trial version and can be downloaded here. All trial versions contain a complete ready to go start project, the users manual and embOSView tool which can also be downloaded separately from our download page.
All new versions of embOS support API- and user-function call trace that can be displayed via embOSView.

Check it out and get your first multi tasking application running within five minutes!

Of course there are some limitations for the trial version: The maximum number of tasks is limited to 3. You are not allowed to use this version in a product. Customer support is not included.

An embOS trial version for each listed processor can be downloaded here

 

The following processors and compiler are currently supported by embOS:

CPU Chip Manufacturer "C"-compiler Supported memory models
ARM 7/9/XScale Various IAR Systems All
ARM 7/9/XScale Various Atollic TrueStudio All
ARM 7/9/XScale Various KEIL MDK All
ARM 7/9/XScale Various ARM Software development toolkit 2.50 All
ARM 7/9/XScale Various ARM ADS 1.2 toolkit All
ARM 7/9/XScale Various ARM RVDS 3.0 All
ARM 7/9/XScale Various GNU tools All
ARM 7/9/XScale Various Rowley All
ARM Cortex M3 Various Atollic All
ARM Cortex M3 Various IAR Systems All
ARM Cortex M3 Various KEIL MDK All
ARM Cortex M3 Various Rowley All
ARM Cortex M3 Various GNU All
ARM Cortex A8 Various GNU All
ARM Cortex M0
Various IAR All
AVR ATMEL IAR Systems Small
AVR32 UC ATMEL AVR32 Studio / GNU tools All
AVR32 UC ATMEL IAR Systems All
AVR32 AP ATMEL AVR32 Studio / GNU tools All
C16x Infineon KEIL All except TINY
Coldfire V1 Freescale Freescale Codewarrior All (Near, Far)
Coldfire Freescale Metrowerks Codewarrior All (Near, Far)
Coldfire Freescale IAR Systems All (Near, Far)
CR16C National Semiconductor IAR Medium / Large / Indexed / Non indexed
F2MC-16LX,
F2MC-16FX
FUJITSU Fujitsu All (Small, Medium, Compact, Large)
FR30 / FR50 / FR70 FUJITSU Fujitsu All
H8 / H8S RENESAS IAR Systems All (Small, Large, Huge)
H8 / H8S / H8SX RENESAS HEW All
M16C6x RENESAS IAR Systems, compiler for M16C All (Near, Far, Huge)
M16C6x RENESAS HEW All
M16C6x RENESAS Tasking All (Small, Medium, Large)
M32C & M16C80 RENESAS IAR Systems All (Near, Far, Huge)
M32C & M16C80 RENESAS Renesas NC308 ver. 540 and HEW 4 All (Near, Far)
M7700 RENESAS IAR Systems All (Small, Compact, Medium, Banked)
MSP430 & MSP430x Texas Instruments IAR Systems All, except medium data model for MSP430x
MSP430 Texas Instruments Rowley All
NIOS 2 ALTERA GNU tools All
PIC18 Microchip Microchip All
PIC24F/PIC24H,
dsPIC30F/dsPIC33F
Microchip Microchip All
PIC32 Microchip Microchip All
R32C RENESAS HEW All
R32C RENESAS IAR Systems, compiler for R32C All
R8C RENESAS HEW All
RX RENESAS HEW All
SH2 RENESAS HEW All
SH2A RENESAS HEW All
SO8 Freescale Codewarrior All
ST7 ST Microelectronics COSMIC CXST7 long stack
TLCS900 TOSHIBA TOSHIBA CC900 All
TMPZ84 TOSHIBA IAR Systems Small
V25 NEC INTERMETRICS All (Small, Compact, Medium, Large, Huge)
V850 / V850E / V850ES NEC IAR Systems All
V850 / V850E / V850ES NEC GREEN HILLS All
V850 NEC NEC All
X86 AMD
INTEL
INTERMETRICS
BORLAND
All (16 bit models)
Z180 ZILOG IAR Systems Small, Banked
64180 HITACHI IAR Systems Small, Banked
78K0/K0S/K0R NEC IAR Systems Small, near, far
78K4 NEC IAR Systems Large
8051 PHILIPS, SIEMENS,... IAR Systems Large

 

How do we port the system to an other target and test it:

We need a documentation of the CPU/MPU and an overview on all members of that series that shall be supported, an ANSI-compliant "C"-compiler and - preferably - an emulator. The following steps are taken and - if necessary - repeated:

  1. Making sure the documentation of the CPU/MPU is complete
  2. Start of a new project for this processor
  3. Design of a processor board to host the CPU/MPU and interface our test and demonstration hardware
  4. Design of the processor dependent header file
  5. Design of the processor dependent asm file
  6. Writing batch files to automatically build and generate all libraries based on the proven "C"-code
  7. Manual test of the RTOS step by step, debugging
  8. Automated test of the RTOS with a software only
  9. Automated test of the RTOS in the demonstration hardware with complete analysis of result
  10. Writing of documentation
  11. Verification of documentation

Since the system is based on a proven "C"-code, the system is reliable when it has undergone the final testing. This final testing is designed to capture all problems that can possibly occur when porting the system to a new target !

We are porting our OS to more and more targets.

If you are interested in a particular target, please let us know !