⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 l1_trace.h

📁 MMI层OBJ不能完全编译
💻 H
📖 第 1 页 / 共 5 页
字号:
   #define DYN_TRACE_11   11
   #define DYN_TRACE_12   12
   #define DYN_TRACE_13   13
   #define DYN_TRACE_14   14
   #define DYN_TRACE_15   15
   #define DYN_TRACE_16   16
 #endif

/****************************** Binary trace only *****************************************/

#else
  #define DEFAULT_DYN_TRACE_CONFIG       0x000007a7
#endif


/***********************************************************/
/* Trace structures                                        */
/***********************************************************/

// Trace version
typedef struct
{
  UWORD32 Opcode;
  UWORD32 checksum;
  UWORD16 version;
}
T_TRACE_VERSION;

// Condensed trace structure definition
typedef struct
{
  BOOL   blk_status;
  UWORD8 dl_cs_type;
  UWORD8 dl_status[8];
  UWORD8 ul_status[8];
} T_PDTCH_TRACE;


#if (defined RVM_RTT_SWE || (OP_L1_STANDALONE == 1))
// L1S trace function pointers
typedef struct
{
  T_RTT_RET (*rtt_refresh_status) (T_RTT_USER_ID  user_id);

  T_RTT_PTR (*rtt_get_fill_ptr)   (T_RTT_USER_ID  user_id,
                                   T_RTT_SIZE     size);

  T_RTT_RET (*rtt_dump_buffer)    (T_RTT_USER_ID  user_id,
                                   T_RTT_SIZE     dump_size);
} T_L1S_TRACE_FUNC;
#endif


// L1S trace buffer size
#define L1S_RTT_BUF_LENGTH 1000

// Trace configuration
typedef struct
{
  UWORD32   l1_dyn_trace;
  UWORD32   rttl1_cell_enable[8];
  UWORD32   rttl1_event_enable;
} T_TRACE_CONFIG;

// Disable/enable DSP trace structure
#if (TRACE_TYPE == 1) || (TRACE_TYPE == 4)
#if (MELODY_E2 || L1_MP3 || L1_AAC || L1_DYN_DSP_DWNLD )

typedef struct
{
  // Flag for blocking dsp trace while performing e2, mp3, aac or dynamic download activities
  BOOL trace_flag_blocked;
  // Nested Disable dsp trace counter
  UWORD8 nested_disable_count;
  // Trace level copy to be restored at the end of e2, mp3, aac or dynamic download activities
  UWORD16 dsp_trace_level_copy;
} T_DSP_TRACE_HANDLER;

#endif
#endif // (TRACE_TYPE == 1) || (TRACE_TYPE == 4)

#if (TOA_ALGO == 2)
typedef struct
{
    UWORD16   toa_frames_counter;  // TOA Frames counter - Number of the TDMA frames (or bursts) which are used for TOA 
                                   // updation OR number of times l1ctl_toa() function is invoked 
                                   // Reset every TOA_PERIOD_LEN[l1_mode] frames
    UWORD16   toa_accumul_counter; // Number of TDMA frames (or bursts) which are actually used for TOA tracking
                                   // <= toa_frames_counter, as only if SNR>0.46875 TOA estimated by DSP is used to
                                   // update the tracking algorithm
    WORD16    toa_accumul_value;   // TOA_tracking_value accumulated over 'toa_accumul_counter' frames
                                   // Based on this value the shift to be applied is decided
}T_TRACE_TOA;
#endif

typedef struct
{
    UWORD8   fail_step;  // PWMGT Fail Step -> Periph Check OR osload/Timer/Gauging OR While puuting peripherals to sleep
    UWORD8   fail_id;    // PWMGT Fail ID -> i.e. If Periph Check is the fail step whether failure is because of UART, etc.
    UWORD8   fail_cause; // Why the Peripheral returned failure?  
}T_TRACE_L1_PWMGR_DEBUG;

