Difference between revisions of "MTB specifics"
(Created page with "TBD") |
|||
Line 1: | Line 1: | ||
+ | __TOC__ |
||
− | TBD |
||
+ | |||
+ | The ARM Micro Trace Buffer (MTB) is an on-chip trace buffer that allows to do post-mortem instruction trace via a regular J-Link with no need of a specific J-Trace unit. The MTB will use a specific amount of the on-chip RAM to store trace data while the core executes instructions. MTB is mainly used on smaller MCUs like Cortex-M0+/M23/M33 based ones. |
||
+ | |||
+ | = Limitations = |
||
+ | MTB is a very limited version of trace that has the following limitations: |
||
+ | * Instruction trace support only |
||
+ | * No streaming trace possible |
||
+ | * A portion of the target RAM may not be used by the application if MTB is used |
||
+ | |||
+ | = Configuration options provided by J-Link = |
||
+ | An MTB consists of the following registers / bit fields that allow configuration of the MTB and the amount of RAM it uses: |
||
+ | // MTB_BASE 32-bit register that specifies the base address of the MTB buffer |
||
+ | // MTB_POINTER 32-bit register that specifies the offset (rel. to BASE) where the next trace packet will be stored by the HW |
||
+ | // MTB_MASTER.MASK 5-bit bitfield that specifies the wrap-around point for the auto-inc logic of the MTB, on packet store |
Revision as of 14:08, 9 July 2018
The ARM Micro Trace Buffer (MTB) is an on-chip trace buffer that allows to do post-mortem instruction trace via a regular J-Link with no need of a specific J-Trace unit. The MTB will use a specific amount of the on-chip RAM to store trace data while the core executes instructions. MTB is mainly used on smaller MCUs like Cortex-M0+/M23/M33 based ones.
Limitations
MTB is a very limited version of trace that has the following limitations:
- Instruction trace support only
- No streaming trace possible
- A portion of the target RAM may not be used by the application if MTB is used
Configuration options provided by J-Link
An MTB consists of the following registers / bit fields that allow configuration of the MTB and the amount of RAM it uses:
// MTB_BASE 32-bit register that specifies the base address of the MTB buffer // MTB_POINTER 32-bit register that specifies the offset (rel. to BASE) where the next trace packet will be stored by the HW // MTB_MASTER.MASK 5-bit bitfield that specifies the wrap-around point for the auto-inc logic of the MTB, on packet store