Segger Microcontroller Systems

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Segger Microcontroller
Industry Embedded Software
Founded 1997
Headquarters Hilden, Germany
Winchendon, MA USA
Products Middleware Components, JTAG Development Tools

Segger Microcontroller is a private multinational company dealing in middleware for embedded devices as well as development and programming tools. The company was founded in 1997 and headquartered in Hilden, Germany with a US office in Winchendon, Massachusetts.


embedded Operating System (embOS), is a Real-time operating system, developed by the Company SEGGER Microcontroller. embOS is designed to be used as a foundation for the development of embedded real-time applications for a wide range of microcontrollers.


embOS is an RTOS for all embedded applications. embOS is written from scratch by the SEGGER Microcontroller company using Ansi C and assembler. Other features are:

  • unlimited amount of tasks (only limited by the amount of available memory)
  • preemptive scheduling with up to 232 priorities
  • Round Robin with adjustable time-slices for tasks with equal priority
  • adjustable time resolution (default is 1ms)
  • software timers
  • low power and multi-core support
  • safe communication among tasks using:
    • task events with up to 32 events per task
    • event objects
    • resource and counting semaphores
    • mailboxes
    • queues
  • full interrupt support
  • API can be called from assembly, C and C++ code

In addition to embOS, embOS-MPU offers memory protection by using the hardware's memory protection unit as well as additional software mechanisms to prevent one task from affecting the entirety of the system.


embOSView is a tool for analysis of the running target application on an embedded system using embOS. For communication, embOSView can use UART, memory read/write for Cortex-M and RX CPUs, DCC for ARM7/9 and Cortex-A CPUs as well as ethernet. Beside system variables and software tracing, embOSView also lists all tasks with following information:

  • ID: Task ID, which is the address of the task control block
  • Name: Name assigned during creation
  • Status: Current state of task (ready, executing, delayed, reason for suspension)
  • Data: Depends on status
  • Timeout: Time of next activation
  • Stack: Used stack size/max. stack size/stack location
  • CPU Load: Percentage CPU load caused by task
  • Run Count: Number of activations since reset
  • Time Slice: Round robin time slice

Field of Application[edit]

embOS is used in a variety of embedded systems in the fields of application like:

  • Industrial Controls
  • Internet of Things
  • Networking
  • Consumer electronics
  • Safety critical devices
  • Automotive
  • Medical devices
  • Avionic

Supported Devices[edit]

embOS supports all cores and compilers, e.g.:

ARM7/9/11, ARM Cortex-A/R/M, Altera NIOS2, AVR, AVR32, C16x, CR16C, ColdFire, H8, HCS12, M16C, M32C, MSP430, NIOS2, PIC18/24/32, PowerPC, R32C, R8C, RL78, RH850, RX100/200/600/700, RZ, SH2A, STM8, ST7, S08, V850, 78K0, 8051, Xtensa, ...

GCC, IAR, Keil MDK, Tasking, GreenHills, CodeWarrior, Renesas compiler CCRX, CCRL, ...


Segger is most noted for its JTAG / SWD emulator for ARM-based microcontrollers that have ARM7 / ARM9 / ARM11, Cortex M0 / M0+ / M1 / M3 / M4 / M7 / M23 / M33, Cortex R4 / R5 / R8, Cortex A5 / A7 / A8 / A9 / A12 / A15 / A17 cores, Renesas RX, and Microchip PIC32. This device is called the J-Link.[1] It is also repackaged and sold as an OEM item[2] by Analog Devices as the mIDASLink, Atmel as the SAM-ICE, Digi International as the Digi JTAG Link, and IAR Systems as the J-Link and the J-Link KS. This is the only JTAG emulator that can add Segger's patented Flash breakpoint software to a debugger to enable the setting of multiple breakpoints in Flash while running on an ARM device which is typically hindered by the limited availability of hardware breakpoints.[3] For enhanced emulation features Segger offers a Trace Emulator, J-Trace that works with the ARM ETM interface and enables engineers to trace back their code execution.

J-Link models[4]
20-pin 0.10"
Max Speed
Max Download
PRO Yes Yes Yes* No Yes Yes Yes
50 MHz
3 MByte/S
ULTRA+ Yes No Yes* No Yes Yes Yes
50 MHz
3 MByte/S
PLUS Yes No Yes* No Yes Yes Yes
15 MHz
1 MByte/S
BASE Yes No Yes* No Yes Yes Yes
15 MHz
1 MByte/S
EDU Yes No Yes* No Yes Yes Yes
15 MHz
1 MByte/S
Cortex-M Yes No Yes* 19-pin 0.05" Yes Yes No
25 MHz
3 MByte/S
ARM Yes No Yes* 38-pin Mictor Yes No No
12 MHz
1 MByte/S
  • Note: Additional models are J-Link LITE ARM, J-Link LITE CortexM, J-Link LITE RX, J-Link OB, J-Link OEM.[5]
  • Note: PLUS / BASE / EDU models are physically the same hardware. The difference is license and software options, such as GDB Server, Flash Download, Unlimited Flash Breakpoints, J-Flash, RDI, RDDI. The EDU model can't be used for commercial software development.
  • Note: Adapters and isolators are available to convert the 20-pin 0.1"/2.54mm male shrouded (box) header to another target board connector.[6]


See also[edit]


External links[edit]