Difference between revisions of "Main Page"

From SEGGER Wiki
Jump to: navigation, search
(IDE and Debugger specifics)
(emFloat)
 
(392 intermediate revisions by 24 users not shown)
Line 1: Line 1:
<strong>Welcome to the SEGGER - Support Wiki</strong>
+
<strong>Welcome to the SEGGER Wiki</strong>
   
  +
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
== Debug Probes - J-Link & J-Trace ==
 
  +
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 info@segger.com.
   
  +
<div class="toclimit-3">
  +
__TOC__
  +
</div>
   
=== J-Link ===
+
== Knowledge Base ==
  +
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.
==== Troubleshooting ====
 
* [[Debug session does not start]]
 
* [[J-Link cannot connect to the CPU]]
 
* [[Could not open J-Link shared library]]
 
* [[J-Link shown as generic BULK device in Windows]]
 
* [[J-Link-OB SAM3U]]
 
* [[J-Link-OB-RX621-ARM-SWD]]
 
* [[SPI Flash]]
 
* [[Unlimited Number of Breakpoints in Flash]]
 
* [[Debugging self-modifying code in flash]]
 
* [[Cannot update firmware of Flasher Portable]]
 
* [[Manual setup of JTAG chain]]
 
* [[Access to illegal addresses causes core to crash]]
 
* [[J-Trace PRO USB driver problems]]
 
* [[J-Link no USB enumeration]]
 
* [[J-Link LITE SAM-ICE | J-Link LITE incorrectly shown as SAM-ICE]]
 
   
  +
We explain things from a programmer's perspective and, where we can, provide useful code examples.
==== IDE and Debugger specifics ====
 
* [[SEGGER Embedded Studio]]
 
** [[Embedded Studio | ETB trace on NXP TWR-K65F]]
 
** [[How to port projects from IAR EWARM to SEGGER Embedded Studio]]
 
** [[How to configure Embedded Studio to use SWO]]
 
** [[Embedded Studio VCS configuration]]
 
** [[Embedded Studio installation on newer Linux versions]]
 
** [[How to enable RTOS thread awareness]]
 
** [[How to copy ROM sections into RAM sections during run time]]
 
** [[How to use an external toolchain with Embedded Studio]]
 
* [[SEGGER Ozone]]
 
** [[Ozone automated test example]]
 
* [[TI Code Composer Studio]]
 
* [[IAR EWARM]]
 
** [[How to configure SWO for EWARM V8]]
 
* [[Keil MDK-ARM]]
 
* [[J-Link Commander]]
 
   
  +
Examples of the terms we explain are:
==== Device specifics ====
 
   
  +
[[CPU]], [[CRC]], [[Embedded System]], [[Interrupt]], [[Microcontroller]], [[Watchdog]]
===== Ambiq Micro =====
 
* [[Apollo2]]
 
   
  +
[[Knowledge Base]] has its own wiki page. To go there, [[Knowledge Base | click here.]]
===== Analog Devices =====
 
* [[ADuC7xxx]]
 
   
  +
== Debug and Trace Probes ==
===== Atmel =====
 
  +