#if (AUDIO_DEBUG == 1)
typedef struct
{
  UWORD8      vocoder_enable_status;
  UWORD8      ul_state;
  UWORD8      dl_state;
  UWORD8      ul_onoff_counter;
  UWORD8      dl_onoff_counter;
}T_TRACE_AUDIO_DEBUG;
#endif
  


// Debug info structure
typedef struct
{
  // User IDs
  T_RVT_USER_ID       l1_trace_user_id;
#if (defined RVM_RTT_SWE || (OP_L1_STANDALONE == 1))
  T_RTT_USER_ID       l1s_trace_user_id;
#endif

  UWORD8    PM_equal_0;
  UWORD8    PM_Task;
  UWORD8    Not_PM_Task;

  UWORD8    DSP_misaligned;

  UWORD8    facch_dl_count;
  UWORD8    facch_ul_count;
  UWORD8    facch_dl_fail_count;
  UWORD8    facch_dl_fail_count_trace;

  UWORD8    sacch_d_nerr;

  UWORD8    rxlev_req_count;
  BOOL      init_trace;
  UWORD8    abort_task;

#if (L1_BINARY_TRACE == 0)
  UWORD8    l1_memorize_error;

  UWORD8    trace_fct_buff[TRACE_FCT_BUFF_SIZE];
  UWORD8    trace_fct_buff_index;
  BOOL      trace_buff_stop;
  BOOL      trace_filter;
#endif

  BOOL      sleep_performed;
  UWORD8    reset_gauging_algo;

#if L1_GPRS
  BOOL          new_tcr_list;
  T_PDTCH_TRACE pdtch_trace;
#endif

#if L1_GTT
  T_RVT_USER_ID  gtt_trace_user_id;
#endif

#if (L1_MIDI == 1)
  T_RVT_USER_ID  midi_trace_user_id;
#endif

#if (D_ERROR_STATUS_TRACE_ENABLE)
  // define a mask array for handling of the d_error_status field
  UWORD16 d_error_status_masks[2];
  API     d_error_status_old;
#endif

#if (DSP_DEBUG_TRACE_ENABLE == 1)
  // Variable used to flag a DSP error, COM mismatch or PM=0 occured
  // Array x 2 --> double buffered
  // Contains 0 if no error / DSP trace start address if an error occured
  UWORD16 dsp_debug_buf_start[2];
  UWORD32 dsp_debug_fn[2];
  UWORD16 dsp_debug_time[2];
  UWORD32 fn_last_dsp_debug;
#endif

  // RTT
#if (defined RVM_RTT_SWE || (OP_L1_STANDALONE == 1))
  T_L1S_TRACE_FUNC l1s_rtt_func;
  UWORD8           l1s_trace_buf[L1S_RTT_BUF_LENGTH];
#endif
  UWORD32          task_bitmap[8];
  UWORD32          mem_task_bitmap[8];

  #if (TOA_ALGO == 2)
    T_TRACE_TOA    toa_trace_var;
  #endif  
  T_TRACE_L1_PWMGR_DEBUG pwmgt_trace_var;  
  #if(L1_SAIC != 0)
  UWORD8 prev_saic_flag_val;
  #endif
  // Dynamic trace
  T_TRACE_CONFIG   config[2];
  T_TRACE_CONFIG   *current_config;
  T_TRACE_CONFIG   *pending_config;

#if (TRACE_TYPE == 1) || (TRACE_TYPE == 4)
#if (MELODY_E2 || L1_MP3 || L1_DYN_DSP_DWNLD)
  // DSP Trace Handler global variables
  T_DSP_TRACE_HANDLER dsptrace_handler_globals;
#endif
#endif // (TRACE_TYPE == 1) || (TRACE_TYPE == 4)
#if (AUDIO_DEBUG == 1)  
  T_TRACE_AUDIO_DEBUG  audio_debug_var;
#endif  
#if (L1_RF_KBD_FIX == 1)
UWORD16 prev_correction_ratio;
#endif
}
T_TRACE_INFO_STRUCT;

extern T_TRACE_INFO_STRUCT trace_info;


/***********************/
/* Function prototypes */
/***********************/

