embOS 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:

Core Chip Manufacturer "C"-compiler Supported CPUsSupported memory models
ARM 7/9/11 Various IAR Systems ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, ...All
ARM 7/9/11 Various Atollic TrueStudio ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, ...All
ARM 7/9/11 Various KEIL MDK ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, ...All
ARM 7/9/11 Various ARM ADS 1.2 toolkit ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, ...All
ARM 7/9/11 Various ARM RVDS 3.0 ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScaleAll
ARM 7/9/11 Various GNU ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, ...All
ARM 7/9/11 Various Rowley ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, ...All
ARM Cortex M Various Atollic TrueStudio Cortex-M3All
ARM Cortex M Various CodeSourcery Cortex-M3All
ARM Cortex M Cypress Cypress PSoC5 Cortex-M3All
ARM Cortex M Various IAR Systems Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4All
ARM Cortex M Various KEIL MDK Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4All
ARM Cortex M Various Rowley Cortex-M3All
ARM Cortex M Various GNU Cortex-M3All
ARM Cortex A/R Various GNU Cortex-A8, Cortex-A5All
ARM Cortex A/R Various CodeSourcery Cortex-A8, Cortex-A5All
AVR ATMEL IAR Systems ATMEGA103, ATMEGA64, ATMEGA128, ATMEGA2561Small data, small and large code
AVR32 UC ATMEL AVR32 Studio / GNU AVR32UC3A, AVR32UC3B, AVR32UC3A3All
AVR32 UC ATMEL IAR Systems AVR32UC3A, AVR32UC3B, AVR32UC3A3 
AVR32 AP ATMEL AVR32 Studio / GNU AT32AP7000All
C16x Infineon KEIL C166, XC166All except TINY
Coldfire V1 Freescale Metrowerks Codewarrior V1 CoreAll (Near, Far)
Coldfire Freescale Metrowerks Codewarrior V2, V3, V4 coreAll (Near, Far)
Coldfire V1/V2/V3 Freescale IAR Systems V1, V2, V3, V4 coreAll (Near, Far)
CR16C National Semiconductor IAR CR16CMedium / Large / Indexed / Non indexed
F2MC-16LX,
F2MC-16FX
FUJITSU Fujitsu F2MC-16LX, F2MC-16FXAll (Small, Medium, Compact, Large)
FR30 / FR50 / FR70 FUJITSU Fujitsu FR30, FR50, FR70All
H8 / H8S RENESAS IAR Systems H8, H8SAll (Small, Large, Huge)
H8 / H8S / H8SX RENESAS HEW H8, H8S, H8SXAll
M16C/R8C RENESAS IAR Systems, compiler for M16C M16C62, M16C62P, R8C1B, ...All (Near, Far, Huge)
M16C6X RENESAS HEW M16C62, M16C62PAll
M16C/R8C RENESAS Tasking M16C62, M16C62P, R8C1B, ...All (Small, Medium, Large)
M32C & M16C80 RENESAS IAR Systems M32C, MC80All (Near, Far, Huge)
M32C & M16C80 RENESAS Renesas NC308 ver. 540 and HEW 4 M32C, MC80All (Near, Far)
MSP430 & MSP430x Texas Instruments IAR Systems MSP430Fxxx, MSP430XAll, except medium data model for MSP430x
MSP430 Texas Instruments Rowley MSP430FxxxAll
MSP430 & MSP430x Texas Instruments TI Code Composer MSP430Fxxx, MSP430XAll
NIOS 2 ALTERA GNU NIOS 2All
PIC18 Microchip Microchip PIC18F87xxAll
PIC24F/PIC24H,
dsPIC30F/dsPIC33F
Microchip Microchip PIC24F, PIC24H, PIC33, dsPIC30All
PIC32 Microchip Microchip PIC32MX360F, PIC32MX795F, ...All
R32C RENESAS HEW R32CAll
R32C RENESAS IAR Systems, compiler for R32C R32CAll
R8C RENESAS HEW R8C23, R8C1B, ...All
RL78 RENESAS IAR RL78/G13, ...All
RX RENESAS HEW RX610, RX62N, RX210, RX630, RX63NAll
RX RENESAS GNU RX610, RX62N, RX210, RX630, RX63NAll
RX RENESAS IAR RX610, RX62N, RX210, RX630, RX63NAll
SH2 RENESAS HEW SH27086All
SH2A RENESAS IAR SH2A7203, SH7216, SH2A7264, SH2A7286, SH2A7670All
SH2A RENESAS HEW SH2A7203, SH7216, SH2A7264, SH2A7286, SH2A7670All
SH2A RENESAS GNU SH2A7203, SH7216, SH2A7264, SH2A7286, SH2A7670All
SO8 Freescale Codewarrior SO8MP, SO8QE, SO8GB, ...All
ST7 ST Microelectronics COSMIC CXST7 ST7long stack
STM8 ST Microelectronics IAR STM8-A, STM8-SAll code models, medium data model
TLCS900 TOSHIBA TOSHIBA CC900 CC900All
V850 / V850E / V850ES NEC IAR Systems V850, V850E, V850ESAll
V850 / V850E / V850ES NEC GREEN HILLS V850, V850E, V850ESAll
V850 NEC NEC V850, V850E, V850ESAll
Z180 ZILOG IAR Systems Z180Small, Banked
64180 HITACHI IAR Systems HD64180Small, Banked
78K0/K0S/K0R NEC IAR Systems 78K0, K0S, K0RSmall, near, far
78K4 NEC IAR Systems 78K4Large
8051 PHILIPS, SIEMENS,... IAR Systems 8051Large

 

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 !