Difference between revisions of "Main Page"

From SEGGER Wiki
Jump to: navigation, search
(J-Link software)
(emFloat)
 
(226 intermediate revisions by 18 users not shown)
Line 1: Line 1:
  +
<strong>Welcome to the SEGGER Wiki</strong>
<div class="toclimit-4">
 
  +
  +
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.
  +
  +
<div class="toclimit-3">
 
__TOC__
 
__TOC__
 
</div>
 
</div>
 
<strong>Welcome to the SEGGER Wiki</strong>
 
   
 
== Knowledge Base ==
 
== Knowledge Base ==
The idea of the knowledge base is to explain terms often used in combination with Embedded Computing Systems,
+
The Knowledge Base explains terms often used in the field of Embedded Computing Systems, or "Embedded Systems", as we say in our industry.
or "Embedded Systems", as they are usually referred to in our industry.
 
In addition to that, we would like 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,
 
by explaining things from a programmers angle and providing useful code examples.
 
   
  +
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.
Keep in mind, This is work in progress ...
 
We plan to have a complete knowledge base around Embedded Systems in the near future
 
* [[CRC]]
 
* [[Embedded System]]
 
* [[Microcontroller]]
 
== Debug Probes - J-Link & J-Trace ==
 
   
  +
We explain things from a programmer's perspective and, where we can, provide useful code examples.
   
  +
Examples of the terms we explain are:
=== J-Link ===
 
* [[J-Link_control_panel | J-Link control panel]]
 
==== Software package components ====
 
* [[J-Link_Remote_Server | J-Link Remote Server]]
 
   
  +
[[CPU]], [[CRC]], [[Embedded System]], [[Interrupt]], [[Microcontroller]], [[Watchdog]]
==== IDE and Debugger specifics ====
 
* [[TI Code Composer Studio]]
 
* [[IAR EWARM]]
 
