diff --git a/README b/README index a8f818b..f647ac6 100644 --- a/README +++ b/README @@ -34,6 +34,83 @@ xtensa-byt-elf-objcopy -I binary -O elf32-xtensa-le -B xtensa image.bin image.bi xtensa-byt-elf-objdump -D image.bin.elf > image.dis.txt + +sof-logger +====== + +sof-logger is used to print logs delivered from FW dma_trace mechanism, by searching log +entries in *.ldc file generated by rimage. + +Every entry declared in FW is placed in elf output file (e.g. sof-apl) in +.static_log_entries section in a form of struct defined in sof/src/include/sof/trace.h +in sof fw repo. + +*.ldc file contains snd_sof_logs_header (defined in rmbox/logger_convert.c) +following by .static_log_entries section incorporated from FW elf file (e.g. sof-apl). +snd_sof_logs_header contains basic information about .static_log_entries section +like base_address and data_length. + +sof-logger works by reading entry parameters value and entries addresses from FW +dma_trace mechanism and searching suitable entry in *.ldc file by its address. + +Usage sof-logger + Display mailbox contents +-h help +-l *.ldc_file Specify the *.ldc file +-i in_file Get traces from in_file, instead of the default + "/sys/kernel/debug/sof/etrace" +-o out_file Specify the output file, instead of default stdout +-t Get traces from "/sys/kernel/debug/sof/trace", instead + of the default "/sys/kernel/debug/sof/etrace" +-p Get traces from stdin, instead of the default + "/sys/kernel/debug/sof/etrace" +-c Set timestamp clock in MHz +-s Take a snapshot of state + + +Examples: + +- Get traces from "/sys/kernel/debug/sof/etrace" file and prints logs to stdout + + $ sof-logger -l ldc_file + +- Get traces from "/sys/kernel/debug/sof/etrace" file and prints logs to + out_file file + + $ sof-logger -l ldc_file -o out_file + +- Get traces from "/sys/kernel/debug/sof/trace" file and prints logs to stdout + + $ sof-logger -l ldc_file -t + +- Get traces from "/sys/kernel/debug/sof/trace" file and prints logs to + out_file file + + $ sof-logger -l ldc_file -t -o out_file + +- Get traces from stdin and prints logs to stdout + + $ sof-logger -l ldc_file -p + +- Get traces from stdin and prints logs to out_file file + + $ sof-logger -l ldc_file -p -o out_file + +- Get traces from trace_dump file and prints logs to stdout + + $ sof-logger -l ldc_file -i trace_dump + +- Get traces from trace_dump file and prints logs to out_file file + + $ sof-logger -l ldc_file -i trace_dump -o out_file + +- c flag is intented for defining clock value (in MHz) used to format log + timestamps. By default clock value is set to 19.2 (MHz). Below example + set clock value to 19.9 (MHz). + + $ sof-logger -l ldc_file -i trace_dump -o out_file -c 19.9 + + tests =====