举例打点函数:
int ctTag( unsigned long tagID )
{
if ( amc_ctrl_port == NULL )
ct_init();
*amc_ctrl_port = tagID;
return( tagID );
}
int ctDataTag( unsigned long tagID )
{
if ( amc_data_port == NULL )
ct_init();
*amc_data_port = tagID;
return( tagID );
}
接下来需要对编译目标源代码的makefile文件进行修改,
1、 确定CodeTEST打点编译选项
注释去CC = ppc_8xx-gcc
令CC = ctcc -CTv –Ctkeep
–CTtag-allocator=$AMC_HOMElib toslinuxctlinuxwrap.map
其中-CTv选项提供版本号信息,–CTkeep选项将保留中间过程文件,通过*.i和*._i可察看源程序中的打点情况。
2、在编译需要链接的*.o文件,增加libctHwic.a,即令
mginit_OBJECTS = mginit.o
libctHwic.a libctmem.a
3、令CodeTEST采用软件方式打点,注释去
#CFLAGS = -g -O2 -Wall -fomit-frame-pointer -fno-strength-reduce -g -O2 –pipe,令
令
CFLAGS = -g -O2 -Wall -fomit-frame-pointer -fno-strength-reduce -g -O2 –pipe -DTAG_DEST=1
保存修改好的makefile文件。
使用上述的makefile文件,对待测代码进行打点编译。打点编译完成后将在当前编译目录增加codetest.idb 和mginit.exe文件。