Main Page: Difference between revisions

From SEGGER Knowledge Base
Jump to navigation Jump to search
m (Flasher ATE2 added)
 
(707 intermediate revisions by 29 users not shown)
Line 1: Line 1:
<strong>Welcome to the SEGGER - Support Wiki</strong>
<strong>Welcome to the SEGGER Knowledge Base</strong>


== Debug Probes - J-Link & J-Trace ==
The SEGGER Knowledge Base was created to answer questions about embedded systems in general, to explain terms used in this context ([[Knowledge Base | Knowledge Base for Technical Terms]]), and to serve as a repository for advanced information that is related to SEGGER products.


The Knowledge Base is a work in progress, and it is continually updated, improved, and curated exclusively by SEGGER experts. To send feedback, please contact info@segger.com.


=== J-Link ===
<div class="toclimit-3">
__TOC__
</div>


==== Troubleshooting ====
== Technical Terms ==
* [[Debug session does not start]]
This part of the Knowledge Base explains terms often used in the field of embedded computing systems or "embedded systems." The aim of the Knowledge Base is to provide a useful resource for engineers, students, and hobbyists working with embedded systems, particularly with regard to microcontrollers, the C and C++ languages, and some assembly language.
* [[J-Link can't connect to the CPU]]
* [[J-Link-OB SAM3U]]
* [[J-Link-OB-RX621-ARM-SWD]]
* [[SPI Flash]]
* [[Unlimited Number of Breakpoints in Flash]]


==== Device specifics ====
Things are explained from a programmer's perspective, and, where possible, useful examples of code are provided. Examples of some of the terms explained are [[CPU]], [[CRC]], [[Embedded System]], [[Interrupt]], [[Microcontroller]], and [[Watchdog]]. The [[Knowledge Base]] for technical terms has its own page: [[Knowledge Base | Click here.]]


===== NXP (Freescale) =====
== Debug and trace probes ==
* [[Kinetis Series Devices]]
[[File:Category_Icon_Debug_01.svg|link=https://www.segger.com/products/debug-trace-probes/|right|200px|Debug and Trace Tools]]
* [[Connecting J-Link to LPCXpresso LPC1769]]
Debug and trace probes enable verification and debugging of embedded systems while they are running. The probes connect the embbedded system with the computer being used for development. This section is dedicated to SEGGER's product portfolio and related technology.
* [[Using LPC-Link 2 on LPCXpresso V2/V3]]
* [[i.MX6 SoloX Support]]
* [[Dual Core Debugging on LPC4350 with Embedded Studio]]
* [[Triple Core Debugging on LPC4367 with Embedded Studio]]


===== Renesas =====
=== J-Link and J-Trace ===
* [[RZ/G1]]
SEGGER J-Links are the most widely used line of debug probes available today. They've proven their value for more than 15 years.
* [[Using RTT on RZ A1H]]
===== Silicon Labs =====  
* [[EM35x]]


===== ST =====
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.
* [[Connecting to STM32 Nucleo boards]]
* [[Using SWO on STM327xxG evaluation boards]]
* [[Setting read out protection on STM32F0 devices]]
* [[Secured ST device detected]]
* [[STM32L4 dualbank flash programming]]
* [[SPC560D-Discovery Evalboard]]
* [[STM32F4]]


===== TI =====
* [[Debug Probes - J-Link & J-Trace | J-Link & J-Trace in this Knowledge Base]]
* [[TMS570 series]]
* [https://www.segger.com/jtrace/?mtm_campaign=kb&mtm_kwd=jtrace J-Trace on www.segger.com]
* [[TM4C123G LaunchPad]]
* [https://www.segger.com/jlink/?mtm_campaign=kb&mtm_kwd=jlink J-Link on www.segger.com]
* [https://wiki.segger.com/Technical_Support Technical support]


===== Toshiba =====
<br clear=all>
* [[TMPM46BF10FG Evaluation Board]]


==== Evaluation board specifics ====
== Software development tools ==
[[File:Category_Icon_Build_01.svg|link=https://www.segger.com/products/software-development-tools/|right|200px|Software Tools]]
Software tools are tools running on a computer used for developing embedded systems. They include tools for editing source code, building firmware, verifying functionality, and locating bugs. This section is dedicated to SEGGER's product portfolio and related technology.


===== Atmel =====
=== Embedded Studio ===
* [[SAM C21 Xplained Pro]]
SEGGER Embedded Studio is a complete all-in-one solution for managing, building, testing, and deploying embedded applications.


===== Renesas =====
* [[Embedded Studio | Embedded Studio in this Knowledge Base]]
* [[RZ/G1E Starter Kit]]
* [https://www.segger.com/products/development-tools/embedded-studio/?mtm_campaign=kb&mtm_kwd=EmbeddedStudio Embedded Studio on www.segger.com]


===== Silicon Labs =====
=== SystemView ===
* [[EFM Starter Kits]]
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.


==== Open Flash Loader ====
* [[SystemView | SystemView in this Knowledge Base]]
* [[Adding Support for New Devices]]
* [https://www.segger.com/systemview/?mtm_campaign=kb&mtm_kwd=SystemView SystemView on www.segger.com]


=== J-Trace ===
=== Ozone ===
==== TRACE ====
Ozone is a full-featured graphical debugger and performance analyzer for embedded applications.
* [[General notes for trace configuration]]
===== Keil MDK =====
* [[4-Pin Trace with STM32F2 / STM32F4]]
* [[4-Pin Trace with LPC4357]]
===== Embedded Studio =====
* [[Embedded Studio | ETB trace on NXP TWR-K65F]]


== Miscellaneous ==
* [[Ozone | Ozone in this Knowledge Base]]
* [https://www.segger.com/ozone/?mtm_campaign=kb&mtm_kwd=ozone Ozone on www.segger.com]
 
=== SEGGER Compiler ===
The SEGGER Compiler is a powerful C/C++ compiler for generating code for 32-bit ARM targets.
 
* [[SEGGER compiler | SEGGER Compiler in this Knowledge Base]]
* [https://www.segger.com/products/development-tools/embedded-studio/technology/tools/segger-compiler/?mtm_campaign=kb&mtm_kwd=compiler SEGGER Compiler on www.segger.com]
 
<br clear=all>
 
== Embedded software ==
[[File:Category_Icon_Create_01.svg|link=https://www.segger.com/products/rtos-embedded-software/|right|200px|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 related technology. SEGGER's embedded software has been deployed in billions of devices.
 
=== embOS ===
embOS is a Real Time Operating System (RTOS) by SEGGER.
* [[embOS | embOS in this Knowledge Base]]
* [https://www.segger.com/embOS/?mtm_campaign=kb&mtm_kwd=embOS embOS on www.segger.com]
 
=== emCompress ===
emCompress is a collection of software libraries that enable data compression and decompression on, but not limited to, resource-constrained devices.
* [[emCompress | emCompress in this Knowledge Base]]
* [https://www.segger.com/emCompress/?mtm_campaign=kb&mtm_kwd=emCompress emCompress on www.segger.com]
 
=== emCrypt ===
emCrypt is a secure and efficient implementation of essential cryptographic algorithms specifically designed for embedded systems.
* [[emCrypt | emCrypt in this Knowledge Base]]
* [https://www.segger.com/emCrypt/?mtm_campaign=kb&mtm_kwd=emCrypt emCrypt on www.segger.com]
 
=== emFile ===
emFile is a reliable file system for non-volatile and removable memories.
* [[emFile | emFile in this Knowledge Base]]
* [https://www.segger.com/emFile/?mtm_campaign=kb&mtm_kwd=emFile emFile on www.segger.com]
 
=== emFloat ===
emFloat is a performance-optimized, floating-point library for microcontrollers.
* [[emFloat | emFloat in this Knowledge Base]]
* [https://www.segger.com/products/development-tools/runtime-library/technology/floating-point-library/?mtm_campaign=li&mtm_kwd=emfloat emFloat on www.segger.com]
 
=== emFTP ===
The emFTP file-transfer protocol (FTP) server is an optional extension that adds an FTP protocol to the stack.
* [[emFTP | emFTP in this Knowledge Base]]
* [https://www.segger.com/emftp/?mtm_campaign=kb&mtm_kwd=emFTP emFTP on www.segger.com]
 
=== emLib ===
emLib is a collection of software modules (cryptographic modules, data integrity checks) for different purposes.
* [[emLib | emLib in this Knowledge Base]]
* [https://www.segger.com/emlib/?mtm_campaign=kb&mtm_kwd=emLib emLib on www.segger.com]
 
=== emLoad ===
emLoad is a bootloader for firmware updates.
* [[emLoad | emLoad in this Knowledge Base]]
* [https://www.segger.com/emload/?mtm_campaign=kb&mtm_kwd=emLoad emLoad on www.segger.com]
 
=== emModbus ===
emModbus is SEGGER's implementation of the Modbus protocol. It supports communication via UART (ASCII, RTU) and Ethernet (Modbus/TCP and Modbus/UDP), and it is capable of communicating with any Modbus-compliant device.
* [[emModbus | emModbus in this Knowledge Base]]
* [https://www.segger.com/emmodbus/?mtm_campaign=kb&mtm_kwd=emModbus emModbus on www.segger.com]
 
=== emMQTT ===
emMQTT provides the client functionality of the Message Queue Telemetry Transport protocol to a stack.
* [[emMQTT | emMQTT in this Knowledge Base]]
* [https://www.segger.com/emmqtt/?mtm_campaign=kb&mtm_kwd=emQTT emMQTT on www.segger.com]
 
=== emNet ===
emNet is the industry-leading IP stack for embedded systems.
* [[emNet | emNet in this Knowledge Base]]
* [https://www.segger.com/emnet/?mtm_campaign=kb&mtm_kwd=emNet emNet on www.segger.com]
 
=== emSecure ===
emSecure is a software solution for embedded systems for securely authenticating digital assets.
* [[emSecure | emSecure in this Knowledge Base]]
* [https://www.segger.com/emsecure/?mtm_campaign=kb&mtm_kwd=emSecure emSecure on www.segger.com]
 
=== emSSH ===
emSSH offers the ability to establish a secure connection to any server application in a product.
* [[emSSH | emSSH in this Knowledge Base]]
* [https://www.segger.com/emssh/?mtm_campaign=kb&mtm_kwd=emSSH emSSH on www.segger.com]
 
=== emSSL ===
emSSL is an implementation of SSL (Secure Sockets Layer), now called TLS (Transport Layer Security) for Embedded Systems by SEGGER.
* [[emSSL | emSSL in this Knowledge Base]]
* [https://www.segger.com/emSSL/?mtm_campaign=kb&mtm_kwd=emSSL emSSL on www.segger.com]
 
=== emUSB-Device ===
emUSB-Device is high-performance USB-device software that is specifically designed for embedded systems.
* [[emUSB-Device | emUSB-Device in this Knowledge Base]]
* [https://www.segger.com/emUSB-Device/?mtm_campaign=kb&mtm_kwd=emUSB-Device emUSB-Device on www.segger.com]
 
=== emUSB-Host ===
emUSB-Host is USB-host software that is specifically designed for embedded systems.
* [[emUSB-Host | emUSB-Host in this Knowledge Base]]
* [https://www.segger.com/emUSB-Host/?mtm_campaign=kb&mtm_kwd=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 Knowledge Base]]
* [https://www.segger.com/products/connectivity/emweb/?mtm_campaign=kb&mtm_kwd=emWeb emWeb product page on segger.com]
 
=== emWin ===
emWin is an embedded GUI solution that enables the creation of highly efficient and high-quality graphical user interfaces on any embedded system.
* [[emWin |  emWin in this Knowledge Base]]
* [https://www.segger.com/products/user-interface/emwin/?mtm_campaign=kb&mtm_kwd=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 Knowledge Base]]
* [https://www.segger.com/products/security-iot/iot-toolkit/?mtm_campaign=kb&mtm_kwd=IoT-Toolkit IoT Toolkit product page on segger.com]
 
===SEGGER Runtime Library===
The SEGGER RunTime Library converts any [[GCC]]-based toolchain into an option for use in professional-level development. It is used in SEGGER's Embedded Studio IDE, and it has proven its value over the course of years.
* [[SEGGER RunTime Library | SEGGER RunTime Library in this Knowledge Base]]
* [https://www.segger.com/products/development-tools/runtime-library/?mtm_campaign=kb&mtm_kwd=runtime SEGGER Runtime Library product page on segger.com]
* [[SEGGER Floating-Point Library | SEGGER Floating-Point Library in this Knowledge Base]]
 
<br clear=all>
 
== Production tools ==
[[File:Category_Icon_Program_01.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 a user's 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 Knowledge Base]]
* [https://www.segger.com/products/flasher-in-circuit-programmer/?mtm_campaign=kb&mtm_kwd=Flasher 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]]
* [https://wiki.segger.com/Technical_Support Technical support]
 
=== Products ===
 
==== Flasher ARM ====
Flasher ARM is SEGGER's programmer for all ARM-core MCUs.
* [[Flasher ARM V5|Flasher ARM in this Knowledge Base]]
* [https://www.segger.com/products/production/flasher/models/about-flasher-arm/?mtm_campaign=kb&mtm_kwd=FlasherARM Flasher ARM on segger.com]
 
==== Flasher ATE ====
Flasher ATE is SEGGER's gang programmer.
* [[Flasher ATE|Flasher ATE in this Knowledge Base]]
* [https://www.segger.com/products/production/flasher/models/gang-programmer-flasher-ate/?mtm_campaign=kb&mtm_kwd=FlasherATE Flasher ATE on segger.com]
 
==== Flasher ATE2 ====
Flasher ATE2 is SEGGER's single-board gang programmer with eight independent programming channle.
* [[Flasher ATE2|Flasher ATE2 in this Knowledge Base]]
* [https://www.segger.com/products/production/flasher/models/gang-programmer-flasher-ate/?mtm_campaign=kb&mtm_kwd=FlasherATE Flasher ATE2 on segger.com]
 
==== Flasher Portable PLUS ====
Flasher Portable PLUS is SEGGER's handheld programmer that is compatible with all types of MCUs and flash devices for maintenance purposes.
* [[Flasher Portable PLUS V1|Flasher Portable PLUS in this Knowledge Base]]
* [https://www.segger.com/products/production/flasher/models/flasher-portable-plus/?mtm_campaign=kb&mtm_kwd=FlasherPortablePlus Flasher Portable PLUS on segger.com]
 
==== Flasher PRO ====
Flasher PRO is SEGGER's programmer for all types of MCUs and flash devices.
* [[Flasher PRO|Flasher PRO in this Knowledge Base]]
* [https://www.segger.com/products/production/flasher/models/flasher-pro/?mtm_campaign=kb&mtm_kwd=FlasherPRO Flasher PRO on segger.com]
 
==== Flasher Compact ====
* [[Flasher Compact V5|Flasher Compact in this Knowledge Base]]
* [https://www.segger.com/products/production/flasher/models/flasher-compact/?mtm_campaign=kb&mtm_kwd=FlasherCompact Flasher Compact on segger.com]


=== Glossary / Definitions ===
==== Flasher Hub ====
* [[JTAG]]
Flasher Hub is SEGGER's gang programmer.
* [[SWD]]
* [[Flasher Hub|Flasher Hub in this Knowledge Base]]
* [[SWO]]
* [https://www.segger.com/products/production/flasher/tools/flasher-hub/?mtm_campaign=kb&mtm_kwd=FlasherHub Flasher Hub on segger.com]
* [[ETB]]
* [[ETM]]
* [[TMC]]
* [[MCU Security Options]]
* [[J-Link Command Strings]]


=== [[J-Link Software and Documentation Pack]] ===
==== Flasher Secure ====
==== [[J-Link DLL]] ====
Flasher Secure is SEGGER's security-oriented programmer for all types of MCUs.
* [[J-Link_DLL#Enable J-Link Log File|Enable J-Link Log File]]
* [[Flasher Secure|Flasher Secure in this Knowledge Base]]
* [https://www.segger.com/products/production/flasher/models/flasher-secure/?mtm_campaign=kb&mtm_kwd=FlasherSecure Flasher Secure on segger.com]


==== [[J-Link Commander]] ====
<br clear=all>
* [[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]]


==== J-Flash ====
== Miscellaneous ==
* [[CRC calculation]]
=== Measuring CPU Performance ===
This Knowledge Base article explains how to easily calculate CPU performance.


=== FAQ ===
[[HowTo_Measure_CPU_Performance | HowTo Measure CPU Performance]]
* [[Using Ethernet in TI's Code Composer Studio (CCS)]]
* [[Software and Hardware Features Overview]]

Latest revision as of 12:08, 24 June 2025

Welcome to the SEGGER Knowledge Base

The SEGGER Knowledge Base was created to answer questions about embedded systems in general, to explain terms used in this context ( Knowledge Base for Technical Terms), and to serve as a repository for advanced information that is related to SEGGER products.

The Knowledge Base is a work in progress, and it is continually updated, improved, and curated exclusively by SEGGER experts. To send feedback, please contact info@segger.com.

Technical Terms

This part of the Knowledge Base explains terms often used in the field of embedded computing systems or "embedded systems." The aim of the Knowledge Base is to provide a useful resource for engineers, students, and hobbyists working with embedded systems, particularly with regard to microcontrollers, the C and C++ languages, and some assembly language.

Things are explained from a programmer's perspective, and, where possible, useful examples of code are provided. Examples of some of the terms explained are CPU, CRC, Embedded System, Interrupt, Microcontroller, and Watchdog. The Knowledge Base for technical terms has its own page: 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 being used for development. This section is dedicated to SEGGER's product portfolio and related technology.

J-Link and 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 tools running on a computer used for developing embedded systems. They include tools for editing source code, building firmware, verifying functionality, and locating bugs. This section is dedicated to SEGGER's product portfolio and related technology.

Embedded Studio

SEGGER Embedded Studio is a complete all-in-one solution for managing, building, testing, and deploying 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

The SEGGER Compiler is a powerful C/C++ compiler for generating 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 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 that enable 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 a reliable file system for non-volatile and removable memories.

emFloat

emFloat is a performance-optimized, floating-point library for microcontrollers.

emFTP

The emFTP file-transfer protocol (FTP) server is an optional extension that adds an FTP protocol to the stack.

emLib

emLib is a collection of software modules (cryptographic modules, data integrity checks) for different purposes.

emLoad

emLoad is a bootloader for firmware updates.

emModbus

emModbus is SEGGER's implementation of the Modbus protocol. It supports communication via UART (ASCII, RTU) and Ethernet (Modbus/TCP and Modbus/UDP), and it 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 for securely authenticating digital assets.

emSSH

emSSH offers the ability to establish a secure connection to any server application in a 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 high-performance USB-device software that is specifically designed for embedded systems.

emUSB-Host

emUSB-Host is USB-host software that is 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 and 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 an option for use in professional-level development. It is used in SEGGER's Embedded Studio IDE, and it has proven its value over the course of years.


Production tools

Production Programming Tools

Flasher

SEGGER's in-circuit flash programmers are fast, robust, reliable, and easy to use.
Whether a user's 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

Flasher ARM is SEGGER's programmer for all ARM-core MCUs.

Flasher ATE

Flasher ATE is SEGGER's gang programmer.

Flasher ATE2

Flasher ATE2 is SEGGER's single-board gang programmer with eight independent programming channle.

Flasher Portable PLUS

Flasher Portable PLUS is SEGGER's handheld programmer that is compatible with all types of MCUs and flash devices for maintenance purposes.

Flasher PRO

Flasher PRO is SEGGER's programmer for all types of MCUs and flash devices.

Flasher Compact

Flasher Hub

Flasher Hub is SEGGER's gang programmer.

Flasher Secure

Flasher Secure is SEGGER's security-oriented programmer for all types of MCUs.


Miscellaneous

Measuring CPU Performance

This Knowledge Base article explains how to easily calculate CPU performance.

HowTo Measure CPU Performance