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 6th March 2012 at http://forums.arm.com

    Dear Joseph,

    thank you very much for your support, and now a question regarding how to set variables for checking read and write operations.

    I would like to register several definitions (don't take care about packet overflow, I want only to understand how this task can be implemented) and let's suppose this is my current situation:

    • variable A, 2 bytes length @0x2000017C
    • variable B, 1 byte length @0x20000190
    • variable C, 2 bytes length @0x20000146
    • variable D, 1 byte length @0x20000144
    • variable E, 2 bytes length @0x2000023E
    Now, if I've understood correctly, DWR Comparator Register (0-3) are the registers to set in order to perform variable monitoring.
    But how can I set them?

    I think I should use the mask registers (Mask Register0-3) but I'm not able to understand how I should set their values.

    Could you help me?

    And what about DWT_FUNCTION(0-3) registers?

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

    Dear Joseph,

    thank you very much for your support, and now a question regarding how to set variables for checking read and write operations.

    I would like to register several definitions (don't take care about packet overflow, I want only to understand how this task can be implemented) and let's suppose this is my current situation:

    • variable A, 2 bytes length @0x2000017C
    • variable B, 1 byte length @0x20000190
    • variable C, 2 bytes length @0x20000146
    • variable D, 1 byte length @0x20000144
    • variable E, 2 bytes length @0x2000023E
    Now, if I've understood correctly, DWR Comparator Register (0-3) are the registers to set in order to perform variable monitoring.
    But how can I set them?

    I think I should use the mask registers (Mask Register0-3) but I'm not able to understand how I should set their values.

    Could you help me?

    And what about DWT_FUNCTION(0-3) registers?

    Thank you in advance!!!
Children
No data