GSoC Project | Basic Support for Trace Compass

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Aug 2 15:38:19 UTC 2019


----- Am 2. Aug 2019 um 17:25 schrieb Ravindra Kumar Meena rmeena840 at gmail.com:

>>
>> The task name information is already in qoriq_e6500_64.bin:
>>
>> *:0:VERSION:5
>> *:0:PROCESSOR_MAXIMUM:17
>> *:0:PER_CPU_COUNT:10000
>> *:0:FREQUENCY:59682f00
>> *:0:THREAD_ID:9010001
>> *:0:THREAD_NAME:49444c45
[...]
>>
> 
> Please post the new output of the file you pushed on my workplace.
> How do you generate this output?

I just checked out the original version with some minor edits. This output should be enough to figure out how it works.

You have to extend the switch case in print_item() to check for RTEMS_RECORD_THREAD_ID and RTEMS_RECORD_THREAD_NAME. The thread name events contain the bytes in the data field. For the encoding see:

https://git.rtems.org/rtems/tree/cpukit/libtrace/record/record-userext.c#n54

On a 32-bit target you get 4 characters per data field, on a 64-bit target you get 8 characters per data field.

If you really want to keep your hash map, I would add unit tests for this piece of code. However, since the number of thread objects is limited to 3 * 2**16 in RTEMS, you don't need a hash map. Keep it simple, this program is just a proof of concept.




More information about the devel mailing list