Hexagon DSP系列记录——DSP LOG输出
Posted lligen-dai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hexagon DSP系列记录——DSP LOG输出相关的知识,希望对你有一定的参考价值。
参考<SDK_ROOT>/docs/Debugging_Message%20Logging.html
需要完成以下两部分:
- 代码层面
在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”);
...
- 在合适的手机目录新建配置文件<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程序流程