[[File:Category Icon Debug Tools.svg|link=https://www.segger.com/products/debug-trace-probes/|right|200px|Debug and Trace Tools]]
* [[AT91SAM7]]
 
  +
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.
   
===== Infineon =====
+
=== 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.
* [[XMC1000]]
 
  +
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
* [[XMC4xxx series]]
 
   
  +
* [[Debug Probes - J-Link & J-Trace | J-Link & J-Trace in this Wiki]]
===== Intel =====
 
  +
* [https://www.segger.com/jtrace J-Trace on www.segger.com]
* [[Intel Quark processors]]
 
  +
* [https://www.segger.com/jlink J-Link on www.segger.com]
* [[Cyclone V series]]
 
   
  +
<br clear=all>
===== Nordic Semi =====
 
* [[nRF51 Series Devices]]
 
* [[nRF52 Series Devices]]
 
   
  +
== Software Development Tools ==
===== NXP =====
 
  +
[[File:Category Icon Software Tools.svg|link=https://www.segger.com/products/software-development-tools/|right|200px|Software Tools]]
* [[Kinetis Series Devices]]
 
  +
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.
** [[K32W]]
 
* [[iMX Series Devices]]
 
** [[IMX6SX]]
 
** [[IMX6DQ]]
 
** [[iMX7D]]
 
** [[iMX7ULP]]
 
** [[iMXRT105x]]
 
*[[LPC Series Devices]]
 
** [[LPC540xx]]
 
** [[LPC series - EMC buffer]]
 
** [[Dual Core Debugging on LPC4350 with Embedded Studio]]
 
** [[Triple Core Debugging on LPC4367 with Embedded Studio]]
 
** [[Using LPC-Link 2 on LPCXpresso V2/V3]]
 
** [[Connecting J-Link to LPCXpresso LPC1769]]
 
   
===== Renesas =====
+
=== Embedded Studio ===
  +
SEGGER Embedded Studio is a complete all-in-one solution for managing, building, testing and deploying your embedded applications.
* [[RZ/G1]]
 
* [[Using RTT on RZ A1H]]
 
* [[Synergy]]
 
   
  +
* [[Embedded Studio | Embedded Studio in this Wiki]]
===== Silicon Labs =====
 
  +
* [https://www.segger.com/products/development-tools/embedded-studio/ Embedded Studio on www.segger.com]
* [[EFM32]]
 
<!--* [[EFR32xG1x|EFR32xG12]]-->
 
<!--* [[EFR32xG1x|EFR32xG13]]-->
 
<!--* [[EFR32xG1x|EFR32xG14]]-->
 
* [[EFR32xG1x_Bootloader]]
 
   
===== ST =====
+
=== SystemView ===
  +
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.
* [[Connecting to STM32 Nucleo boards]]
 
* [[Using SWO on STM327xxG evaluation boards]]
 
* [[Setting read out protection on STM32F0 devices]]
 
* [[Secured ST device detected]]
 
* [[SPC560D-Discovery Evalboard]]
 
* [[STR91x]]
 
* [[STM32]]
 
** [[STM32F1]]
 
** [[STM32F2]]
 
** [[STM32F4]]
 
** [[STM32L4]]
 
*** [[STM32L476 Discovery]]
 
*** [[STM32L476 Eval]]
 
** [[STM32F7]]
 
*** [[STM32F746 Discovery]]
 
*** [[STM32F769I EVAL]]
 
   
  +
* [[SystemView | SystemView in this Wiki]]
===== TI =====
 
  +
* [https://www.segger.com/systemview SystemView on www.segger.com]
* [[TM4C Security]]
 
* [[TMS570Lx series]]
 
* [[TI_RMxxL|RM4xL series]]
 
* [[TI_RMxxL|RM5xL series]]
 
   
===== Toshiba =====
+
=== Ozone ===
  +
Ozone is a full-featured graphical debugger and performance analyzer for embedded applications.
* [[TMPM46BF10FG Evaluation Board]]
 
   
  +
* [[Ozone | Ozone in this Wiki]]
==== Evaluation board specifics ====
 
  +
* [https://www.segger.com/ozone Ozone on www.segger.com]
   
===== Ambiq Micro =====
+
=== SEGGER compiler ===
  +
A powerful C/C++ compiler to generate code for 32-bit ARM targets.
* [[Apollo2 EVB]]
 
   
  +
* [[SEGGER compiler | SEGGER compiler in this Wiki]]
===== Adafruit =====
 
* [[Bluefruit LE UART Friend]]
 
   
  +
<br clear=all>
===== Atmel =====
 
* [[SAM C21 Xplained Pro]]
 
   
===== Infineon =====
+
== Embedded Software ==
  +
[[File:Category Icon Embedded Software.svg|link=https://www.segger.com/products/rtos-embedded-software/|right|200px|Embedded Software, Stacks and Libraries]]
* [[Eval-M1-1302]]
 
  +
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.
   
===== Microchip =====
+
=== embOS ===
  +
embOS is a Real Time Operating System (RTOS) by SEGGER.
* [[CEC1702 clicker]]
 
  +
* [[embOS | embOS in this Wiki]]
* [[SAMA5D2 XPlained Ultra]]
 
  +
* [https://www.segger.com/embOS embOS on www.segger.com]
   
===== Renesas =====
+
=== emCompress ===
  +
emCompress is a collection of software libraries enabling data compression and decompression on, but not limited to, resource-constrained devices.
* [[RZ/G1E Starter Kit]]
 
  +
* [[emCompress | emCompress in this Wiki]]
  +
* [https://www.segger.com/emCompress emCompress on www.segger.com]
   
===== SiFive =====
+
=== emCrypt ===
  +
emCrypt is a secure and efficient implementation of essential cryptographic algorithms specifically designed for embedded systems.
* [[SiFive Arty FPGA Dev Kit]]
 
  +
* [[emCrypt | emCrypt in this Wiki]]
  +
* [https://www.segger.com/emCrypt emCrypt on www.segger.com]
   
===== Silicon Labs =====
+
=== emFile ===
  +
emFile is the reliable file system for non-volatile and removable memories.
* [[EFM Starter Kits]]
 
  +
* [[emFile | emFile in this Wiki]]
  +
* [https://www.segger.com/emFile emFile on www.segger.com]
   
===== TI =====
+
=== emFloat ===
  +
emFloat is the performance-optimized floating-point library for microcontrollers.
* [[LAUNCHXL CC2640R2]]
 
  +
* [[emFloat | emFloat in this Wiki]]
* [[CC1310 LaunchPad]]
 
  +
* [https://www.segger.com/products/development-tools/runtime-library/technology/floating-point-library/ emFloat on www.segger.com]
* [[CC3220 LaunchPad]]
 
* [[TM4C123G LaunchPad]]
 
   
===== NXP =====
+
=== emFTP ===
  +
The emFTP FTP (File Transfer Protocol) server is an optional extension which adds the FTP protocol to the stack.
* [[FRDM-KW41Z]]
 
  +
* [[emFTP | emFTP in this Wiki]]
* [[IMX6UL-EVK]]
 
  +
* [https://www.segger.com/emftp emFTP on www.segger.com]
* [[IMX6ULL-EVK]]
 
* [[LPCXpresso4337 V3]]
 
* [[TWR-KV58F220M]]
 
   
===== ST =====
+
=== emLib ===
  +
emLib is a collection of software modules such as, cryptographic modules and data integrity checks for different purposes.
* [[STEVAL-FCU001V1]]
 
  +
* [[emLib | emLib in this Wiki]]
* [[STM3241G-EVAL]]
 
  +
* [https://www.segger.com/emlib emLib on www.segger.com]
   
==== Open Flashloader ====
+
=== emLoad ===
  +
emLoad is a bootloader for firmware updates.
* [[Adding Support for New Devices]]
 
  +
* [[emLoad | emLoad in this Wiki]]
* [[Using Flashloader with different IDEs]]
 
  +
* [https://www.segger.com/emload emLoad on www.segger.com]
   
=== J-Trace ===
+
=== emModbus ===
  +
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.
* [[General information about tracing]]
 
  +
* [[emModbus | emModbus in this Wiki]]
* [[How to configure JLinkScript files to enable tracing]]
 
  +
* [https://www.segger.com/emmodbus emModbus on www.segger.com]
* [[Tracing on Atmel ATSAMA5D2]]
 
* [[Tracing on Atmel ATSAME54]]
 
* [[Tracing on Atmel ATSAME70]]
 
* [[Tracing on Atmel ATSAMV71]]
 
* [[Tracing on Infineon XMC4400 series MCUs]]
 
* [[Tracing on Infineon XMC4500 series MCUs]]
 
* [[Tracing on Nordic Semiconductor nRF52]]
 
* [[Tracing on NXP LPC1768]]
 
* [[Tracing on NXP LPC1788]]
 
* [[Tracing on NXP LPC1857]]
 
* [[Tracing on NXP LPC4357]]
 
* [[Tracing on NXP Kinetis MK21FN1M0]]
 
* [[Tracing on NXP Kinetis MK40]]
 
* [[Tracing on NXP Kinetis MK60N512]]
 
* [[Tracing on NXP Kinetis MK64FN1M0]]
 
* [[Tracing on NXP Kinetis MK66FN2M0 (SEGGER emPower Board)]]
 
* [[Tracing on NXP Kinetis MK70FN1M0]]
 
* [[Tracing on NXP Kinetis MK80FN2]]
 
* [[Tracing on NXP Kinetis MKV58F1M0]]
 
* [[Tracing on NXP Kinetis MKW24D512]]
 
* [[Tracing on Renesas Synergy R7FS7G2]]
 
* [[Tracing on Renesas R7S721001WS (RZ/A1H)]]
 
* [[Tracing on Renesas R7S910017 (RZ/T1)]]
 
* [[Tracing on Silicon Labs EFM32GG11B]]
 
* [[Tracing on Silicon Labs EFM32GG990]]
 
* [[Tracing on Silicon Labs EFM32PG12]]
 
* [[Tracing on Silicon Labs EZR32LG330]]
 
* [[Tracing on Silicon Labs EZR32WG330]]
 
* [[Tracing on ST STM32F107]]
 
* [[Tracing on ST STM32F207]]
 
* [[Tracing on ST STM32F303]]
 
* [[Tracing on ST STM32F407 (SEGGER Cortex-M Trace Reference Board)]]
 
* [[Tracing on ST STM32F417]]
 
* [[Tracing on ST STM32F429]]
 
* [[Tracing on ST STM32F437]]
 
* [[Tracing on ST STM32F439]]
 
* [[Tracing on ST STM32F446]]
 
* [[Tracing on ST STM32F746]]
 
* [[Tracing on ST STM32F756]]
 
* [[Tracing on ST STM32F767]]
 
* [[Tracing on ST STM32F769]]
 
* [[Tracing on ST STM32H743]]
 
* [[Tracing on ST STM32H753]]
 
* [[Tracing on ST STM32L476]]
 
* [[Tracing on ST STM32L4R]]
 
* [[Tracing on ST STM32L4S]]
 
* [[Tracing on ST STM32L152]]
 
* [[Tracing on TI MSP432E4]]
 
* [[Tracing on TI TM4C129]]
 
* [[Tracing on Toshiba TMPM370]]
 
* [[Tracing on Toshiba TMPM440]]
 
* [[Getting unknown addresses in instruction trace]]
 
===== Keil MDK =====
 
* [[4-Pin Trace with STM32F2 / STM32F4]]
 
* [[4-Pin Trace with LPC4357]]
 
   
  +
=== emMQTT ===
=== Getting Started with Various IDEs ===
 
  +
emMQTT provides the client functionality of the Message Queue Telemetry Transport protocol to a stack.
* [[Renesas e²studio]]
 
  +
* [[emMQTT | emMQTT in this Wiki]]
  +
* [https://www.segger.com/emmqtt emMQTT on www.segger.com]
   
== Miscellaneous ==
+
=== emNet ===
  +
emNet is the industry-leading IP stack for embedded systems.
  +
* [[emNet | emNet in this Wiki]]
  +
* [https://www.segger.com/emnet emNet on www.segger.com]
   
=== Glossary / Definitions ===
+
=== emSecure ===
  +
emSecure is a software solution for embedded systems to securely authenticate digital assets.
* [[JTAG]]
 
  +
* [[emSecure | emSecure in this Wiki]]
* [[SWD]]
 
  +
* [https://www.segger.com/emsecure emSecure on www.segger.com]
* [[SWO]]
 
* [[ETB]]
 
* [[ETM]]
 
* [[TMC]]
 
* [[MCU Security Options]]
 
   
=== J-Link software ===
+
=== emSSH ===
  +
emSSH offers the ability to establish a secure connection to any server application in your product.
* [[J-Link Software and Documentation Pack]]
 
* [[Enable J-Link log file]]
+
* [[emSSH | emSSH in this Wiki]]
  +
* [https://www.segger.com/emssh emSSH on www.segger.com]
* [[Using J-Link Script Files]]
 
* [[Using J-Link Command Strings]]
 
* [[Read-Modify-Write Flash]]
 
* [[Using J-Link VCOM functionality]]
 
* [[J-Link Commander]]
 
** [[J-Link_Commander#Perform flash download|Perform flash download]]
 
** [[J-Link_Commander#Batch processing|Batch processing]]
 
** [[J-Link_Commander#JLink.exe_return_value|JLink.exe return value]]
 
* [[RTT]]
 
* [[Memory accesses]]
 
* [[Setting up Ethernet interface]]
 
   
=== CALLIOPE mini ===
+
=== emSSL ===
  +
emSSL is an implementation of SSL (Secure Sockets Layer), now called TLS (Transport Layer Security) for Embedded Systems by SEGGER.
* [[Upgrading CALLIOPE mini to J-Link]]
 
  +
* [[emSSL | emSSL in this Wiki]]
  +
* [https://www.segger.com/emSSL emSSL on www.segger.com]
   
=== J-Flash ===
+
=== emUSB-Device ===
  +
emUSB-Device is a high performance USB device software specifically designed for embedded systems.
* [[CRC calculation]]
 
  +
* [[emUSB-Device | emUSB-Device in this Wiki]]
  +
* [https://www.segger.com/emUSB-Device emUSB-Device on www.segger.com]
   
=== SystemView ===
+
=== emUSB-Host ===
  +
emUSB-Host is a USB host software specifically designed for embedded systems.
* [[FreeRTOS with SystemView]]
 
  +
* [[emUSB-Host | emUSB-Host in this Wiki]]
  +
* [https://www.segger.com/emUSB-Host emUSB-Host on www.segger.com]
  +
  +
=== emWeb ===
  +
emWeb provides easy to use graphical interfaces for control or data acquisition.
  +
* [[emWeb | emWeb in this Wiki]]
  +
* [https://www.segger.com/products/connectivity/emweb/ emWeb product page on segger.com]
  +
  +
=== emWin ===
  +
emWin is an embedded GUI solution that enables the creation of highly efficient, high quality, graphical user interfaces on any embedded system.
  +
* [[emWin | emWin in this Wiki]]
  +
* [https://www.segger.com/products/user-interface/emwin/ emWin product page on segger.com]
  +
  +
=== IoT Toolkit ===
  +
The IoT Toolkit is a collection of libraries that enables communication with modern IoT based environments and devices.
  +
* [[IoT Toolkit | IoT Toolkit in this Wiki]]
  +
* [https://www.segger.com/products/security-iot/iot-toolkit/ IoT Toolkit product page on segger.com]
  +
  +
===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 | SEGGER RunTime Library in this Wiki]]
  +
* [https://www.segger.com/products/development-tools/runtime-library/ SEGGER Runtime Library product page on segger.com]
  +
* [[SEGGER Floating-Point Library | SEGGER Floating-Point Library in this Wiki]]
  +
  +
<br clear=all>
  +
  +
== Production Tools ==
  +
[[File:Category Icon Production Tools.svg|link=https://www.segger.com/products/flash-in-circuit-programmers/|right|200px|Production Programming Tools]]
  +
  +
=== Flasher ===
  +
SEGGER's in-circuit flash programmers are fast, robust, reliable, and easy to use.<br>
  +
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|Flasher in this Wiki]]
  +
* [https://www.segger.com/products/flasher-in-circuit-programmer Flasher on www.segger.com]
  +
* [[UM08022_Flasher | Flasher User Manual]]
  +
* [[UM08043_Flasher_Hub-12 | Flasher Hub-12 User Manual]]
  +
* [[UM08003_JFlash | J-Flash User Manual]]
  +
  +
=== Products ===
  +
  +
==== Flasher ARM ====
  +
The Flasher ARM is the programmer of SEGGER for all ARM core MCUs.
  +
* [[Flasher ARM|Flasher ARM in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/models/about-flasher-arm/ Flasher ARM on segger.com]
  +
  +
==== Flasher ATE ====
  +
The Flasher ATE is a gang programmer of SEGGER.
  +
* [[Flasher ATE|Flasher ATE in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/models/gang-programmer-flasher-ate/ Flasher ATE on segger.com]
  +
  +
==== 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.
  +
* [[Flasher Portable PLUS|Flasher Portable PLUS in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/models/flasher-portable-plus/ Flasher Portable PLUS on segger.com]
  +
  +
==== Flasher PRO ====
  +
The Flasher PRO is the programmer of SEGGER for all types of MCUs and flash devices.
  +
* [[Flasher PRO|Flasher PRO in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/models/flasher-pro/ Flasher PRO on segger.com]
  +
  +
==== Flasher COMPACT ====
  +
* [[Flasher Compact V5|Flasher Compact in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/models/flasher-compact/ Flasher Compact on segger.com]
  +
  +
==== Flasher HUB ====
  +
The Flasher Hub is a gang programmer of SEGGER.
  +
* [[Flasher Hub|Flasher Hub in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/tools/flasher-hub/ Flasher Hub on segger.com]
  +
  +
==== Flasher SECURE ====
  +
The Flasher SECURE is the programmer of SEGGER for all types of MCUs for secure purpose.
  +
* [[Flasher SECURE|Flasher SECURE in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/models/flasher-secure/ Flasher SECURE on segger.com]
  +
  +
<br clear=all>
  +
  +
== Miscellaneous ==
  +
=== Measuring CPU Performance ===
  +
This Wiki article explains how to easily compute the CPU performance.
   
  +
[[HowTo_Measure_CPU_Performance | HowTo Measure CPU Performance]]
=== FAQ ===
 
* [[Using Ethernet in TI's Code Composer Studio (CCS)]]
 
* [[Software and Hardware Features Overview]]
 
* [[Multiple J-Links at the same PC]]
 
* [[OpenOCD]]
 
* [[Using J-Link on VirtualBox under Ubuntu]]
 
* [[Flashing Cypress PSoC Creator output data files with J-Flash]]
 
* [[Programming External SPI Flashes]]
 

Latest revision as of 09:35, 25 March 2024

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 info@segger.com.

Knowledge Base

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:

CPU, CRC, Embedded System, Interrupt, Microcontroller, Watchdog

Knowledge Base has its own wiki page. To go there, click here.

Debug and Trace Probes

Debug and Trace Tools

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

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.

Embedded Studio

SEGGER Embedded Studio is a complete all-in-one solution for managing, building, testing and deploying your embedded applications.

SystemView

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

Ozone is a full-featured graphical debugger and performance analyzer for embedded applications.

SEGGER compiler

A powerful C/C++ compiler to generate code for 32-bit ARM targets.


Embedded Software

Embedded Software, Stacks and Libraries

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

embOS is a Real Time Operating System (RTOS) by SEGGER.

emCompress

emCompress is a collection of software libraries enabling data compression and decompression on, but not limited to, resource-constrained devices.

emCrypt

emCrypt is a secure and efficient implementation of essential cryptographic algorithms specifically designed for embedded systems.

emFile

emFile is the reliable file system for non-volatile and removable memories.

emFloat

emFloat is the performance-optimized floating-point library for microcontrollers.

emFTP

The emFTP FTP (File Transfer Protocol) server is an optional extension which adds the FTP protocol to the stack.

emLib

emLib is a collection of software modules such as, cryptographic modules and data integrity checks for different purposes.

emLoad

emLoad is a bootloader for firmware updates.

emModbus

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

emMQTT provides the client functionality of the Message Queue Telemetry Transport protocol to a stack.

emNet

emNet is the industry-leading IP stack for embedded systems.

emSecure

emSecure is a software solution for embedded systems to securely authenticate digital assets.

emSSH

emSSH offers the ability to establish a secure connection to any server application in your product.

emSSL

emSSL is an implementation of SSL (Secure Sockets Layer), now called TLS (Transport Layer Security) for Embedded Systems by SEGGER.

emUSB-Device

emUSB-Device is a high performance USB device software specifically designed for embedded systems.

emUSB-Host

emUSB-Host is a USB host software specifically designed for embedded systems.

emWeb

emWeb provides easy to use graphical interfaces for control or data acquisition.

emWin

emWin is an embedded GUI solution that enables the creation of highly efficient, high quality, graphical user interfaces on any embedded system.

IoT Toolkit

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.


Production Tools

Production Programming Tools

Flasher

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.

Products

Flasher ARM

The Flasher ARM is the programmer of SEGGER for all ARM core MCUs.

Flasher ATE

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.

Flasher PRO

The Flasher PRO is the programmer of SEGGER for all types of MCUs and flash devices.

Flasher COMPACT

Flasher HUB

The Flasher Hub is a gang programmer of SEGGER.

Flasher SECURE

The Flasher SECURE is the programmer of SEGGER for all types of MCUs for secure purpose.


Miscellaneous

Measuring CPU Performance

This Wiki article explains how to easily compute the CPU performance.

HowTo Measure CPU Performance