Welcome to the SEGGER Wiki
This Wiki has been created to answer questions about Embedded Systems in general and to explain terms used in this context (our Knowledge Base), as well to have a place for information that is related to our products, but is too specific for the product descriptions on www.segger.com. An example of something too specific is: "How to enable Trace on a particular Evaluation Board". It is a work in progress and we continue to make it better and more valuable. For any kind of feedback, please contact us at firstname.lastname@example.org.
- 1 Knowledge Base
- 2 Debug and Trace Probes
- 3 Software Development Tools
- 4 Embedded Software
- 5 Production Tools
- 6 Miscellaneous
The Knowledge Base explains terms often used in the field of Embedded Computing Systems, or "Embedded Systems", as we say in our industry.
We aim to be a useful resource to engineers, students, and hobbyists programming Embedded Systems - typically microcontrollers, typically in C, C++, and some bits and pieces of Assembly language.
We explain things from a programmer's perspective and, where we can, provide useful code examples.
Examples of the terms we explain are:
Debug and Trace Probes
Debug and trace probes enable verification and debugging of embedded systems while they are running. The probes connect the embbedded system with the computer used for development. This section is dedicated to SEGGER's product portfolio and the related technology.
J-Link & J-Trace
SEGGER J-Links are the most widely used line of debug probes available today. They've proven their value for more than 15 years. J-Trace PRO defines a new standard for trace probes. It enables streaming trace on Cortex-M, Cortex-A, and Cortex-R based targets with ETM
Software Development Tools
Software tools are those tools running on a computer used for developing embedded systems. This includes tools to edit source code, to build firmware, to verify functionality and to find bugs if required. This section is dedicated to SEGGER's product portfolio and the related technology.
SEGGER Embedded Studio is a complete all-in-one solution for managing, building, testing and deploying your embedded applications.
SEGGER SystemView is a real-time recording and visualization tool for embedded systems that reveals the true runtime behavior of an application, going far deeper than the system insights provided by debuggers.
Ozone is a full-featured graphical debugger and performance analyzer for embedded applications.
A powerful C/C++ compiler to generate code for 32-bit ARM targets.
This section describes all libraries, middleware and software packages used as building blocks for an embedded system's firmware. This section is dedicated to SEGGER's product portfolio and the related technology. SEGGER's Embedded Software has been deployed in billions of devices.
embOS is a Real Time Operating System (RTOS) by SEGGER.
emCompress is a collection of software libraries enabling data compression and decompression on, but not limited to, resource-constrained devices.
emCrypt is a secure and efficient implementation of essential cryptographic algorithms specifically designed for embedded systems.
emFile is the reliable file system for non-volatile and removable memories.
emFile is the performance-optimized floating-point library for microcontrollers.
The emFTP FTP (File Transfer Protocol) server is an optional extension which adds the FTP protocol to the stack.
emLib is a collection of software modules such as, cryptographic modules and data integrity checks for different purposes.
emLoad is a bootloader for firmware updates.
emModbus, SEGGER's implementation of the Modbus protocol, supports communication via UART (ASCII, RTU), Ethernet (Modbus/TCP and Modbus/UDP), and is capable of communicating with any Modbus compliant device.
emMQTT provides the client functionality of the Message Queue Telemetry Transport protocol to a stack.
emNet is the industry-leading IP stack for embedded systems.
emSecure is a software solution for embedded systems to securely authenticate digital assets.
emSSH offers the ability to establish a secure connection to any server application in your product.
emSSL is an implementation of SSL (Secure Sockets Layer), now called TLS (Transport Layer Security) for Embedded Systems by SEGGER.
emUSB-Device is a high performance USB device software specifically designed for embedded systems.
emUSB-Host is a USB host software specifically designed for embedded systems.
emWeb provides easy to use graphical interfaces for control or data acquisition.
emWin is an embedded GUI solution that enables the creation of highly efficient, high quality, graphical user interfaces on any embedded system.
The IoT Toolkit is a collection of libraries that enables communication with modern IoT based environments and devices.
SEGGER Runtime Library
The SEGGER RunTime Library converts any GCC-based toolchain into a professional development choice. It is used in SEGGER's Embedded Studio IDE and has proven its value for years.
- SEGGER RunTime Library in this Wiki
- SEGGER Runtime Library product page on segger.com
- SEGGER Floating-Point Library in this Wiki
SEGGER's in-circuit flash programmers are fast, robust, reliable, and easy to use.
Whether the focus is on size, flexibility, portability, security, or mass production, the SEGGER Flasher Family has the perfect programmer for the task at hand.
- Flasher in this Wiki
- Flasher on www.segger.com
- Flasher User Manual
- Flasher Hub-12 User Manual
- J-Flash User Manual
The Flasher ARM is the programmer of SEGGER for all ARM core MCUs.
The Flasher ATE is a gang programmer of SEGGER.
Flasher Portable PLUS
The Flasher Portable PLUS is the hand held programmer of SEGGER for all types of MCUs and flash devices for maintenance purpose.
The Flasher PRO is the programmer of SEGGER for all types of MCUs and flash devices.
The Flasher Hub is a gang programmer of SEGGER.
The Flasher SECURE is the programmer of SEGGER for all types of MCUs for secure purpose.
Measuring CPU Performance
This Wiki article explains how to easily compute the CPU performance.