最近一直在看SKYWORKS805芯片的GSM通信源代码,有几处源代码的意思不是很懂。想请教一下各位,有人知道下面源代码操作的意义是什么吗?
第一处:
#define HWTraceDoAGCBound(P1,P2,P3,P4,P5)GSMExternalTrace(4096,P1,P2,P3,P4,P5)
#define HWTraceDoAGCTweak(P1,P2,P3,P4,P5)GSMExternalTrace(4097,P1,P2,P3,P4,P5)
#define HWTraceAGCOldBound(P1,P2,P3,P4)GSMExternalTrace(4098,P1,P2,P3,P4)
#define HWTraceFCChFirst(P1)GSMExternalTrace(4099,P1)
#define HWTraceFCChSecond(P1)GSMExternalTrace(4100,P1)
#define HWTraceFCChFrgve(P1)GSMExternalTrace(4101,P1)
#define HWTraceFCChLastFrgve(P1)GSMExternalTrace(4102,P1)
#define HWTraceFCChSChFrgve(P1)GSMExternalTrace(4103,P1)
#define HWTraceFCChEval(P1,P2,P3,P4)GSMExternalTrace(4104,P1,P2,P3,P4)
#define HWTraceDoSingleRACh(P1,P2)GSMExternalTrace(4105,P1,P2)
#define HWTraceGotDLFACCh()GSMExternalTrace(4106)
#define HWTraceDoTCh(P1,P2)GSMExternalTrace(4107,P1,P2)
#define HWTraceDoFACCh(P1,P2,P3)GSMExternalTrace(4108,P1,P2,P3)
#define HWTraceDoTChSACCh(P1,P2)GSMExternalTrace(4109,P1,P2)
#pragma arm section code = "IRAM_SKY_CODE"
void GSMExternalTrace(UINT32 Trace, ...)
{
va_list ArgPtr;
UINT16 Control;
INT16ParamsSize;
UINT8*TraceBuffer;
if (!TraceHostConnected)
return;
if ((ParamsSize = GetParamsControl(Trace, &Control))<0)
return;
TraceBuffer = CreateBuffer(Trace, (UINT16)ParamsSize);
if (TraceBuffer == NULL)
return;
va_start(ArgPtr, Trace);
FillParams(&TraceBuffer[7], ArgPtr, Control, ParamsSize);
#ifdef __GPRS_SIM__
GSMSendMessage(TRSAP, TRInfoInd, TraceBuffer);
#else
SEND(TRInfoInd)(TraceBuffer);
#endif
#ifndef __C166__
va_end(ArgPtr);
#endif
}
#pragma arm section code
这个函数在很多地方用到,不是很明白。
第二处:
#define DSP_WRITE_IA_ASYNC0x01
#define DSP_WRITE_IA_SYNCA0x02
#define DSP_WRITE_IA_SYNCB0x03
#define DSP_WRITE_IA_SYNCC0x04
#define DSP_WRITE_IA_SYNCD0x05
#define DSP_WRITE_IA_ASYNC_CMD(DSP_WRITE_IA_ASYNC<<8)
#define DSP_WRITE_IA_SYNCA_CMD(DSP_WRITE_IA_SYNCA<<8)
#define DSP_WRITE_IA_SYNCB_CMD(DSP_WRITE_IA_SYNCB<<8)
#define DSP_WRITE_IA_SYNCC_CMD(DSP_WRITE_IA_SYNCC<<8)
#define DSP_WRITE_IA_SYNCD_CMD(DSP_WRITE_IA_SYNCD<<8)
#define DSP_WRITE_IA_ASYNC_LEN(x)(DSP_WRITE_IA_ASYNC_CMD+x)
#define DSP_WRITE_IA_SYNCA_LEN(x)(DSP_WRITE_IA_SYNCA_CMD+x)
#define DSP_WRITE_IA_SYNCB_LEN(x)(DSP_WRITE_IA_SYNCB_CMD+x)
#define DSP_WRITE_IA_SYNCC_LEN(x)(DSP_WRITE_IA_SYNCC_CMD+x)
#define DSP_WRITE_IA_SYNCD_LEN(x)(DSP_WRITE_IA_SYNCD_CMD+x)
加这个“X”是什么意思?
扫码关注5G通信官方公众号,免费领取以下5G精品资料
1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书》
2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21》
3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书》
4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》》
5、回复“ZGDX”免费领取《中国电信5G NTN技术白皮书》
6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解》
7、回复“YDSL”免费领取《中国移动算力并网白皮书》
8、回复“5GX3”免费领取《 R16 23501-g60 5G的系统架构1》
|