embOS is Segger’s Real-Time Operating Systems (RTOS)
|
* Depends on CPU, compiler and library model used
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 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.
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 CPUs | Supported memory models |
---|---|---|---|---|
ARM 7/9/11 Cortex-A5/A8/A9 |
Various | IAR Systems | ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, Cortex-A5, Cortex-A8, Cortex-A9 | All |
ARM 7/9/11 Cortex-A5/A8/A9 |
Various | Atollic TrueStudio | ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, Cortex-A5, Cortex-A8, Cortex-A9 | All |
ARM 7/9/11 Cortex-A5/A8/A9 |
Various | emIDE | ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, Cortex-A5, Cortex-A8, Cortex-A9 | All |
ARM 7/9/11 Cortex-A5/A8/A9 |
Various | GNU | ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, Cortex-A5, Cortex-A8, Cortex-A9 | All |
ARM 7/9/11 Cortex-A5/A8/A9 |
Various | Rowley | ARM7TDMI, ARM710T, ARM720T, ARM7EJ-S, ARM9TDMI, ARM920T, ARM922T, ARM940T, ARM926EJ-S, XScale, Cortex-A5, Cortex-A8, Cortex-A9 | 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, XScale | All |
ARM Cortex-A5/A8/A9 |
Various | CodeSourcery | Cortex-A5, Cortex-A8, Cortex-A9 | All |
ARM Cortex M | ATMEL | Atmel Studio | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | Atollic TrueStudio | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | CodeSourcery | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Cypress | Cypress PSoC5 | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | ARM DS-5 | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | emIDE | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | IAR Systems | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | KEIL MDK | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | Rowley | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | TICC | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
ARM Cortex M | Various | GNU | Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7 | All |
AVR | ATMEL | IAR Systems | ATMEGA103, ATMEGA64, ATMEGA128, ATMEGA2561 | Small data, small and large code |
AVR32 UC | ATMEL | AVR32 Studio / GNU | AVR32UC3A, AVR32UC3B, AVR32UC3A3 | All |
AVR32 UC | ATMEL | IAR Systems | AVR32UC3A, AVR32UC3B, AVR32UC3A3 | |
AVR32 AP | ATMEL | AVR32 Studio / GNU | AT32AP7000 | All |
C16x | Infineon | KEIL | C166, XC166 | All except TINY |
Coldfire V1 | Freescale | Metrowerks CodeWarrior | V1 Core | All (Near, Far) |
Coldfire | Freescale | Metrowerks CodeWarrior | V2, V3, V4 core | All (Near, Far) |
Coldfire V1/V2/V3 | Freescale | IAR Systems | V1, V2, V3, V4 core | All (Near, Far) |
CR16C | National Semiconductor | IAR | CR16C | Medium / Large / Indexed / Non indexed |
F2MC-16LX, F2MC-16FX |
Spansion | Spansion | F2MC-16LX, F2MC-16FX | All (Small, Medium, Compact, Large) |
FR30 / FR50 / FR70 | Spansion | Spansion | FR30, FR50, FR70 | All |
H8 / H8S | RENESAS | IAR Systems | H8, H8S | All (Small, Large, Huge) |
H8 / H8S / H8SX | RENESAS | HEW | H8, H8S, H8SX | All |
HCS12 | Freescale | CodeWarrior | HCS12, HCS12X | Small, Banked |
M16C/R8C | RENESAS | IAR Systems, compiler for M16C | M16C62, M16C62P, R8C1B, … | All (Near, Far, Huge) |
M16C6X | RENESAS | HEW | M16C62, M16C62P | All |
M16C/R8C | RENESAS | Tasking | M16C62, M16C62P, R8C1B, … | All (Small, Medium, Large) |
M32C & M16C80 | RENESAS | IAR Systems | M32C, MC80 | All (Near, Far, Huge) |
M32C & M16C80 | RENESAS | Renesas NC308 ver. 540 and HEW 4 | M32C, MC80 | All (Near, Far) |
MSP430 & MSP430x | Texas Instruments | IAR Systems | MSP430Fxxx, MSP430X | All, except medium data model for MSP430x |
MSP430 | Texas Instruments | Rowley | MSP430Fxxx | All |
MSP430 & MSP430x | Texas Instruments | TI Code Composer | MSP430Fxxx, MSP430X | All |
NIOS 2 | ALTERA | GNU | NIOS 2 | All |
PIC18 | Microchip | Microchip | PIC18F87xx | All |
PIC24F/PIC24H, PIC30F/dsPIC33F |
Microchip | Microchip | PIC24F, PIC24H, PIC30, dsPIC33 | All |
PIC32 | Microchip | Microchip | PIC32MX360F, PIC32MX795F, … | All |
PowerPC | Freescale | CodeWarrior | MPC5645S | All |
R32C | RENESAS | HEW | R32C | All |
R32C | RENESAS | IAR Systems, compiler for R32C | R32C | All |
R8C | RENESAS | HEW | R8C23, R8C1B, … | All |
RL78 | RENESAS | IAR | RL78/G13, … | All |
RX | RENESAS | CCRX (Renesas) | RX111, RX210, RX610, RX62N, RX630, RX63N | All |
RX | RENESAS | KPIT GNU | RX111, RX210, RX610, RX62N, RX630, RX63N | All |
RX | RENESAS | IAR | RX111, RX210, RX610, RX62N, RX630, RX63N | All |
SH2 | RENESAS | HEW | SH27086 | All |
SH2A | RENESAS | IAR | SH2A7203, SH7216, SH2A7264, SH2A7286, SH2A7670 | All |
SH2A | RENESAS | HEW | SH2A7203, SH7216, SH2A7264, SH2A7286, SH2A7670 | All |
SH2A | RENESAS | GNU | SH2A7203, SH7216, SH2A7264, SH2A7286, SH2A7670 | All |
SO8 | Freescale | CodeWarrior | SO8MP, SO8QE, SO8GB, … | All |
ST7 | ST Microelectronics | COSMIC CXST7 | ST7 | long stack |
STM8 | ST Microelectronics | IAR | STM8-A, STM8-S | All code models, medium data model |
TLCS900 | TOSHIBA | TOSHIBA CC900 | CC900 | All |
V850 / V850E / V850ES | NEC | IAR Systems | V850, V850E, V850ES | All |
V850 / V850E / V850ES | NEC | GREEN HILLS | V850, V850E, V850ES | All |
V850 | NEC | NEC | V850, V850E, V850ES | All |
Z180 | ZILOG | IAR Systems | Z180 | Small, Banked |
64180 | HITACHI | IAR Systems | HD64180 | Small, Banked |
78K0/K0S/K0R | NEC | IAR Systems | 78K0, K0S, K0R | Small, near, far |
78K4 | NEC | IAR Systems | 78K4 | Large |
8051 | Silicon Labs | IAR Systems | 8051 | Large |
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:
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 !