This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

[Cortex-M3] SWO Packet Parsing

Note: This was originally posted on 21st February 2012 at http://forums.arm.com

Hi,

I'm trying to play with SEGGER JLink device and ARM M3 micro in order to implement a SWV engine.
Currently I set a SWD protocol communication, and all other needed definitions for the SWO activation:

DEMCR    = 0x01000000
DWT_FUNCTION0 = 0x00000000
DWT_FUNCTION1 = 0x00000000
DWT_FUNCTION2 = 0x00000000
DWT_FUNCTION3 = 0x00000000

I would like to monitor a variable located at address 0x2000017C, a 2 bytes length interger that changes every 100us:

DWT_COMP0   = 0x2000017C
DWT_MASK0  = 0x00000001
DWT_FUNCTION0 = 0x00000023

SELECTED_PIN_PROTOCOL_REG = 0x00000002
TPIU_ACPR       = 0x0000008F
LOCK_ACCESS_REGISTER   = 0xC5ACCE55
ITM_TCR       = 0x0001000F
ITM_TPR       = 0x0000000F
ITM_TER       = 0x00000000
DWT_CTRL       = 0x400003FE
TPIU_FFCR       = 0x00000100

When I start my acquisition phase, I'm able to obtain the buffer content from the TPIU (see attachment):


00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FC 00 00 00 05 8F 00 00 00 00 D0...

but I have difficulties regarding the parsing process: I'm not able to understand if the 28 bytes of 0s belong to the header that should terminates with only one 0b1.
The serie, in fact, terminates with 0xFC = 0b11111100, but I don't know if the first 1 bit (position [7]) belongs to the header definition, so if I have to discard it and consider the remaining value (0b1111100) value for the next data retrieving.

And after the header, how can I understand what type of info is following?

Thank you very much.
Parents
  • Note: This was originally posted on 16th April 2012 at http://forums.arm.com

    Hi,

    I tried to decode your data buffer with my own SWO packet parser and the result is here displayed:


    Unrecognized packet.
    Source data: 0xFE 0xF8 0xF9
    -----------------------------------------------------------------------
    Extension packet: EX = 523765.
    Source data: 0xDC 0xFC 0xFD 0x1F
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 28 - DATA: -54659847.
    Source data: 0xE3 0xF9 0xF4 0xBD 0xFC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFD 0xFE
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 244.
    Source data: 0xF9 0xF4
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFC 0xF7
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 244.
    Source data: 0xF9 0xF4
    -----------------------------------------------------------------------
    Data trace packet: FORMAT: Address - COMP.NUMBER: 3 - RAO: True - DATA: 56.
    Source data: 0x7D 0x38
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xF8 0xFD 0xFE 0xFD 0xFA 0xEC 0xFC 0xFC 0x7F
    -----------------------------------------------------------------------
    Local timestamp packet: GENERATION: DelayedToITMOrDWTData - VALUE: 2078334.
    Source data: 0xF0 0xFE 0xEC 0x7E
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xC7 0xFA 0xF9 0xDD 0xF2 0xFD 0x3F
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xC7 0xF8 0xF8 0xFC 0xFE
    -----------------------------------------------------------------------
    Extension packet: EX = 5119.
    Source data: 0xFC 0xFE 0x13
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xF9 0xFD
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xFC 0xFC 0xF8 0xF4 0xB2 0xFC 0xFD 0xFC 0xFC 0xF9 0xFC 0xFF 0xFE 0xFC 0xF1 0xFD 0xFE 0xFC 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0x7F 0xFC
    -----------------------------------------------------------------------
    Extension packet: EX = 2060775.
    Source data: 0xFC 0xF9 0xF0 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0x7F 0xFD
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: -58921736.
    Source data: 0xFB 0xF8 0xEC 0x7C 0xFC
    -----------------------------------------------------------------------
    Data trace packet: FORMAT: Address - COMP.NUMBER: 3 - RAO: True - DATA: -84160514.
    Source data: 0x7F 0xFE 0xCF 0xFB 0xFA
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFF 0xFC 0xFC 0xFC 0xC7
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 65249.
    Source data: 0xFA 0xE1 0xFE
    -----------------------------------------------------------------------
    Extension packet: EX = 1048063.
    Source data: 0xFC 0xFF 0xFC 0x3F
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xE7 0xF8 0xDD 0xFC 0xF5
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0x1F 0xFC 0xF9 0xFE 0xBC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFF 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0x1F 0xD9 0xE8 0xFD 0xFC
    -----------------------------------------------------------------------
    Extension packet: EX = 319.
    Source data: 0xFC 0x4F
    -----------------------------------------------------------------------
    Extension packet: EX = 2095079.
    Source data: 0xFC 0xF9 0xF6 0x7E
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 30 - DATA: 252.
    Source data: 0xF1 0xFC
    -----------------------------------------------------------------------
    Data trace packet: FORMAT: ReadAccess - COMP.NUMBER: 0 - RAO: True - DATA: -34801412.
    Source data: 0x87 0xFC 0xF8 0xEC 0xFD
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFD 0xFE
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 30 - DATA: 254.
    Source data: 0xF1 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xED 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xBF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xF8 0xF8 0xDC 0xBC 0xFD 0xFE 0xC7 0xFA 0xF9 0xDC 0xFE 0xFC 0xFC 0xF2 0xF8 0xF8 0xFF 0xFD 0xFC 0x1F
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 28 - DATA: -21629698.
    Source data: 0xE3 0xFE 0xF4 0xB5 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFE
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 28 - DATA: -50530818.
    Source data: 0xE3 0xFE 0xF5 0xFC 0xFC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xF1 0xF5
    -----------------------------------------------------------------------
    Extension packet: EX = 32247.
    Source data: 0xF8 0xFC 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFD 0xF1
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 31969.
    Source data: 0xFA 0xE1 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xFF 0xFF 0xCF 0xFC 0xFD 0xFE 0xFD 0xF0 0xC7 0xFE 0xF9 0xFF 0xFD 0xFE 0x7F
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xC7 0xFE 0xE6 0xFD 0xFC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFC 0xFA
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 63677.
    Source data: 0xFA 0xBD 0xF8
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFF 0xF2 0xFD 0xFC 0xF8
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xF6 0xFC 0xFF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFF 0xFD 0xE0 0xF5 0xBC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0x7F 0xF9
    -----------------------------------------------------------------------
    Remaining bytes: 14.
    0xF8 0xEC 0xF0 0xFF 0x87 0xF1 0xF9 0x8D 0xFF 0xFC 0xFC 0xFC 0xF2 0xF9
    -----------------------------------------------------------------------



    I have to admit that my parser seems to work, but it's still under debugging, so take my outcomes with care; in case you found any error...please le me know about it  .

    In case you didn't know it, the SWO protocol is described in this document: DDI0403D_arm_architecture_v7m_reference_manual_errata_markup_1_0.pdf, Appendix D.

    Bye bye.
