📄 l1_trace.h
字号:
void l1_trace_IT_DSP_error (void);
void l1_trace_ADC (UWORD8 type);
void l1_trace_ADC_intram (UWORD8 type);
void l1_check_com_mismatch (UWORD8 task);
void l1_check_pm_error (UWORD32 pm,UWORD8 task);
void Trace_PM_Equal_0_balance (void);
void l1_trace_ptcch_disable (void);
void trace_fct (UWORD8 fct_id, UWORD32 radio_freq);
void l1_intram_put_trace (CHAR *msg);
void l1_trace_IT_DSP_error_intram(void);
void Trace_d_error_status_intram (void);
void l1s_trace_mftab (void);
void l1s_trace_mftab (void);
#if (TRACE_TYPE == 1) || (TRACE_TYPE == 4)
#if (MELODY_E2 || L1_MP3 || L1_DYN_DSP_DWNLD)
void l1_disable_dsp_trace (void);
void l1_enable_dsp_trace (void);
void l1_set_dsp_trace_mask (UWORD16 mask);
UWORD16 l1_get_dsp_trace_mask (void);
#endif
#endif // (TRACE_TYPE == 1) || (TRACE_TYPE == 4)
#if (L1_AUDIO_MCU_ONOFF == 1)
void l1_trace_ul_audio_onoff(UWORD8 ul_state);
void l1_trace_dl_audio_onoff(UWORD8 dl_state);
#endif
/****************/
/* Trace macros */
/****************/
#if (CODE_VERSION != SIMULATION)
#define GTT_send_trace_cpy(s) rvt_send_trace_cpy ((T_RVT_BUFFER)s, trace_info.gtt_trace_user_id, strlen(s), RVT_ASCII_FORMAT)
#define GTT_send_trace_no_cpy(s) rvt_send_trace_no_cpy ((T_RVT_BUFFER)s, trace_info.gtt_trace_user_id, strlen(s), RVT_ASCII_FORMAT)
#else
void GTT_send_trace_cpy(char *s);
#endif
/***********************************************************/
/* Trace data (parsed by the decoder) */
/***********************************************************/
// Trace version
//--------------
#define L1_TRACE_VERSION 5
// Dynamic traces
//---------------
//TRACE_CONF/
#define L1_DYN_TRACE_L1A_MESSAGES 0 //NAME/ L1A messages
#define L1_DYN_TRACE_L1S_DEBUG 1 //NAME/ L1S errors
#define L1_DYN_TRACE_DSP_DEBUG 2 //NAME/ DSP debug trace
#define L1_DYN_TRACE_RLC_PARAM 3 //NAME/ RLC parameters
#define L1_DYN_TRACE_UL_NO_TA 4 //NAME/ Uplink while no TA
#define L1_DYN_TRACE_DL_PTCCH 5 //NAME/ DL PTCCH blocks
#define L1_DYN_TRACE_CONDENSED_PDTCH 7 //NAME/ PDTCH UL + DL
#define L1_DYN_TRACE_L1S_CPU_LOAD 8 //NAME/ L1S CPU load peaks
#define L1_DYN_TRACE_ULPD 9 //NAME/ ULPD
#define L1_DYN_TRACE_FULL_LIST_REPORT 10 //NAME/ Full list report
#define L1_DYN_TRACE_GTT 11 //NAME/ GTT trace
#define L1_DYN_TRACE_DSP_AMR_DEBUG 12 //NAME/ DSP AMR debug trace
#define L1_DYN_TRACE_MIDI 13 //NAME/ MIDI trace
#define L1_DYN_TRACE_MP3 14 //NAME/ MP3 trace
#define L1_DYN_TRACE_GAUGING 15 //NAME/ Gauging parameters
#if(L1_DYN_DSP_DWNLD == 1)
#define L1_DYN_TRACE_DYN_DWNLD 16 //NAME/ DYN DWNLD trace
#endif // L1_DYN_DSP_DWNLD == 1
#if (L1_SAIC != 0)
#define L1_DYN_TRACE_SAIC_DEBUG 17 //NAME/ SAIC trace
#endif
#define L1_DYN_TRACE_BURST_PARAM 18 //NAME/ Burst Param
#if (L1_AUDIO_MCU_ONOFF == 1)
#define L1_DYN_TRACE_AUDIO_ONOFF 19
#endif
// The Below flag is used to enable/disable the API dump over UART
#define L1_DYN_TRACE_API_DUMP 20 //NAME/ API dump
#define L1_DSP_TRACE_FULL_DUMP 21 // flag for enabling the full trace buffer of DSP on PM error
#if (L1_AAC == 1)
#define L1_DYN_TRACE_AAC 22 //NAME/ AAC trace
#endif
#define L1_DYN_TRACE_PWMGT_FAIL_DEBUG 23 // NAME Power Management Sleep fail Trace
#if(L1_RF_KBD_FIX == 1)
#define L1_DYN_TRACE_RF_KBD 24 //Make RF KPD trace dynamic
#endif
//END_TRACE_CONF/
#define L1_DYN_TRACE_DL_PDTCH_CRC 6 // DL PDTCH blocks CRC, only used if L1_BINARY_TRACE == 0
// L1 RTT event definitions
//-------------------------
//RTT_EVENTS/
#define RTTL1_EVENT_FNMOD13_EQUAL_12 0 //NAME/ Every FN%13 = 12
#define RTTL1_EVENT_ERROR 1 //NAME/ When error occurs
//END_RTT_EVENTS/
// Buffer length for each event
#define RTTL1_EVENT_SIZE_FNMOD13_EQUAL_12 L1S_RTT_BUF_LENGTH // All buffer is traced because it's a regular trace
#define RTTL1_EVENT_SIZE_ERROR L1S_RTT_BUF_LENGTH
// Measurement codes used in trace
//--------------------------------
//MEAS_ID/
#define FULL_LIST_MEAS_ID 200 //NAME/ Full list meas
#define I_BA_MEAS_ID 201 //NAME/ Idle BA list meas
#define D_BA_MEAS_ID 202 //NAME/ Dedicated BA list meas
#define MS_AGC_ID 203 //NAME/ AGC setting meas
#define CR_MEAS_ID 204 //NAME/ CR meas
#define TCR_MEAS_ID 205 //NAME/ Packet transfer CR meas
#define PC_MEAS_CHAN_ID 206 //NAME/ Beacon meas
//END_MEAS_ID/
// Trace tables
//-------------
//TABLE/ RRBP
#define RRBP_BLOCK1 0 //NAME/ N+1
#define RRBP_BLOCK2 1 //NAME/ N+2
#define RRBP_BLOCK3 2 //NAME/ N+3
#define RRBP_BLOCK4 3 //NAME/ N+4
//END_TABLE/
//TABLE/ DL CS
#define DL_CS1 0 //NAME/ CS1
#define DL_CS2 1 //NAME/ CS2
#define DL_CS3 2 //NAME/ CS3
#define DL_CS4 3 //NAME/ CS4
//END_TABLE/
//TABLE/ MFTAB
#define CST_L1S_CTRL_ADC 0 //NAME/ l1s_ctrl_ADC()
#define CST_L1S_CTRL_MSAGC 1 //NAME/ l1s_ctrl_msagc()
#define CST_L1S_CTRL_SB2 2 //NAME/ l1s_ctrl_sb2()
#define CST_L1S_CTRL_SB26 3 //NAME/ l1s_ctrl_sb26()
#define CST_L1S_CTRL_SB51 4 //NAME/ l1s_ctrl_sb51()
#define CST_L1S_CTRL_SBCONF 5 //NAME/ l1s_ctrl_sbconf()
#define CST_L1S_CTRL_SBCNF26 6 //NAME/ l1s_ctrl_sbcnf26()
#define CST_L1S_CTRL_SBCNF51 7 //NAME/ l1s_ctrl_sbcnf51()
#define CST_L1S_CTRL_FB 8 //NAME/ l1s_ctrl_fb()
#define CST_L1S_CTRL_FB26 9 //NAME/ l1s_ctrl_fb26()
#define CST_L1S_CTRL_SMSCB 10 //NAME/ l1s_ctrl_smscb()
#define CST_L1S_CTRL_SNB_DL 11 //NAME/ l1s_ctrl_snb_dl()
#define CST_L1S_CTRL_SNB_DL_BURST0 12 //NAME/ l1s_ctrl_snb_dl(burst 0)
#define CST_L1S_CTRL_SNB_DL_BURST1 13 //NAME/ l1s_ctrl_snb_dl(burst 1)
#define CST_L1S_CTRL_SNB_DL_BURST2 14 //NAME/ l1s_ctrl_snb_dl(burst 2)
#define CST_L1S_CTRL_SNB_DL_BURST3 15 //NAME/ l1s_ctrl_snb_dl(burst 3)
#define CST_L1S_CTRL_SNB_UL 16 //NAME/ l1s_ctrl_snb_ul()
#define CST_L1S_CTRL_NNB 17 //NAME/ l1s_ctrl_nnb()
#define CST_L1S_CTRL_RACH 18 //NAME/ l1s_ctrl_rach()
#define CST_L1S_CTRL_TCHT_DUMMY__DL 19 //NAME/ l1s_ctrl_tcht_dummy(DL)
#define CST_L1S_CTRL_TCHTH__DL 20 //NAME/ l1s_ctrl_tchth(DL)
#define CST_L1S_CTRL_TCHTH__UL 21 //NAME/ l1s_ctrl_tchth(UL)
#define CST_L1S_CTRL_TCHA___DL 22 //NAME/ l1s_ctrl_tcha(DL)
#define CST_L1S_CTRL_TCHA___UL 23 //NAME/ l1s_ctrl_tcha(UL)
#define CST_L1S_CTRL_TCHTF__DL 24 //NAME/ l1s_ctrl_tchtf(DL)
#define CST_L1S_CTRL_TCHTF__UL 25 //NAME/ l1s_ctrl_tchtf(UL)
#define CST_L1PS_CTRL_POLL 26 //NAME/ l1ps_ctrl_poll()
#define CST_L1PS_CTRL_SNB_DL 27 //NAME/ l1ps_ctrl_snb_dl
#define CST_L1PS_CTRL_SINGLE 28 //NAME/ l1ps_ctrl_single()
#define CST_L1PS_CTRL_PBCCHS 29 //NAME/ l1ps_ctrl_pbcchs()
#define CST_L1PS_CTRL_PBCCHN 30 //NAME/ l1ps_ctrl_pbcchn()
#define CST_L1PS_CTRL_ITMEAS 31 //NAME/ l1ps_ctrl_itmeas()
#define CST_L1PS_CTRL_PDTCH 32 //NAME/ l1ps_ctrl_pdtch
#define CST_L1PS_CTRL_PDTCH_UL 33 //NAME/ l1ps_ctrl_pdtch(UL)
#define CST_L1PS_CTRL_PDTCH_DL 34 //NAME/ l1ps_ctrl_pdtch(DL)
#define CST_L1PS_CTRL_PDTCH_DL_BURST0 35 //NAME/ l1ps_ctrl_pdtch(DL burst0)
#define CST_L1PS_CTRL_PDTCH_DL_BURST1 36 //NAME/ l1ps_ctrl_pdtch(DL burst1)
#define CST_L1PS_CTRL_PDTCH_DL_BURST2 37 //NAME/ l1ps_ctrl_pdtch(DL burst2)
#define CST_L1PS_CTRL_PDTCH_DL_BURST3 38 //NAME/ l1ps_ctrl_pdtch(DL burst3)
#define CST_L1PS_CTRL_PDTCH_RA 39 //NAME/ l1ps_ctrl_pdtch(RA)
#define CST_L1PS_CTRL_PDTCH_DUMMY 40 //NAME/ l1ps_ctrl_pdtch(dummy)
#define CST_L1PS_CTRL_PTCCH_UL 41 //NAME/ l1ps_ctrl_ptcch(UL)
#define CST_L1PS_CTRL_PTCCH_EMPTY 42 //NAME/ l1ps_ctrl_ptcch(empty)
#define CST_L1PS_CTRL_PTCCH_DL_BURST0 43 //NAME/ l1ps_ctrl_ptcch(DL burst0)
#define CST_L1PS_CTRL_PTCCH_DL_BURST1 44 //NAME/ l1ps_ctrl_ptcch(DL burst1)
#define CST_L1PS_CTRL_PTCCH_DL_BURST2 45 //NAME/ l1ps_ctrl_ptcch(DL burst2)
#define CST_L1PS_CTRL_PTCCH_DL_BURST3 46 //NAME/ l1ps_ctrl_ptcch(DL burst3)
#define CST_CTRL_CR_MEAS 47 //NAME/ ctrl_cr_meas
#define CST_CTRL_I_BA_MEAS 48 //NAME/ ctrl_i_ba_meas
#define CST_CTRL_D_BA_MEAS 49 //NAME/ ctrl_d_ba_meas
#define CST_CTRL_TCR_MEAS_1 50 //NAME/ ctrl_tcr_meas_1
#define CST_CTRL_TCR_MEAS_2 51 //NAME/ ctrl_tcr_meas_2
#define CST_CTRL_PC_MEAS_CHAN 52 //NAME/ ctrl_pc_meas_chan
#define CST_CTRL_TRANSFER_MEAS 53 //NAME/ ctrl_transfer_meas
#define CST_CTRL_FULL_LIST_MEAS 54 //NAME/ ctrl_full_list_meas
#define CST_CTRL_SCELL_TRANSFER_MEAS 55 //NAME/ ctrl_Scell_transfer_meas
#define CST_L1S_READ_RA 56 //NAME/ l1s_read_ra()
#define CST_L1S_READ_NNB 57 //NAME/ l1s_read_nnb
#define CST_L1S_READ_SNB_DL 58 //NAME/ l1s_read_snb_dl
#define CST_L1S_READ_TX_NB__DUL 59 //NAME/ l1s_read_tx_nb(DUL)
#define CST_L1S_READ_TX_NB__AUL 60 //NAME/ l1s_read_tx_nb(AUL)
#define CST_L1S_READ_TX_NB__TCHF 61 //NAME/ l1s_read_tx_nb(TCHF)
#define CST_L1S_READ_TX_NB__TCHH 62 //NAME/ l1s_read_tx_nb(TCHH)
#define CST_L1S_READ_FB 63 //NAME/ l1s_read_fb()
#define CST_L1S_READ_FB51 64 //NAME/ l1s_read_fb51()
#define CST_L1S_READ_FB26 65 //NAME/ l1s_read_fb26()
#define CST_L1S_READ_SB 66 //NAME/ l1s_read_sb()
#define CST_L1S_READ_SBCONF 67 //NAME/ l1s_read_sbconf()
#define CST_L1S_READ_L3FRM__CB 68 //NAME/ l1s_read_l3frm(CB)
#define CST_L1S_READ_L3FRM__NP 69 //NAME/ l1s_read_l3frm(NP)
#define CST_L1S_READ_L3FRM__EP 70 //NAME/ l1s_read_l3frm(EP)
#define CST_L1S_READ_L3FRM__ALLC 71 //NAME/ l1s_read_l3frm(ALLC)
#define CST_L1S_READ_L3FRM__NBCCHS 72 //NAME/ l1s_read_l3frm(NBCCHS)
#define CST_L1S_READ_L3FRM__EBCCHS 73 //NAME/ l1s_read_l3frm(EBCCHS)
#define CST_L1S_READ_L3FRM__BCCHN 74 //NAME/ l1s_read_l3frm(BCCHN)
#define CST_L1S_READ_SACCH_DL__ADL 75 //NAME/ l1s_read_sacch_dl(ADL)
#define CST_L1S_READ_SACCH_DL__TCHA 76 //NAME/ l1s_read_sacch_dl(TCHA)
#define CST_L1S_READ_DCCH_DL__DDL 77 //NAME/ l1s_read_dcch_dl(DDL)
#define CST_L1S_READ_DCCH_DL__TCHTF 78 //NAME/ l1s_read_dcch_dl(TCHTF)
#define CST_L1S_READ_DCCH_DL__TCHTH 79 //NAME/ l1s_read_dcch_dl(TCHTH)
#define CST_L1S_READ_DEDIC_DL 80 //NAME/ l1s_read_dedic_dl
#define CST_L1S_READ_MON_RESULT 81 //NAME/ l1s_read_mon_result
#define CST_L1S_READ_DUMMY 82 //NAME/ l1s_read_dummy
#define CST_L1S_READ_MSAGC 83 //NAME/ l1s_read_msagc()
#define CST_L1PS_READ_NB_DL 84 //NAME/ l1ps_read_nb_dl
#define CST_L1PS_READ_ITMEAS 85 //NAME/ l1ps_read_itmeas()
#define CST_L1PS_READ_SINGLE 86 //NAME/ l1ps_read_single
#define CST_L1PS_READ_SINGLE_DUMMY 87 //NAME/ l1ps_read_single_dummy
#define CST_L1PS_READ_L3FRM__PNP 88 //NAME/ l1ps_read_l3frm(PNP)
#define CST_L1PS_READ_L3FRM__PEP 89 //NAME/ l1ps_read_l3frm(PEP)
#define CST_L1PS_READ_L3FRM__PALLC 90 //NAME/ l1ps_read_l3frm(PALLC)
#define CST_L1PS_READ_L3FRM__PBCCHS 91 //NAME/ l1ps_read_l3frm(PBCCHS)
#define CST_L1PS_READ_L3FRM__PBCCHN 92 //NAME/ l1ps_read_l3frm(PBCCHN)
#define CST_L1PS_READ_L3FRM__SINGLE 93 //NAME/ l1ps_read_l3frm(SINGLE)
#define CST_L1PS_READ_L3FRM__UNKNOWN 94 //NAME/ l1ps_read_l3frm(?)
#define CST_L1PS_READ_PRA 95 //NAME/ l1ps_read_pra()
#define CST_L1PS_READ_POLL 96 //NAME/ l1ps_read_poll()
#define CST_L1PS_READ_PDTCH 97 //NAME/ l1ps_read_pdtch()
#define CST_L1PS_READ_PDTCH_BURST 98 //NAME/ l1ps_read_pdtch(burst)
#define CST_L1PS_READ_PTCCH_DL 99 //NAME/ l1ps_read_ptcch(DL)
#define CST_L1PS_READ_PTCCH_UL 100 //NAME/ l1ps_read_ptcch(UL)
#define CST_READ_CR_MEAS 101 //NAME/ read_cr_meas
#define CST_READ_TCR_MEAS 102 //NAME/ read_tcr_meas
#define CST_READ_I_BA_MEAS 103 //NAME/ read_i_ba_meas
#define CST_READ_D_BA_MEAS 104 //NAME/ read_d_ba_meas
#define CST_READ_PC_MEAS_CHAN 105 //NAME/ read_pc_meas_chan
#define CST_READ_FULL_LIST_MEAS 106 //NAME/ read_full_list_meas
#define CST_L1S_NEW_SYNCHRO 107 //NAME/ SYNCHRO...
#define CST_L1S_ABORT 108 //NAME/ L1S_ABORT...
#define CST_L1S_ABORT_W0_R0 109 //NAME/ L1S_ABORT(PAGE:R0 W0)
#define CST_UNKNOWN_FB 110 //NAME/ unknown_fb()
#define CST_STI_PASSED 111 //NAME/ STI PASSED...
#define CST_TASK_KILLED 112 //NAME/ task KILLED...
#define CST_ALLOC_EXHAUSTION 113 //NAME/ ALLOC EXHAUSTION
#define CST_UL_TASKS_DO_NOT_CORRESPOND 114 //NAME/ UL task does not correspond
#define CST_DL_TASKS_DO_NOT_CORRESPOND 115 //NAME/ DL task does not correspond
#define CST_DL_BURST_DOES_NOT_CORRESPOND 116 //NAME/ DL burst does not correspond
#define CST_NEW_FRAME_PAGE_R0_W0 117 //NAME/ =>NEW_FRAME(PAGE:R0 W0)
#define CST_NEW_FRAME_PAGE_R0_W1 118 //NAME/ =>NEW_FRAME(PAGE:R0 W1)
#define CST_NEW_FRAME_PAGE_R1_W0 119 //NAME/ =>NEW_FRAME(PAGE:R1 W0)
#define CST_NEW_FRAME_PAGE_R1_W1 120 //NAME/ =>NEW_FRAME(PAGE:R1 W1)
#define CST_L1DMACRO_SYNCHRO 121 //NAME/ l1dmacro_synchro
#define CST_TX_TCH_DATA 122 //NAME/ tx_tch_data()
#define CST_DLL_READ_DCCH 123 //NAME/ dll_read_dcch()
#define CST_DLL_READ_SACCH 124 //NAME/ dll_read_sacch()
#define CST_L1S_ADJUST_TIME 125 //NAME/ Time adjustment
//END_TABLE/
/***********************************************************/
/* Classic Trace structures */
/***********************************************************/
// !!! IMPORTANT NOTE !!!
// Trace structures:
// -----------------
// For 32 bit alignment, all structures should be mapped like this:
// 1- header
// 2- 32-bit words (arrays of 32-bit words included)
// 3- 16-bit words (arrays of 16-bit words included)
// 4- 8-bit words (arrays of 8-bit words included)
// This permit to avoid holes between variables and to have a structure independant of
// alignment
//////////////////
// ALR messages //
//////////////////
/***********************************************************************************************************/
/* Begin header
//TYPE/ CLASSIC
//NAME/ MPHC_INIT_L1_REQ
//FULL/
" | | | | | |----------------------------------------------------------------------------------------------------------------"
"#@Fdl7# |->| | | | INIT_L1_REQ | radio_band_config: #@1=1:GSM|=2:GSM_E|=3:PCS1900|=4:DCS1800|=5:DUAL|=6:DUALEXT|=7:GSM850|=8:DUAL_US|#"
//COND/
"#@Fdl7# INIT_L1_REQ"
End header */
//ID/
#define TRL1_MPHC_INIT_L1_REQ 1
//STRUCT/
typedef struct
{
UWORD32 header;
//--------------------------------------------------
UWORD8 radio_band_config;
}
T_TR_MPHC_INIT_L1_REQ;
/***********************************************************************************************************/
/* Begin header
//TYPE/ CLASSIC
//NAME/ MPHC_INIT_L1_CON
//FULL/
" | | | | | |"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -