Hexagon DSP系列记录——DSP LOG输出

Posted lligen-dai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hexagon DSP系列记录——DSP LOG输出相关的知识,希望对你有一定的参考价值。

参考<SDK_ROOT>/docs/Debugging_Message%20Logging.html

需要完成以下两部分:

  1. 代码层面

在DSP端代码包含头文件与相关宏。

#ifndef _DEBUG
#define _DEBUG
#endif
#include "HAP_farf.h"

...
AEEResult gaussian3x3_Gaussian3x3s16(const int16* imgSrc, int srcLen, int16* imgDst, int dstLen, uint32 srcWidth, uint32 srcHeight) 

	FARF(RUNTIME_HIGH, “This is a DSP log.\\n”);
	...

  1. 在合适的手机目录新建配置文件<rpc_hlos_process_name>.farf。

其中,<rpc_hlos_process_name>指的是CPU端App/可执行程序/进程的名字。
合适目录指libxxx_stub.so的同级目录,可能是/vendor/lib/rfsa/dsp/sdk或/vendor/lib/rfsa/adsp等。
如:

/// libxxx_stub.so push 到了/vendor/lib/rfsa/adsp目录
adb push hexagon_Debug_dynamic_toolv83_v66/ship/libcalculator_plus_skel.so /vendor/lib/rfsa/adsp
/// 可执行程序为calculator_plus
adb push android_Debug_aarch64/ship/calculator_plus /vendor/bin
/// 所以是在/vendor/lib/rfsa/adsp目录新建calculator_plus.farf文件
adb shell "echo 0x1f > /vendor/lib/rfsa/dsp/sdk/calculator_plus.farf"

/// 运行
adb shell export LD_LIBRARY_PATH=/vendor/lib64/ ADSP_LIBRARY_PATH="/vendor/lib/rfsa/dsp/sdk\\;/vendor/lib/rfsa/dsp/testsig;" /vendor/bin/calculator_plus sum 10

/// 另开终端查看DSP log
adb logcat -s adsprpc

其中0x1f指捕获所有的log。每个层级具体的掩码定义如下,它们可以任意组合:
0x01 – LOW
0x02 – MEDIUM
0x04 – HIGH
0x08 – ERROR
0x10 – FATAL

以上是关于Hexagon DSP系列记录——DSP LOG输出的主要内容,如果未能解决你的问题,请参考以下文章

Hexagon DSP系列记录——写Hexagon DSP程序流程

Hexagon DSP系列记录——写Hexagon DSP程序流程

Hexagon DSP系列记录——DSP工作模式设置

Hexagon DSP系列记录——DSP工作模式设置

Hexagon DSP系列记录

Hexagon DSP系列记录