**[[IAR EWARM#Using J-Link with an existing project|Using J-Link with an existing project]]
 
**[[IAR EWARM#Using the J-Link Flash loader|Using the J-Link Flash loader]]
 
**[[IAR EWARM#Using J-Link script files|Using J-Link script files]]
 
**[[IAR EWARM#RDI|RDI]]
 
**[[IAR EWARM#SWO|SWO]]
 
**[[IAR EWARM#Connecting to a specific J-Link|Connecting to a specific J-Link]]
 
**[[IAR EWARM#How to configure SWO for EWARM V8|How to configure SWO for EWARM V8]]
 
* [[Keil MDK-ARM]]
 
* [[J-Link Commander]]
 
* [[Eclipse]]
 
* [[Atollic TrueSTUDIO]]
 
* [[Infineon DAVE 4]]
 
* [[NXP KDS]]
 
**[[NXP KDS#Updating J-Link under NXP KDS (Linux)|Updating J-Link under NXP KDS (Linux)]]
 
   
  +
[[Knowledge Base]] has its own wiki page. To go there, [[Knowledge Base | click here.]]
==== J-Link model specifics ====
 
* [[J-Link OB]]
 
* [[J-Link EDU Mini]]
 
* [[J-Trace PRO Cortex-M]]
 
* [[J-Trace PRO Cortex]]
 
   
==== Extending device support ====
+
== Debug and Trace Probes ==
  +
[[File:Category Icon Debug Tools.svg|link=https://www.segger.com/products/debug-trace-probes/|right|200px|Debug and Trace Tools]]
* [[Adding Support for New Devices]]
 
  +
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.
* [[Using Flashloader with different IDEs]]
 
   
==== Troubleshooting ====
+
=== 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-Link model specifics|J-Link model specific]]
 
  +
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
* [[#J-Link model specifics|J-Trace model specific]]
 
* [[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]]
 
* [[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-Link no USB enumeration]]
 
* [[J-Link LITE SAM-ICE | J-Link LITE incorrectly shown as SAM-ICE]]
 
* [[Incorrect J-Link USB driver installed]]
 
* [[J-Link application not starting]]
 
   
  +
* [[Debug Probes - J-Link & J-Trace | J-Link & J-Trace in this Wiki]]
==== Device specifics ====
 
  +
* [https://www.segger.com/jtrace J-Trace on www.segger.com]
  +
* [https://www.segger.com/jlink J-Link on www.segger.com]
   
  +
<br clear=all>
===== ARM =====
 
* [[CoreLink SSE-200 Subsystem for MPS3]]
 
   
  +
== Software Development Tools ==
===== Ambiq Micro =====
 
  +
[[File:Category Icon Software Tools.svg|link=https://www.segger.com/products/software-development-tools/|right|200px|Software Tools]]
* [[Apollo2]]
 
  +
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.
   
===== Analog Devices =====
+
=== Embedded Studio ===
  +
SEGGER Embedded Studio is a complete all-in-one solution for managing, building, testing and deploying your embedded applications.
* [[ADuC7xxx]]
 
   
  +
* [[Embedded Studio | Embedded Studio in this Wiki]]
===== Atmel =====
 
  +
* [https://www.segger.com/products/development-tools/embedded-studio/ Embedded Studio on www.segger.com]
* [[AT91SAM7]]
 
* [[ATSAML11]]
 
   
===== Cypress =====
+
=== 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.
* [[PSoC 4xxx series readout protection]]
 
* [[PSoC series | PSoC series devices]]
 
   
  +
* [[SystemView | SystemView in this Wiki]]
===== Dialog Semiconductor =====
 
  +
* [https://www.segger.com/systemview SystemView on www.segger.com]
* [[DA14583 series]]
 
   
===== Infineon =====
+
=== Ozone ===
  +
Ozone is a full-featured graphical debugger and performance analyzer for embedded applications.
* [[XMC1000]]
 
* [[XMC4xxx series]]
 
* [[TLE987x series]]
 
   
  +
* [[Ozone | Ozone in this Wiki]]
===== Intel =====
 
  +
* [https://www.segger.com/ozone Ozone on www.segger.com]
* [[Intel Quark processors]]
 
* [[Cyclone V series]]
 
   
===== MediaTek =====
+
=== SEGGER compiler ===
  +
A powerful C/C++ compiler to generate code for 32-bit ARM targets.
* [[MT7697 series]]
 
* [[MT2523 series]]
 
   
  +
* [[SEGGER compiler | SEGGER compiler in this Wiki]]
===== Microchip =====
 
* [[ATSAM Device Series]]
 
** [[ATSAME70]]
 
** [[ATSAMS70]]
 
** [[ATSAMV7x]]
 
   
  +
<br clear=all>
===== Nordic Semi =====
 
* [[nRF51 Series Devices]]
 
* [[nRF52 Series Devices]]
 
   
===== NXP =====
+
== Embedded Software ==
  +
[[File:Category Icon Embedded Software.svg|link=https://www.segger.com/products/rtos-embedded-software/|right|200px|Embedded Software, Stacks and Libraries]]
* [[S32Kxxx]]
 
  +
This section describes all libraries, middleware and software packages used as building blocks for an embedded system's firmware.
* [[Kinetis Series Devices]]
 
  +
This section is dedicated to SEGGER's product portfolio and the related technology. SEGGER's Embedded Software has been deployed in billions of devices.
** [[K32W]]
 
** [[Kinetis KE1xZ 48 MHz series]]
 
* [[iMX Series Devices]]
 
** [[i.MX6SoloX]]
 
** [[I.MX6DQ | i.MX6DualLite]]
 
** [[I.MX6DQ | i.MX6Dual]]
 
** [[I.MX6DQ | i.MX6DualPlus]]
 
** [[I.MX6DQ | i.MX6Quad]]
 
** [[I.MX6DQ | i.MX6QuadPlus]]
 
** [[i.MX7Dual]]
 
** [[i.MX7ULP]]
 
** [[i.MXRT1050]]
 
** [[i.MXRT1060]]
 
*LPC Series Devices
 
** [[LPC178x]]
 
** [[LPC540xx]]
 
** [[LPC55xx]]
 
** [[LPC series - EMC buffer]]
 
** [[Dual Core Debugging on LPC4350 with Embedded Studio]]
 
** [[Triple Core Debugging on LPC4367 with Embedded Studio]]
 
   
===== Renesas =====
+
=== embOS ===
  +
embOS is a Real Time Operating System (RTOS) by SEGGER.
* [[RZ/G1]]
 
* [[RZ_A1H | RZ/A1H]]
+
* [[embOS | embOS in this Wiki]]
  +
* [https://www.segger.com/embOS embOS on www.segger.com]
* [[Using RTT on RZ A1H]]
 
* [[Synergy]]
 
   
===== Silicon Labs =====
+
=== emCompress ===
  +
emCompress is a collection of software libraries enabling data compression and decompression on, but not limited to, resource-constrained devices.
* [[EFM32]]
 
  +
* [[emCompress | emCompress in this Wiki]]
<!--* [[EFR32xG1x|EFR32xG12]]-->
 
  +
* [https://www.segger.com/emCompress emCompress on www.segger.com]
<!--* [[EFR32xG1x|EFR32xG13]]-->
 
<!--* [[EFR32xG1x|EFR32xG14]]-->
 
* [[EFR32xG1x_Bootloader]]
 
   
===== SiFive =====
+
=== emCrypt ===
  +
emCrypt is a secure and efficient implementation of essential cryptographic algorithms specifically designed for embedded systems.
* [[FE310 | Freedom E310 (FE310)]]
 
  +
* [[emCrypt | emCrypt in this Wiki]]
  +
* [https://www.segger.com/emCrypt emCrypt on www.segger.com]
   
===== ST =====
+
=== emFile ===
  +
emFile is the reliable file system for non-volatile and removable memories.
* [[Connecting to STM32 Nucleo boards]]
 
* [[Using SWO on STM327xxG evaluation boards]]
+
* [[emFile | emFile in this Wiki]]
  +
* [https://www.segger.com/emFile emFile on www.segger.com]
* [[Setting read out protection on STM32F0 devices]]
 
* [[Secured ST device detected]]
 
* [[STR91x]]
 
* [[STM32]]
 
** [[STM32F1]]
 
** [[STM32F2]]
 
** [[STM32F4]]
 
** [[STM32L4]]
 
** [[STM32L5]]
 
** [[STM32F7]]
 
** [[STM32H7]]
 
   
===== Syntacore =====
+
=== emFloat ===
  +
emFloat is the performance-optimized floating-point library for microcontrollers.
* [[Syntacore SCR1 | SCR1]]
 
  +
* [[emFloat | emFloat in this Wiki]]
  +
* [https://www.segger.com/products/development-tools/runtime-library/technology/floating-point-library/ emFloat on www.segger.com]
   
===== TI =====
+
=== emFTP ===
  +
The emFTP FTP (File Transfer Protocol) server is an optional extension which adds the FTP protocol to the stack.
* [[TM4C Security]]
 
  +
* [[emFTP | emFTP in this Wiki]]
* [[TMS570Lx series]]
 
  +
* [https://www.segger.com/emftp emFTP on www.segger.com]
* [[TI_RMxxL|RM4xL series]]
 
* [[TI_RMxxL|RM5xL series]]
 
   
===== Toshiba =====
+
=== emLib ===
  +
emLib is a collection of software modules such as, cryptographic modules and data integrity checks for different purposes.
* [[TMPM46BF10FG Evaluation Board]]
 
  +
* [[emLib | emLib in this Wiki]]
  +
* [https://www.segger.com/emlib emLib on www.segger.com]
   
===== Xilinx =====
+
=== emLoad ===
  +
emLoad is a bootloader for firmware updates.
* [[Xilinx Zynq UltraScalePlus | Zynq UltraScale+]]
 
  +
* [[emLoad | emLoad in this Wiki]]
  +
* [https://www.segger.com/emload emLoad on www.segger.com]
   
===== Zilog =====
+
=== 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.
* [[ZNEQ32_Z32F0xx3 series]]
 
  +
* [[emModbus | emModbus in this Wiki]]
  +
* [https://www.segger.com/emmodbus emModbus on www.segger.com]
   
==== Evaluation board specifics ====
+
=== emMQTT ===
  +
emMQTT provides the client functionality of the Message Queue Telemetry Transport protocol to a stack.
  +
* [[emMQTT | emMQTT in this Wiki]]
  +
* [https://www.segger.com/emmqtt emMQTT on www.segger.com]
   
===== ARM =====
+
=== emNet ===
  +
emNet is the industry-leading IP stack for embedded systems.
* [[MPS3]]
 
  +
* [[emNet | emNet in this Wiki]]
  +
* [https://www.segger.com/emnet emNet on www.segger.com]
   
===== Ambiq Micro =====
+
=== emSecure ===
  +
emSecure is a software solution for embedded systems to securely authenticate digital assets.
* [[Apollo2 EVB]]
 
  +
* [[emSecure | emSecure in this Wiki]]
  +
* [https://www.segger.com/emsecure emSecure on www.segger.com]
   
===== Adafruit =====
+
=== emSSH ===
  +
emSSH offers the ability to establish a secure connection to any server application in your product.
* [[Bluefruit LE UART Friend]]
 
  +
* [[emSSH | emSSH in this Wiki]]
  +
* [https://www.segger.com/emssh emSSH on www.segger.com]
   
===== Atmel =====
+
=== emSSL ===
  +
emSSL is an implementation of SSL (Secure Sockets Layer), now called TLS (Transport Layer Security) for Embedded Systems by SEGGER.
* [[SAM C21 Xplained Pro]]
 
* [[SAM E53/54 Xplained Pro]]
+
* [[emSSL | emSSL in this Wiki]]
  +
* [https://www.segger.com/emSSL emSSL on www.segger.com]
   
===== Infineon =====
+
=== emUSB-Device ===
  +
emUSB-Device is a high performance USB device software specifically designed for embedded systems.
* [[Eval-M1-1302]]
 
  +
* [[emUSB-Device | emUSB-Device in this Wiki]]
  +
* [https://www.segger.com/emUSB-Device emUSB-Device on www.segger.com]
   
===== MediaTek =====
+
=== emUSB-Host ===
  +
emUSB-Host is a USB host software specifically designed for embedded systems.
* [[MT2523 LinkIt Board]]
 
  +
* [[emUSB-Host | emUSB-Host in this Wiki]]
  +
* [https://www.segger.com/emUSB-Host emUSB-Host on www.segger.com]
   
===== Microchip =====
+
=== emWeb ===
  +
emWeb provides easy to use graphical interfaces for control or data acquisition.
* [[CEC1702 clicker]]
 
  +
* [[emWeb | emWeb in this Wiki]]
* [[SAMA5D2 XPlained Ultra]]
 
  +
* [https://www.segger.com/products/connectivity/emweb/ emWeb product page on segger.com]
   
===== Renesas =====
+
=== emWin ===
  +
emWin is an embedded GUI solution that enables the creation of highly efficient, high quality, graphical user interfaces on any embedded system.
* [[RZ/G1E Starter Kit]]
 
  +
* [[emWin | emWin in this Wiki]]
  +
* [https://www.segger.com/products/user-interface/emwin/ emWin product page on segger.com]
   
===== SiFive =====
+
=== IoT Toolkit ===
  +
The IoT Toolkit is a collection of libraries that enables communication with modern IoT based environments and devices.
* [[SiFive Arty FPGA Dev Kit]]
 
  +
* [[IoT Toolkit | IoT Toolkit in this Wiki]]
  +
* [https://www.segger.com/products/security-iot/iot-toolkit/ IoT Toolkit product page on segger.com]
   
===== Silicon Labs =====
+
===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.
* [[EFM Starter Kits]]
 
  +
* [[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>
===== Syntacore =====
 
* [[Syntacore SCR1 SDK Arty | SCR1 SDK Arty]]
 
   
===== TI =====
+
== Production Tools ==
  +
[[File:Category Icon Production Tools.svg|link=https://www.segger.com/products/flash-in-circuit-programmers/|right|200px|Production Programming Tools]]
* [[LAUNCHXL CC2640R2]]
 
* [[LAUNCHXL CC2650]]
 
* [[LAUNCHXL CC26X2R1]]
 
* [[CC1310 LaunchPad]]
 
* [[CC1350 LaunchPad]]
 
* [[CC3220 LaunchPad]]
 
* [[TM4C123G LaunchPad]]
 
   
===== NXP =====
+
=== Flasher ===
  +
SEGGER's in-circuit flash programmers are fast, robust, reliable, and easy to use.<br>
* [[FRDM-KE16Z]]
 
  +
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.
* [[FRDM-KW41Z]]
 
  +
* [[Flasher|Flasher in this Wiki]]
* [[IMX6UL-EVK]]
 
  +
* [https://www.segger.com/products/flasher-in-circuit-programmer Flasher on www.segger.com]
* [[IMX6ULL-EVK]]
 
  +
* [[UM08022_Flasher | Flasher User Manual]]
* [[LPCXpresso4337 V3]]
 
  +
* [[UM08043_Flasher_Hub-12 | Flasher Hub-12 User Manual]]
* [[LPCXpresso LPC1769]]
 
* [[LPCXpresso V2/V3 based boards]]
+
* [[UM08003_JFlash | J-Flash User Manual]]
* [[TWR-KV58F220M]]
 
   
===== ST =====
+
=== Products ===
* [[SPC560D-Discovery Evalboard]]
 
* [[STM3241G-EVAL]]
 
* [[STM32F746 Discovery]]
 
* [[STM32F769I EVAL]]
 
* [[STM32H743I-EVAL]]
 
* [[STM32L476 Discovery]]
 
* [[STM32L476 Eval]]
 
* [[STEVAL-FCU001V1]]
 
* [[NUCLEO-F070RB]]
 
   
===== Xilinx =====
+
==== Flasher ARM ====
  +
The Flasher ARM is the programmer of SEGGER for all ARM core MCUs.
* [[Zedboard Evalboard]]
 
  +
* [[Flasher ARM|Flasher ARM in the wiki]]
* [[MicroZed Evalboard]]
 
  +
* [https://www.segger.com/products/production/flasher/models/about-flasher-arm/ Flasher ARM on segger.com]
   
==== Flash programming ====
+
==== Flasher ATE ====
  +
The Flasher ATE is a gang programmer of SEGGER.
* [[Programming non memory-mapped flash]]
 
  +
* [[Flasher ATE|Flasher ATE in the wiki]]
* [[Read-Modify-Write Flash]]
 
  +
* [https://www.segger.com/products/production/flasher/models/gang-programmer-flasher-ate/ Flasher ATE on segger.com]
   
=== J-Trace ===
+
==== 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.
* [[General information about tracing]]
 
  +
* [[Flasher Portable PLUS|Flasher Portable PLUS in the wiki]]
* [[MTB specifics]]
 
  +
* [https://www.segger.com/products/production/flasher/models/flasher-portable-plus/ Flasher Portable PLUS on segger.com]
* [[How to configure JLinkScript files to enable tracing]]
 
* [[Tracing on Atmel ATSAMA5D2]]
 
* [[Tracing on Atmel ATSAMD51]]
 
* [[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 Nordic Semiconductor nRF52832]]
 
** [[Tracing on Nordic Semiconductor nRF52840]]
 
* [[Tracing on NXP iMX RT1050 (iMX RT1050 Trace Reference Board)]]
 
* [[Tracing on NXP LPC1758]]
 
* [[Tracing on NXP LPC1768]]
 
* [[Tracing on NXP LPC1788]]
 
* [[Tracing on NXP LPC1857]]
 
* [[Tracing on NXP LPC4350]]
 
* [[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 MKL25]]
 
* [[Tracing on NXP Kinetis MKL82]]
 
* [[Tracing on NXP Kinetis MKV58F1M0]]
 
* [[Tracing on NXP Kinetis MKW24D512]]
 
* [[Tracing on NXP Kinetis MKW36A]]
 
* [[Tracing on NXP Kinetis KE1xZ]]
 
* [[Tracing on Renesas Synergy R7FS7G2]]
 
* [[Tracing on Renesas Synergy R7FS5D5]]
 
* [[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 EFR32MG12]]
 
* [[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 STM32F779]]
 
* [[Tracing on ST STM32H743 (SEGGER STM32H7 Trace Reference Board)]]
 
* [[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]]
 
   
=== Getting Started with Various IDEs ===
+
==== Flasher PRO ====
  +
The Flasher PRO is the programmer of SEGGER for all types of MCUs and flash devices.
* [[Renesas e²studio]]
 
  +
* [[Flasher PRO|Flasher PRO in the wiki]]
  +
* [https://www.segger.com/products/production/flasher/models/flasher-pro/ Flasher PRO on segger.com]
   
== Embedded Studio ==
+
==== Flasher COMPACT ====
  +
* [[Flasher Compact V5|Flasher Compact in the wiki]]
* [[SEGGER Embedded Studio]]
 
  +
* [https://www.segger.com/products/production/flasher/models/flasher-compact/ Flasher Compact on segger.com]
**[[SEGGER Embedded_Studio#Nordic Semiconductor license | Nordic Semiconductor license]]
 
**[[SEGGER Embedded_Studio#ETB trace on NXP TWR-K65F|ETB trace on NXP TWR-K65F]]
 
**[[SEGGER Embedded_Studio#How to port projects from IAR EWARM to SEGGER Embedded Studio|How to port projects from IAR EWARM to SEGGER Embedded Studio]]
 
**[[SEGGER Embedded_Studio#How to configure Embedded Studio to use SWO|How to configure Embedded Studio to use SWO]]
 
**[[SEGGER Embedded_Studio#VCS configuration|VCS configuration]]
 
**[[SEGGER Embedded_Studio#Installation on newer Linux versions|Installation on newer Linux versions]]
 
**[[SEGGER Embedded_Studio#How to enable RTOS thread awareness|How to enable RTOS thread awareness]]
 
**[[SEGGER Embedded_Studio#How to place a function in RAM|How to place a function in RAM]]
 
**[[SEGGER Embedded_Studio#How to use an external toolchain with Embedded Studio|How to use an external toolchain with Embedded Studio]]
 
*[[Porting from GCC to SEGGER Linker]]
 
   
== SystemView ==
+
==== Flasher HUB ====
  +
The Flasher Hub is a gang programmer of SEGGER.
* [[FreeRTOS with SystemView]]
 
  +
* [[Flasher Hub|Flasher Hub in the wiki]]
* [[Use SystemView without RTOS]]
 
  +
* [https://www.segger.com/products/production/flasher/tools/flasher-hub/ Flasher Hub on segger.com]
   
== Ozone ==
+
==== Flasher SECURE ====
  +
The Flasher SECURE is the programmer of SEGGER for all types of MCUs for secure purpose.
* [[SEGGER Ozone]]
 
  +
* [[Flasher SECURE|Flasher SECURE in the wiki]]
**[[SEGGER Ozone#Automated_test_example|Automated test example]]
 
  +
* [https://www.segger.com/products/production/flasher/models/flasher-secure/ Flasher SECURE on segger.com]
**[[SEGGER Ozone#Dual_core_debugging_example_based_on_NXP_LPC4350|Dual core debugging example based on NXP LPC4350]]
 
**[[SEGGER Ozone#Start_debug_session_with_bootloader|Start debug session with bootloader]]
 
**[[SEGGER Ozone#Start_debug_session_with_bootloader|Watch window expression examples]]
 
   
  +
<br clear=all>
== Middleware ==
 
*[[emUSB-Device]]
 
   
 
== Miscellaneous ==
 
== Miscellaneous ==
  +
=== Measuring CPU Performance ===
  +
This Wiki article explains how to easily compute the CPU performance.
   
  +
[[HowTo_Measure_CPU_Performance | HowTo Measure CPU Performance]]
=== J-Link software ===
 
* [[J-Link Software and Documentation Pack]]
 
* [[Enable J-Link log file]]
 
* [[Selecting the correct device]]
 
* [[Using J-Link Script Files]]
 
* [[Using J-Link Command Strings]]
 
* [[Using J-Link VCOM functionality]]
 
* [[Using JLinkDevices.xml]]
 
* [[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]]
 
* [[CFI Flash]]
 
 
=== CALLIOPE mini ===
 
* [[Upgrading CALLIOPE mini to J-Link]]
 
 
=== J-Flash ===
 
* [[CRC calculation]]
 
 
=== SEGGER Runtime Library ===
 
* [[How to use the SEGGER Runtime Library with NXP's MCUXpresso]]
 
 
=== 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]]
 
* [[Unlock maximum SWO speed on SEGGER's high end debug probes]]
 
* [[J-Trace vs. J-Trace PRO]]
 
 
=== Glossary / Definitions ===
 
* [[JTAG]]
 
* [[SWD]]
 
* [[SWO]]
 
* [[ETB]]
 
* [[ETM]]
 
* [[TMC]]
 
* [[MCU Security Options]]
 
* [[J-Link software versioning]]
 
* [[Semihosting]]
 

Latest revision as of 10: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