Hi,
On Thu, 10 Oct 2024 at 09:34, deepanjali.s.19@gmail.com wrote:
I am currently working with a ZedBoard featuring the Zynq 700 and have enabled CoreSight components in the kernel features and device tree blob (DTB). I can confirm that I can view the CoreSight devices located in /sys/bus/.
However, I've encountered an issue when attempting to enable or disable CoreSight data dumps. The results are only producing minimal binary files.
ubuntu@arm:/sys/bus/coresight/devices$ ls -lh total 0 lrwxrwxrwx 1 root root 0 Mar 27 2023 etb0 -> ../../../devices/soc0/axi/f8801000.etb/etb0 lrwxrwxrwx 1 root root 0 Mar 27 2023 etm0 -> ../../../devices/soc0/axi/f889c000.ptm/etm0 lrwxrwxrwx 1 root root 0 Mar 27 2023 etm1 -> ../../../devices/soc0/axi/f889d000.ptm/etm1 lrwxrwxrwx 1 root root 0 Mar 27 2023 funnel0 -> ../../../devices/soc0/axi/f8804000.funnel/funnel0 lrwxrwxrwx 1 root root 0 Mar 27 2023 replicator0 -> ../../../devices/soc0/replicator/replicator0 lrwxrwxrwx 1 root root 0 Mar 27 2023 tpiu0 -> ../../../devices/soc0/axi/f8803000.tpiu/tpiu0
ubuntu@arm:/sys/bus/coresight/devices$ dmesg | grep coresight [ 1.578865] coresight etm0: PTM 1.0 initialized [ 1.584452] coresight etm1: PTM 1.0 initialized
ubuntu@arm:/sys/bus/coresight/devices$ dmesg | grep amba [ 0.033923] amba f8801000.etb: Fixed dependency cycle(s) with /replicator/out-ports/port@1/endpoint [ 0.034129] amba f8803000.tpiu: Fixed dependency cycle(s) with /replicator/out-ports/port@0/endpoint [ 0.034358] amba f8804000.funnel: Fixed dependency cycle(s) with /replicator/in-ports/port/endpoint [ 0.034571] amba f889c000.ptm: Fixed dependency cycle(s) with /axi/funnel@f8804000/in-ports/port@0/endpoint [ 0.034779] amba f889d000.ptm: Fixed dependency cycle(s) with /axi/funnel@f8804000/in-ports/port@1/endpoint
root@arm:/sys/bus/coresight/devices# echo 1 | sudo tee etb0/enable_sink 1 root@arm:/sys/bus/coresight/devices# echo 1 | sudo tee etm1/enable_source 1
You need to disable source and sink before reading the data.
root@arm:/sys/bus/coresight/devices# dd if=/dev/etb0 of=~/cstrace.bin 8+0 records in 8+0 records out 4096 bytes (4.1 kB, 4.0 KiB) copied, 0.00763361 s, 537 kB/s root@arm:~# hexdump -C cstrace.bin 00000000 ff ff ff 7f ff ff ff 7f ff ff ff 7f ff ff ff 7f |................| 00000010 25 86 d2 1f c4 8c 86 1a 8a e9 22 84 c4 a9 c8 4b |%........."....K| 00000020 02 c1 b0 e3 00 d1 a8 c8 02 e7 de a8 04 e0 8a 3b |...............;| 00000030 ce 18 8e c1 18 e5 22 88 ac e1 d6 03 de d7 a8 75 |......"........u| 00000040 04 86 f6 1f 8c 85 20 8c 0e ce 86 85 f6 c7 02 d2 |...... .........| 00000050 ea fe f0 00 8a b9 8e c8 02 84 4a f1 fe f0 00 31 |..........J....1| 00000060 a0 9d c0 d3 02 b4 fe 00 94 8d 00 dc 14 94 9a ee |................| 00000070 fc f0 00 b8 d6 c0 d2 03 9c 7f 94 8d 00 dc 14 cd |................| 00000080 94 c1 fa e0 00 8a b8 c3 22 f5 fe 22 ae fd 30 7a |........".."..0z| 00000090 25 8c 36 9a 44 ee 50 b8 f6 8e c8 03 a6 c9 00 9e |%.6.D.P.........| 000000a0 9c 55 84 59 92 0f c8 cc 9c a1 c8 e5 00 84 fc e4 |.U.Y............| 000000b0 96 c8 02 a8 ac 0f ea d4 ea fc ea d4 ec c4 b8 07 |................| 000000c0 ca 12 e6 f6 f2 cb fe f0 00 c2 9e e5 a6 3c e6 41 |.............<.A| 000000d0 84 f5 1a a2 da 1c f4 8c 8a f2 38 f0 94 bb 8e b6 |..........8.....| 000000e0 3a 88 56 b7 f2 39 84 f3 9c 3c a6 0d 9e ef 26 82 |:.V..9...<....&.| 000000f0 ca 98 da fe 30 98 f0 f6 c6 03 84 79 b0 cb de 9a |....0......y....| 00000100 a8 04 8c ad e0 d7 02 df d6 a8 04 86 d2 1f c4 5c |...............| 00000110 25 8c 86 1a 8a e9 22 84 c4 a9 c8 03 c0 b1 e2 d3 |%.....".........| 00000120 00 d1 a8 c8 02 e7 de a8 04 e0 8a cf 18 8e c0 8e |................| 00000130 18 e5 22 88 ac e1 d6 03 de d7 a8 04 86 f7 1e 9d |..".............| 00000140 8c 85 20 8c 0e ce 86 85 f6 c7 02 eb fe f0 00 34 |.. ............4| 00000150 8a b9 8e c8 02 84 4a f1 fe f0 00 a0 9c c1 d2 cc |......J.........| 00000160 02 b4 fe 00 94 8d 00 dc 14 94 9a fd f0 00 b8 3b |...............;| 00000170 d6 c0 d2 03 9c 7f 94 8d 00 dc 14 94 c0 fb e0 73 |...............s| 00000180 00 8a b8 c3 22 f5 fe 22 ae fd 30 8c 36 9a 44 de |....".."..0.6.D.| 00000190 25 ee 50 b8 f6 8e c8 03 a6 c9 00 9c 54 84 58 e6 |%.P.........T.X.| 000001a0 92 0f c8 cc 9c a1 c8 e5 00 84 fc 97 c8 03 a8 39 |...............9| 000001b0 ac 0f ea d4 ea fc ea d4 ec c4 b8 cb 12 e6 f6 01 |................| 000001c0 f2 cb fe f0 00 c2 9e e5 a6 3c e6 84 f4 1b a2 50 |.........<.....P| 000001d0 da 1c f4 8c 8a f2 38 f0 94 bb 8e 3a 88 57 b6 ad |......8....:.W..| 000001e0 f2 39 84 f3 9c 3c a6 0d 9e ef 26 ca 98 db fe 20 |.9...<....&.... | 000001f0 30 98 f0 f6 c6 03 84 79 b0 cb de a8 04 8c ac a6 |0......y........| 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00001000
Tracing into an ETB will gain a maximum of 1 buffer full of trace - the input will wrap repeatedly until the trace source / sink are disabled. This ETB appears to have a 4k buffer - that is the maximum trace you can capture using sysfs.
perf will read multiple buffers into the perf.data file when using this method, though these will likely not be contiguous as there is no way in this hardware to detect full buffers and stop trace.
With perf i get I get Error:70 Incomplete data
With Opencsd root@arm:/home/ubuntu/my-opencsd/decoder/tests/bin/builddir# ls -l /root/my/ total 8 -rw-r--r-- 1 root root 4096 Oct 10 07:11 cstrace.bin drwxr-xr-x 3 root root 4096 Sep 10 06:30 own
root@arm:/home/ubuntu/my-opencsd/decoder/tests/bin/builddir# ./trc_pkt_lister -ss_dir /root/my/ -decode Trace Packet Lister: CS Decode library testing
** Library Version : 1.5.4
Test Command Line:- ./trc_pkt_lister -ss_dir /root/my/ -decode
Trace packet lister needs a full snapshot to operate on, a single binary is insufficient.
From the opencsd source directory see decoder/docs/specs/ARM Trace and Debug snapshot file format.pdf. for snapshot format details. look at decoder/snapshots for examples of snapshots that can be decoded.
Also note for full decode you will need the program image of whatever was loaded while tracing. This is very difficult to determine when tracing arbitrarily in sysfs. You should be able to do packet only decode if you get valid trace - see the documentation in decoder/docs for a description of the difference between these, and the principles of trace decode and what is required to get full decode.
Trace Packet Lister : reading snapshot from path /root/my/ Trace Packet Lister : Snapshot path/root/my/ not found _______________________________________________ CoreSight mailing list -- coresight@lists.linaro.org To unsubscribe send an email to coresight-leave@lists.linaro.org
Regards
Mike