void  l1_init_trace_var          (void);
void  l1_trace_init              (void);
void  Trace_L1s_Abort            (UWORD8 task);
void  Trace_MCU_DSP_Com_Mismatch (UWORD8 task);
void  Trace_PM_Equal_0           (UWORD32 pm, UWORD8 task);
void  Trace_rlc_ul_param         (UWORD8  assignment_id,
                                  UWORD8  tx_no,
                                  UWORD32 fn,
                                  UWORD8  ta,
                                  UWORD32 a_pu_gprs,
                                  UWORD32 a_du_gprs,
                                  BOOL    fix_alloc_exhaust);
void  Trace_rlc_dl_param         (UWORD8  assignment_id,
                                  UWORD32 fn,
                                  UWORD32 d_rlcmac_rx_no_gprs,
                                  UWORD8  rx_no,
                                  UWORD8  rlc_blocks_sent,
                                  UWORD8  last_poll_response);
void  Trace_uplink_no_TA         (void);
void  Trace_condensed_pdtch      (UWORD8  rx_allocation, UWORD8 tx_allocation);
void  Trace_dl_ptcch             (UWORD8 ordered_ta,
                                  UWORD8 crc,
                                  UWORD8 ta_index,
                                  UWORD8 ts,
                                  UWORD16 elt1,
                                  UWORD16 elt2,
                                  UWORD16 elt3,
                                  UWORD16 elt4,
                                  UWORD16 elt5,
                                  UWORD16 elt6,
                                  UWORD16 elt7,
                                  UWORD16 elt8);
void  Trace_d_error_status       (void);
void  Trace_dsp_debug            (void);
#if (AMR == 1)
  void Trace_dsp_amr_debug       (void);
#endif
void  Trace_params               (UWORD8   debug_code,
                                  UWORD32  param0,
                                  UWORD32  param1,
                                  UWORD32  param2,
                                  UWORD32  param3,
                                  UWORD32  param4,
                                  UWORD32  param5,
                                  UWORD32  param6);
void  Trace_L1S_CPU_load         (void);
void  Trace_dyn_trace_change     (void);
#if (AMR == 1)
void  l1_trace_ratscch            (UWORD16 fn, UWORD16 amr_change_bitmap);
#endif
void  l1_trace_sleep             (UWORD32 start_fn,
                                  UWORD32 end_fn,
                                  UWORD8 type_sleep,
                                  UWORD8 wakeup_type,
                                  UWORD8 big_sleep_type,
                                  UWORD16 int_id);
void  l1_trace_fail_sleep        (UWORD8 pwmgr_fail_step,
                                  UWORD8 pwmgr_fail_id,
                                  UWORD8 pwmgr_fail_cause);
void  l1_trace_sleep_intram       (UWORD32 start_fn,
                                   UWORD32 end_fn,
                                   UWORD8 type_sleep,
                                   UWORD8 wakeup_type,
                                   UWORD8 big_sleep_type,
                                   UWORD16 int_id);
void  l1_trace_gauging_reset     (void);
void  l1_trace_gauging           (void);
void  l1_trace_gauging_intram     (void);
#if (L1_SAIC != 0)
  void  l1_trace_saic            (UWORD32 SWH_flag);
#endif

#if (L1_NAVC_TRACE == 1)
  void  l1_trace_navc            (UWORD32 status, UWORD32 energy_level);
#endif  
void l1_trace_burst_param         (UWORD32 angle,
                                   UWORD32 snr,
                                   UWORD32 afc,
                                   UWORD32 task,
                                   UWORD32 pm,
                                   UWORD32 toa_val,
                                   UWORD32 IL_for_rxlev);
void l1_log_burst_param           (UWORD32 angle,
                                   UWORD32 snr,
                                   UWORD32 afc,
                                   UWORD32 task,
                                   UWORD32 pm,
                                   UWORD32 toa_val,
                                   UWORD32 IL_for_rxlev);
void  l1_trace_new_toa           (void);
void  l1_trace_new_toa_intram     (void);
void  l1_trace_toa_not_updated   (void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -