The following figure shows how the execution trace information is stored in memory as a
sequence of packets.
Incrementing
SRAM memory
address
Nth destination address
Nth source address
S
A
31
0
1
2nd destination address
2nd source address
S
A
31
0
1
1st destination address
1st source address
S
A
Atom bit
Start bit
Odd word address
Even word address
Odd word address
Even word address
Figure 15-2. MTB execution trace storage format
The first, lower addressed, word contains the source of the branch, the address it
branched from. The value stored only records bits[31:1] of the source address, because
Thumb instructions are at least halfword aligned. The least significant bit of the value is
the A-bit. The A-bit indicates the atomic state of the processor at the time of the branch,
and can differentiate whether the branch originated from an instruction in a program, an
exception, or a PC update in Debug state. When it is zero the branch originated from an
instruction, when it is one the branch originated from an exception or PC update in
Debug state. This word is always stored at an even word location.
The second, higher addressed word contains the destination of the branch, the address it
branched to. The value stored only records bits[31:1] of the branch address. The least
significant bit of the value is the S-bit. The S-bit indicates where the trace started. An S-
bit value of 1 indicates where the first packet after the trace started and a value of 0 is
used for other packets. Because it is possible to start and stop tracing multiple times in a
trace session, the memory might contain several packets with the S-bit set to 1. This word
is always stored in the next higher word in memory, an odd word address.
When the A-bit is set to 1, the source address field contains the architecturally-preferred
return address for the exception. For example, if an exception was caused by an SVC
instruction, then the source address field contains the address of the following instruction.
This is different from the case where the A-bit is set to 0. In this case, the source address
contains the address of the branch instruction.
For an exception return operation, two packets are generated:
• The first packet has the:
• Source address field set to the address of the instruction that causes the exception
return, BX or POP.
Chapter 15 Micro Trace Buffer (MTB)
MKW01Z128 MCU Reference Manual, Rev. 3, 04/2016
Freescale Semiconductor, Inc.
259
Содержание MKW01Z128
Страница 7: ...MKW01xxRM Reference Manual Rev 3 04 2016 viii Freescale Semiconductor Inc...
Страница 11: ...MKW01xxRM Reference Manual Rev 3 04 2016 xii Freescale Semiconductor Inc...
Страница 31: ...MKW01Z128 Pins and Connections MKW01xxRM Reference Manual Rev 3 04 2016 2 8 Freescale Semiconductor Inc...
Страница 129: ...MKW01Z128 Transceiver MCU SPI Interface MKW01xxRM Reference Manual Rev 3 04 2016 8 6 Freescale Semiconductor Inc...
Страница 130: ...MKW01xxRM Reference Manual Rev 3 04 2016 Freescale Semiconductor Inc A 1 Appendix A MKW01Z128 MCU Reference Manual...
Страница 131: ...MKW01Z128 MCU Reference Manual MKW01xxRM Reference Manual Rev 3 04 2016 A 2 Freescale Semiconductor Inc...
Страница 133: ...MKW01Z128 MCU Reference Manual Rev 3 04 2016 2 Freescale Semiconductor Inc...
Страница 221: ...Private Peripheral Bus PPB memory map MKW01Z128 MCU Reference Manual Rev 3 04 2016 90 Freescale Semiconductor Inc...
Страница 233: ...Module clocks MKW01Z128 MCU Reference Manual Rev 3 04 2016 102 Freescale Semiconductor Inc...
Страница 255: ...Module operation in low power modes MKW01Z128 MCU Reference Manual Rev 3 04 2016 124 Freescale Semiconductor Inc...
Страница 279: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 148 Freescale Semiconductor Inc...
Страница 305: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 174 Freescale Semiconductor Inc...
Страница 325: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 194 Freescale Semiconductor Inc...
Страница 379: ...Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 248 Freescale Semiconductor Inc...
Страница 387: ...Memory map register descriptions MKW01Z128 MCU Reference Manual Rev 3 04 2016 256 Freescale Semiconductor Inc...
Страница 465: ...Functional Description MKW01Z128 MCU Reference Manual Rev 3 04 2016 334 Freescale Semiconductor Inc...
Страница 501: ...Initialization Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 370 Freescale Semiconductor Inc...
Страница 513: ...Interrupts MKW01Z128 MCU Reference Manual Rev 3 04 2016 382 Freescale Semiconductor Inc...
Страница 517: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 386 Freescale Semiconductor Inc...
Страница 611: ...Application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 480 Freescale Semiconductor Inc...
Страница 633: ...CMP Trigger Mode MKW01Z128 MCU Reference Manual Rev 3 04 2016 502 Freescale Semiconductor Inc...
Страница 643: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 512 Freescale Semiconductor Inc...
Страница 671: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 540 Freescale Semiconductor Inc...
Страница 803: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 672 Freescale Semiconductor Inc...
Страница 843: ...Functional description MKW01Z128 MCU Reference Manual Rev 3 04 2016 712 Freescale Semiconductor Inc...
Страница 877: ...Initialization application information MKW01Z128 MCU Reference Manual Rev 3 04 2016 746 Freescale Semiconductor Inc...