zephyr/boards/xtensa/intel_adsp_cavs15/tools
Marc Herbert af1dedf89c boards: intel_adsp: add curly braces around log data in debug mode
This commit makes absolutely no change to the output unless debug is
manually turned on. Debug can be turned on with this other code change:

--- a/boards/xtensa/intel_adsp_cavs15/tools/logtool.py
+++ b/boards/xtensa/intel_adsp_cavs15/tools/logtool.py
@@ -45,7 +45,7 @@ def main():
         else:
             etrace = QEMU_ETRACE

-    l = Loglist(etrace)
+    l = Loglist(etrace, True)
     l.print()

Below are two examples of the new debug output. For instance the empty
and duplicate (due to a bug) slot [33] is now much more obvious:

};  {[31] : 1434444: ssp_set_config(),
};  {[32] : 1485591: ssp_set_config(),
};  {[33] : };  {[33] : 1539091: ssp_set_config(),

In this other example it is now much clearer that [7] misses a
`\n` newline:

};  {[6] : 858361: starting dma_trace_init_complete()
};  {[7] : dma_tr_...() ret=0[00000005] <inf> main};  {[8] : ipc_dma..()
};  {[9] : entering dma_trace_enable
};  {[10] : entering dma_trace_buffer_init()

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-11-07 05:34:06 -05:00
..
lib boards: intel_adsp: add curly braces around log data in debug mode 2021-11-07 05:34:06 -05:00
README.md boards: cavs15: add tools/README.md comparing loggers 2021-05-05 21:13:56 -04:00
adsplog.py boards: intel_adsp: prefix "ADSP Reset" message with "invalid slot 0" 2021-11-07 05:34:06 -05:00
cavs-fw-v15.py soc: intel_adsp: Lengthen initialization sleep on the cavs 1.5 loader 2021-09-03 07:19:34 -04:00
cavs-fw-v25.py soc/intel_adsp: Update cavs-fw.py loader for cAVS 2.5 devices 2021-09-03 07:19:34 -04:00
cavsload.sh boards/intel_adsp_cavs15: Add alternative integration tool for twister 2021-03-15 10:22:21 +01:00
dump_trace.py
flash.sh board: cavs15: Add a option to control signing ways 2021-02-11 13:52:30 -05:00
fw_loader.py
logtool.py
mbterm.py

README.md

For various legacy reasons this directory has two similar log tools: logtool.py and adsplog.py

Both may be used in automation so merging them would require some coordination.

They both read from the same data from the exact same shared memory yet they have significant differences:

  • logtool.py reads /sys/kernel/debug/sof/etrace which requires the kernel driver to be loaded.

  • adsplog.py finds the memory address by scanning /sys/bus/pci/devices/; this does not require a driver.

  • logtool.py supports reading from a special QEMU location.

  • logtool.py performs a raw dump of the memory and exits immediately.

  • adsplog.py parses the data, understands the ring buffer and reads continuously. Its output is much more human-readable.

  • adsplog.py has technical details explained in a comment at the top.