Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| en:uhsdr_dev:segger_j_link [27.02.2018 06:00] – df9ts_user | en:uhsdr_dev:segger_j_link [27.02.2018 08:46] (current) – df9ts_user | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Segger | + | ==== Segger |
| + | Segger | ||
| Segger supports the Cortex M7 SWV interface used on OVI40 UI and offers plug-ins for MCU eclipse. | Segger supports the Cortex M7 SWV interface used on OVI40 UI and offers plug-ins for MCU eclipse. | ||
| - | For Debug output Segger offers two options in MCU eclipse: | + | For Debug output Segger offers |
| * TRACESWO output as defined by CORTEX M7. This requires a dedicated pin, currently used for M3 pushbutton switch | * TRACESWO output as defined by CORTEX M7. This requires a dedicated pin, currently used for M3 pushbutton switch | ||
| - | * Segger Real Time Tracing (RTT) with outputs debug messages in high speed via SWV debug lines (CLK and SWData). No need for an additional line to printout debug messages | + | * [[https:// |
| + | |||
| + | The J-Link makes use of the Cortex-M feature, which allows accessing the memory via the debug interface while the target is running. | ||
| + | How this works in general is described [[https:// | ||
| The speed advantage of RTT - according to Segger data - is impressive: | The speed advantage of RTT - according to Segger data - is impressive: | ||
| Line 59: | Line 64: | ||
| The RTT target code is shipped as part of the J-Link Software and Documentation Pack which can be downloaded [[https:// | The RTT target code is shipped as part of the J-Link Software and Documentation Pack which can be downloaded [[https:// | ||
| + | |||
| + | === Calling SEGGER_RTT print from within interrupts / make it re-entrant === | ||
| + | During RTT output the functions SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() are called by default in RTT, but the function bodies of those functions are empty and need to be implemented according to MCU used and use case. | ||
| + | |||
| + | Please implement | ||
| + | * SEGGER_RTT_LOCK() | ||
| + | * SEGGER_RTT_UNLOCK() | ||
| + | * .. and disable interrupts and threads which might use RTT in SEGGER_RTT_LOCK() and enable them again in SEGGER_RTT_UNLOCK(). | ||
| + | * See [https:// | ||
| ==== J-Link support for Option bytes and Lock / Unlock ==== | ==== J-Link support for Option bytes and Lock / Unlock ==== | ||