3228是什么意思8在线翻译读音例句-雅思考试成绩查询


2023年3月30日发(作者:汽车日常保养常识)

GT_trace调试

目的:ARM端可以用TraceUtil显示一些信息,与printf功能类似。但是DSP端基本上只能靠这

个trace跟踪一些打印信息。

参考://TraceUtil

//CE_DEBUG

/link?url=ZicVLrpnsVplDEsSVqfR7YoucktWHJrlv8pA6XrL0VDWs

t_G2EevTUaH-pTEaloBIlrcc8oTH--ZBr7UHv5TbHWeH2WKqffrMJINX58XzwC

1、app端

在app端文件夹中的中进行相应的配置,以使能TraceUtilmodule。

varTraceUtil=ule(\'til\');

缺省设置使得GPP应用程序打印所有GPP侧的errors和warnings到标准输出,收集DSP侧errors和warning

到标准输出,不会使能或扑捉任何DSP/BIOSlogging。但芬的拼音 可以通过设置trace属性值

(NO_TRACING,DEFAULT_TRACING,SOCRATES_TRACING,FULL_TRACING)来修改输出内容,比如:

=ES_TRACING;//使能SOC分析器和DSP/BIOSlogging,GPP侧输出到

/tmp/,DSP侧输出到/tmp/,DSP/BIOSlogging输出到/tmp/。(但是此

处并没有找到tmp文件夹下有任何文件产生)此属性值关闭了所有tracing。如打开tracing,则:

=_TRACING;此种方法进过验证,可以得到所有的trace的信息。

在ceapp.c文件中,我们需要加入下面代码以支持TraceUtil:

先得中秋节的古诗词句 添加头文件,并在CERuntime_init()后添加以下行代码:

TraceUtil_start(engineName);

....

TraceUtil_stop();//app结束时调用

2、server端

在main.c文件中,我们定义如下:

#include

#include//包含GT_trace的头文件

/*/home/dvsdk_1_40_02_33/framework_components_2_10_02/packages/ti/sdo/utils/trace*/

/*traceinfo:modulename,mask*/

staticGT_MaskgtMask={0,0};//GT_trace类型变量定义

/*

*========main========

*/

Voidmain(Intargc,Char*argv[])

{

/*initCodecEngine*/

CERuntime_init();

/*inittrace*/

GT_init();

/*createamasktoallowatrace-printwelcomemessagebelow*/

GT_create(>Mask,\"_6467\");

/*...andinitializeallmasksinthismoduleto\"on\"*/

GT_set(\"_6467=01234567\");//将级别设置为7个级别

GT_0trace(gtMask,GT_4CLASS,\"main>WelcometoDSPserver\'smain().n\");

}

如果前面在GPP侧使用了DSP/BIOSlogging,则必须在DSPServerimage中也要使能DSP/BIOS

logging,配置脚本video_中添加:

varLogServer=ule(\'ver\');

3、codec端

在video_copy.c中加入诸如:GT_5trace(curTrace,GT_ENTER,\"VIDENCCOPY_TI_process(0x%x,

0x%x,0x%x,\"\"0x%x,0x%x)n\",h,inBufs,outBuf史记简介 s,inArgs,outArgs);这样的调试信息,我们在

中会有如下信息:

我们想把调试的log保存在一个文件中,可以用如下的命令:./|

video_copy例程编译日志见。

关于GT_*trace宏,以上我们使用GT_5trace宏来输出信息,同样的,我们还可以使用以下宏:

GT_0trace(mask,classId,format)

GT_1trace(mask,classId,format,arg1)

GT_2trace(mask,classId,format,arg1,arg2)

GT_3trace(mask,classId,format,arg1,arg2,arg3)

GT_4trace(mask,classId,format,arg1,arg2,arg3,arg4)

GT_5trace(mask,classId,format,arg1,arg2,arg3,arg4,arg5)

GT_6trace(mask,classId,format,arg1,arg2,arg3,arg4,arg5,arg6)

这些宏分别定义了输出1个、短歌行原文注音版标准 2个、……、6个参数的使用方式。

关于GT_*CLASS宏,在GT_*trace宏里,第二个参数为classId,这个参数是什么用的呢?

某些时候,我们在打印Trace信息的时候,有可能希望只打印某些级别的信息,而不打印其

他级别的信息,因此,我们指定classID。

GT_set(\"snowwaft=01234567\");

上面的代码,我们给curMask设定了名字:snowwaft,将它的级别设为0-7(有关级别,后面会描述)。

当完成以上工作后,我们就可以使用GT模块来输出信息了:

GT_0trace(curMask,GT_2CLASS,\"main>WelcometoDSPserver\'smain().n\");屏幕会输出如下结

果:

[DSP]@0000001a2:[T:0x00000000]snowwaft-main>WelcometoDSPserver’smain().

关于GT_*trace宏

以上我们使用GT_0trace宏来输出信息,同样的,我们还可以使用以下

宏:GT_0trace(mask,classId,format)

GT_1trace(mask,classId,format,arg1)

GT_2trace(mask,classId,format,arg1,arg2)

GT_3trace(mask,classId,format,arg1,arg2,arg3)

GT_4trace(mask,classId,format,arg1,arg2,arg3,arg4)GT_5trace(mask,classId,format,arg1,arg

2,arg3,arg4,arg5)

GT_6trace(mask,classId,fo清明古诗配画简笔画 rmat,arg1,arg2,arg3,arg4,arg5,arg6)

这些宏分别定义了输出1个、2个、……、6个参数的使用方式,例如,我们需要输出两个参数:

GT_2trace(curMask,GT_2CLASS,\"App->Decodeframe%d(0x%x)n\",p1,p2);

关于GT_*CLASS宏

在GT_*trace宏里,第二个参数为classId,这个参数是什么用的呢?某些时候,我们在打印Trace信息的

时候,有可能希望只打印某些级别的信息,绊的拼音 而不打印其他级别的信息,因此,我们指定classID。

在GTModule里一共定义了7中级别:

#defineGT_1CLASS((UInt8)0x02)

#defineGT_2CLASS((UInt8)0x04)

#defineGT_3CLASS((UInt8)0x08)

#defineGT_4CLASS((UInt8)0x10)

#defineGT_5CLASS((UInt8)0x20)

#defineGT_6CL撒的多音字组词 ASS((UInt8)0x40)

#defineGT_7CLASS((UInt8)0x80)

这7种级别分别表示:

GT_1CLASS:纯粹的Debug信息

GT_2CLASS:由开发人员指定,告诉使用人员这这条信息可能有用

GT_3CLASS:进入某个模块

GT_4CLASS:由开发人员指定,告诉使用人员这是比较重要的信息

GT_5CLASS:标记

GT_6CLASS:警告

GT_7CLASS:错误

Server端main.c文件中GT_set(\"_6467=01234567\");这表示,对于

_6467这个GT_Mask,我们关心的信息包括以上所有部分,而0,则表示进入、

退出某个函数的报告。

更多推荐

trace是什么意思ce在线翻译读音例句