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

SWO and variables reading

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

Dear all,

I would like to create a SWV application, and my question is the following: how many variables can I read via SWO communication?

I mean, without considering the overflow packet that could be sent in case of huge information traffic, is there a physical limit regarding this topic?

If I've understood weel, DWT_COMPx registers, with x={1, .., 4} is used in order to store the variable address that I would like to monitor, and DWT_MASKx are also used in order to raise a valid new SWO packet.

Does this mean that it's possible to check only for four variables, or should I set the mask register in order to detect ranges of variables?
With the latter case I could be able to monitor a very large number of items.

Am I wrong or is this the right approach?

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

    Ok, and that's clear.

    Now, a question regarding the synch packet.

    Considering the documentation, I could have at least 47 bits set to 0 followed by a single 1 bit.

    The reported example shows the minimum synch packet format, 7 bytes length.
    I think that the first one represents the header, and the remaining 6 bytes the payload.

    I would like to understand this aspect: if I had 6 bytes set to 0 (48 bits) then I could have the first bit of the next byte set to 1 in order to detect the complete frame.

    But at this point, I can only have a 0x80 value (in order to complete the byte, 7 dummy bits se to 0) or is it possible to retrieve any other information?

    For example the byte that concludes the 0b0s series could be defined as 0xFF, where the most significant bit is the one with synch meaning, and the other 7 bits that represent any other information? Or, and I hope for this solution, I can only get values like 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01?

    Thank in advance Joseph!
Reply
  • Note: This was originally posted on 28th March 2012 at http://forums.arm.com

    Ok, and that's clear.

    Now, a question regarding the synch packet.

    Considering the documentation, I could have at least 47 bits set to 0 followed by a single 1 bit.

    The reported example shows the minimum synch packet format, 7 bytes length.
    I think that the first one represents the header, and the remaining 6 bytes the payload.

    I would like to understand this aspect: if I had 6 bytes set to 0 (48 bits) then I could have the first bit of the next byte set to 1 in order to detect the complete frame.

    But at this point, I can only have a 0x80 value (in order to complete the byte, 7 dummy bits se to 0) or is it possible to retrieve any other information?

    For example the byte that concludes the 0b0s series could be defined as 0xFF, where the most significant bit is the one with synch meaning, and the other 7 bits that represent any other information? Or, and I hope for this solution, I can only get values like 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01?

    Thank in advance Joseph!
Children
No data