Reply
  • Note: This was originally posted on 16th April 2012 at http://forums.arm.com

    Hi,

    I tried to decode your data buffer with my own SWO packet parser and the result is here displayed:


    Unrecognized packet.
    Source data: 0xFE 0xF8 0xF9
    -----------------------------------------------------------------------
    Extension packet: EX = 523765.
    Source data: 0xDC 0xFC 0xFD 0x1F
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 28 - DATA: -54659847.
    Source data: 0xE3 0xF9 0xF4 0xBD 0xFC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFD 0xFE
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 244.
    Source data: 0xF9 0xF4
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFC 0xF7
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 244.
    Source data: 0xF9 0xF4
    -----------------------------------------------------------------------
    Data trace packet: FORMAT: Address - COMP.NUMBER: 3 - RAO: True - DATA: 56.
    Source data: 0x7D 0x38
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xF8 0xFD 0xFE 0xFD 0xFA 0xEC 0xFC 0xFC 0x7F
    -----------------------------------------------------------------------
    Local timestamp packet: GENERATION: DelayedToITMOrDWTData - VALUE: 2078334.
    Source data: 0xF0 0xFE 0xEC 0x7E
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xC7 0xFA 0xF9 0xDD 0xF2 0xFD 0x3F
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xC7 0xF8 0xF8 0xFC 0xFE
    -----------------------------------------------------------------------
    Extension packet: EX = 5119.
    Source data: 0xFC 0xFE 0x13
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xF9 0xFD
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xFC 0xFC 0xF8 0xF4 0xB2 0xFC 0xFD 0xFC 0xFC 0xF9 0xFC 0xFF 0xFE 0xFC 0xF1 0xFD 0xFE 0xFC 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0x7F 0xFC
    -----------------------------------------------------------------------
    Extension packet: EX = 2060775.
    Source data: 0xFC 0xF9 0xF0 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0x7F 0xFD
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: -58921736.
    Source data: 0xFB 0xF8 0xEC 0x7C 0xFC
    -----------------------------------------------------------------------
    Data trace packet: FORMAT: Address - COMP.NUMBER: 3 - RAO: True - DATA: -84160514.
    Source data: 0x7F 0xFE 0xCF 0xFB 0xFA
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFF 0xFC 0xFC 0xFC 0xC7
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 65249.
    Source data: 0xFA 0xE1 0xFE
    -----------------------------------------------------------------------
    Extension packet: EX = 1048063.
    Source data: 0xFC 0xFF 0xFC 0x3F
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xE7 0xF8 0xDD 0xFC 0xF5
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0x1F 0xFC 0xF9 0xFE 0xBC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFF 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0x1F 0xD9 0xE8 0xFD 0xFC
    -----------------------------------------------------------------------
    Extension packet: EX = 319.
    Source data: 0xFC 0x4F
    -----------------------------------------------------------------------
    Extension packet: EX = 2095079.
    Source data: 0xFC 0xF9 0xF6 0x7E
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 30 - DATA: 252.
    Source data: 0xF1 0xFC
    -----------------------------------------------------------------------
    Data trace packet: FORMAT: ReadAccess - COMP.NUMBER: 0 - RAO: True - DATA: -34801412.
    Source data: 0x87 0xFC 0xF8 0xEC 0xFD
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFD 0xFE
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 30 - DATA: 254.
    Source data: 0xF1 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xED 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xBF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xF8 0xF8 0xDC 0xBC 0xFD 0xFE 0xC7 0xFA 0xF9 0xDC 0xFE 0xFC 0xFC 0xF2 0xF8 0xF8 0xFF 0xFD 0xFC 0x1F
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 28 - DATA: -21629698.
    Source data: 0xE3 0xFE 0xF4 0xB5 0xFE
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFE
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 28 - DATA: -50530818.
    Source data: 0xE3 0xFE 0xF5 0xFC 0xFC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xF1 0xF5
    -----------------------------------------------------------------------
    Extension packet: EX = 32247.
    Source data: 0xF8 0xFC 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFD 0xFF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFD 0xF1
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 31969.
    Source data: 0xFA 0xE1 0x7C
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFC 0xFF 0xFF 0xCF 0xFC 0xFD 0xFE 0xFD 0xF0 0xC7 0xFE 0xF9 0xFF 0xFD 0xFE 0x7F
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xC7 0xFE 0xE6 0xFD 0xFC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0xFC 0xFA
    -----------------------------------------------------------------------
    Instrumentation packet: PORT: 31 - DATA: 63677.
    Source data: 0xFA 0xBD 0xF8
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFF 0xF2 0xFD 0xFC 0xF8
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xF6 0xFC 0xFF
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFF 0xFD 0xE0 0xF5 0xBC
    -----------------------------------------------------------------------
    Unrecognized packet.
    Source data: 0xFE 0x7F 0xF9
    -----------------------------------------------------------------------
    Remaining bytes: 14.
    0xF8 0xEC 0xF0 0xFF 0x87 0xF1 0xF9 0x8D 0xFF 0xFC 0xFC 0xFC 0xF2 0xF9
    -----------------------------------------------------------------------



    I have to admit that my parser seems to work, but it's still under debugging, so take my outcomes with care; in case you found any error...please le me know about it  .

    In case you didn't know it, the SWO protocol is described in this document: DDI0403D_arm_architecture_v7m_reference_manual_errata_markup_1_0.pdf, Appendix D.

    Bye bye.
Children
No data