Hello everyone,
Thanks for making this lovely tools, it looks very useful.
I am attempting to use OpenCSD to decode some traces I pulled off of an ARM DSTREAM using it's RDDI interface. However I've run into some trouble, and I have a few questions.
In the ocsd_etmv3_cfg struct, what register is meant by the reg_ctrl? Do they mean the ETM's main control register?
What config settings does TPIU TDATA need to be decoded with? If anyone is familiar with the API, does data from RDDI need any pre-processing before giving to openCSD? Do I need to remove the DSTREAM trace data block footer? A few of the docs reference raw DSTREAm data, so I'm a little hopeful that there's some documentation I've just missed.
- Thanks all!
Hello,
On 8 August 2017 at 01:42, Akira Murphy AMurphy@blueorigin.com wrote:
Hello everyone,
Thanks for making this lovely tools, it looks very useful.
I am attempting to use OpenCSD to decode some traces I pulled off of an ARM DSTREAM using it’s RDDI interface. However I’ve run into some trouble, and I have a few questions.
In the ocsd_etmv3_cfg struct, what register is meant by the reg_ctrl? Do they mean the ETM’s main control register?
Yes it does.
What config settings does TPIU TDATA need to be decoded with?
You will need to ensure that the frame deformatter knows to look for the frame sync flags that are included in the TPIU output data. Use the OCSD_DFRMTR_HAS_FSYNCS flag when configuring the frame de-formatter.
If anyone is familiar with the API, does data from RDDI need any pre-processing before giving to openCSD? Do I need to remove the DSTREAM trace data block footer?
OpenCSD will not understand any additional formatting that DSTREAM adds into the data blocks - this must be removed and the trace data restore to a continuous block as output from the hardware.
The information about this should be in the RDDI documentation. If not I recommend contacting ARM support directly.
A few of the docs reference raw DSTREAm data, so I’m a little hopeful that there’s some documentation I’ve just missed.
Regards,
Mike
Thanks all!
CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight
A small update from a colleague in ARM.....
Documentation for the DSTREAM block format is in the DS-5 install directory....
DS-5/sw/debugger/RDDI/docs/html/DSTREAMTraceFormat.html
The 32-bit words are little endian encoded and that the record size for core sight is 32-bit words.
Thus to calculate the number of words in a DSTREAM 512 byte block:-
int bytes = 4 * ((block[offset+508] & 0x00FF) | ((block[offset+509] & 0x03) << 8))
were: block = array of 512 byte blocks. offset = zero based block number.
On 8 August 2017 at 09:58, Mike Leach mike.leach@linaro.org wrote:
Hello,
On 8 August 2017 at 01:42, Akira Murphy AMurphy@blueorigin.com wrote:
Hello everyone,
Thanks for making this lovely tools, it looks very useful.
I am attempting to use OpenCSD to decode some traces I pulled off of an ARM DSTREAM using it’s RDDI interface. However I’ve run into some trouble, and I have a few questions.
In the ocsd_etmv3_cfg struct, what register is meant by the reg_ctrl? Do they mean the ETM’s main control register?
Yes it does.
What config settings does TPIU TDATA need to be decoded with?
You will need to ensure that the frame deformatter knows to look for the frame sync flags that are included in the TPIU output data. Use the OCSD_DFRMTR_HAS_FSYNCS flag when configuring the frame de-formatter.
If anyone is familiar with the API, does data from RDDI need any pre-processing before giving to openCSD? Do I need to remove the DSTREAM trace data block footer?
OpenCSD will not understand any additional formatting that DSTREAM adds into the data blocks - this must be removed and the trace data restore to a continuous block as output from the hardware.
The information about this should be in the RDDI documentation. If not I recommend contacting ARM support directly.
A few of the docs reference raw DSTREAm data, so I’m a little hopeful that there’s some documentation I’ve just missed.
Regards,
Mike
Thanks all!
CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight
-- Mike Leach Principal Engineer, ARM Ltd. Blackburn Design Centre. UK
Mike,
Fantastic! Thanks for the response, I'll try and get it to work.
- Akira
-----Original Message----- From: Mike Leach [mailto:mike.leach@linaro.org] Sent: Tuesday, August 08, 2017 4:09 AM To: Akira Murphy AMurphy@blueorigin.com Cc: coresight@lists.linaro.org Subject: [EXTERNAL] Re: Using OpenCSD and ARM's DSTREAM
A small update from a colleague in ARM.....
Documentation for the DSTREAM block format is in the DS-5 install directory....
DS-5/sw/debugger/RDDI/docs/html/DSTREAMTraceFormat.html
The 32-bit words are little endian encoded and that the record size for core sight is 32-bit words.
Thus to calculate the number of words in a DSTREAM 512 byte block:-
int bytes = 4 * ((block[offset+508] & 0x00FF) | ((block[offset+509] & 0x03) << 8))
were: block = array of 512 byte blocks. offset = zero based block number.
On 8 August 2017 at 09:58, Mike Leach mike.leach@linaro.org wrote:
Hello,
On 8 August 2017 at 01:42, Akira Murphy AMurphy@blueorigin.com wrote:
Hello everyone,
Thanks for making this lovely tools, it looks very useful.
I am attempting to use OpenCSD to decode some traces I pulled off of an ARM DSTREAM using it’s RDDI interface. However I’ve run into some trouble, and I have a few questions.
In the ocsd_etmv3_cfg struct, what register is meant by the reg_ctrl? Do they mean the ETM’s main control register?
Yes it does.
What config settings does TPIU TDATA need to be decoded with?
You will need to ensure that the frame deformatter knows to look for the frame sync flags that are included in the TPIU output data. Use the OCSD_DFRMTR_HAS_FSYNCS flag when configuring the frame de-formatter.
If anyone is familiar with the API, does data from RDDI need any pre-processing before giving to openCSD? Do I need to remove the DSTREAM trace data block footer?
OpenCSD will not understand any additional formatting that DSTREAM adds into the data blocks - this must be removed and the trace data restore to a continuous block as output from the hardware.
The information about this should be in the RDDI documentation. If not I recommend contacting ARM support directly.
A few of the docs reference raw DSTREAm data, so I’m a little hopeful that there’s some documentation I’ve just missed.
Regards,
Mike
Thanks all!
CoreSight mailing list CoreSight@lists.linaro.org https://lists.linaro.org/mailman/listinfo/coresight
-- Mike Leach Principal Engineer, ARM Ltd. Blackburn Design Centre. UK
-- Mike Leach Principal Engineer, ARM Ltd. Blackburn Design Centre. UK