Difference between revisions of "MTB specifics"

From SEGGER Wiki
Jump to: navigation, search
(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