project:arm_debugging:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
project:arm_debugging:start [2019/12/22 16:26] – [Example: Unbricking (restoring) Proxmark bootloader] abyssal | project:arm_debugging:start [2020/07/25 12:26] – ARM ITM trace HOWTO abyssal | ||
---|---|---|---|
Line 313: | Line 313: | ||
{{ : | {{ : | ||
+ | ===== SystemView for J-link - visualization of interrupts or other functions ===== | ||
+ | There is an instrumentation possible with changes to code to show how your functions and interrupts behave - [[https:// | ||
+ | |||
+ | Here is an example showing "tail chaining" | ||
+ | |||
+ | {{: | ||
+ | |||
+ | If you add extra functions, it may measure your functions as well: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | As a side note, ST-link on STM32 discovery boards can be reflashed to JLink (works only on discovery boards, not on separate ST-links). | ||
+ | |||
+ | ===== ARM ETM trace - recording executed instructions ===== | ||
+ | |||
+ | ARM processors (Cortex M1+ and others) have built-in a nifty feature that you can record all instructions executed. This requires quite costly hardware (expect 2000 EUR price - JTrace, Lauterbach and uLink), but it can be handy in debugging DMA and interrupts. | ||
+ | |||
+ | An example ETM trace: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== ARM ITM trace - recording samples of executed instructions, | ||
+ | |||
+ | You can get code profile like this with ITM (screenshow from '' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | To get this working, [[https:// | ||
====== Flyswatter connected to Proxmark ====== | ====== Flyswatter connected to Proxmark ====== | ||
project/arm_debugging/start.txt · Last modified: 2021/06/05 19:29 by abyssal