Segger Microcontroller Systems

SEGGER Microcontroller, founded in 1992, is a private company active in the industry of Embedded Systems. It provides software libraries ( middleware ) plus programming and development tools. SEGGER produces debug probes, with accompanying debugger and performance analyzer software, plus communication and security software. The company is headquartered in Monheim am Rhein, Germany with US offices in Gardner, Massachusetts and Milpitas, California.

SEGGER Microcontroller
TypeGmbH
IndustryEmbedded software
Founded1992
HeadquartersMonheim am Rhein, Germany
Gardner, Massachusetts USA
Milpitas, California USA
ProductsMiddleware components, JTAG development tools
Websitesegger.com,
segger-us.com

RTOS embedded software

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 features

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

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

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

It is supported by popular SSL/TLS libraries such as wolfSSL, thus maintaining embedded security standards across industries.

Supported devices

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, 78K0, V850, RL78, RH850, RX100/200/600/700, RZ, SH2A, STM8, ST7, S08, 8051, Xtensa, ...

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

Other embedded software

SEGGER also provides software/middleware in the fields of connectivity, crypto & security, and the Internet of Things (IoT).

Hardware

J-Trace

J-Trace PRO is an advanced debug probe that can capture complete instruction traces over long periods of time thereby enabling the recording of infrequent, hard-to-reproduce bugs. It supports all popular debuggers and IDEs and can be used cross platform with Windows, Linux, and macOS.

Segger is most noted for its JTAG / SWD emulators 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.

Models[4]
Model*Host
USB
Host
Ethernet
Host
Wi-Fi
Target
Connector
Trace
Connector
Target
Voltage
Target Max
Interface Speed
Target Max
Download Speed
J-Trace PRO Cortex3.0 SS1 Gbit/sNo20-pin 0.1"19-pin 0.05"
1.2V to 5V
50 MHz
3 MByte/s
J-Trace PRO Cortex-M3.0 SS1 Gbit/sNo20-pin 0.1"19-pin 0.05"
1.2V to 5V
50 MHz
3 MByte/s
J-Link PRO2.0 HS100 Mbit/sNo20-pin 0.1"No
1.2V to 5V
50 MHz
3 MByte/s
J-Link ULTRA+2.0 HSNoNo20-pin 0.1"No
1.2V to 5V
50 MHz
3 MByte/s
J-Link WiFi2.0 HSNo802.11b/g/n20-pin 0.1"No
1.2V to 5V
15 MHz
1 MByte/s
J-Link PLUS2.0 HSNoNo20-pin 0.1"No
1.2V to 5V
15 MHz
1 MByte/s
J-Link BASE2.0 HSNoNo20-pin 0.1"No
1.2V to 5V
15 MHz
1 MByte/s
J-Link EDU2.0 HSNoNo20-pin 0.1"No
1.2V to 5V
15 MHz
1 MByte/s
J-Link EDU Mini2.0 FSNoNo9-pin 0.05"No3.3V4 MHz0.2 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]

Flasher


Software tools for embedded systems

SEGGER produces software tools for developers and engineers of embedded systems and Internet-of-Things environments, to develop, create, verify, test, and debug embedded applications, and target systems or devices.

Embedded Studio

Embedded Studio is a C/C++ IDE for embedded systems. It is specifically designed to provide users with everything needed for professional embedded C programming and development.

Embedded Studio includes compilers Clang and GCC, plus the in-house SEGGER Compiler, and has support for 3rd party debug probes via GDB protocol.

It can be used cross platform with Windows, Linux, and macOS.

SystemView

SystemView is a real-time recording and visualization tool for embedded systems that reveals the true runtime behavior of an application, going deeper than the system insights provided by debuggers. It is particularly effective when developing and working with complex embedded systems comprising multiple threads and interrupts.

SystemView can ensure a system performs as designed, can track down inefficiencies, and show unintended interactions and resource conflicts, with a focus on the details of every single system tick.

It provides continuous real-time recording of an embedded system, captures tasks, interrupts, timers, resources, API calls, and user events, and allows for live analysis and visualization of captured data.

SystemView records via J-Link and SEGGER RTT Technology, IP, or UART, works on any CPU, works with any RTOS and bare-metal systems, and is minimally system intrusive.

Ozone is a full-featured graphical debugger for embedded applications. With Ozone it is possible to debug any embedded application on C/C++ source and assembly level.

It can load applications built with any tool chain / IDE or debug the target's resident application without any source. It includes all well-known debug controls and information windows and makes use of J-Link and J-Trace debug probes.


See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.