初始提交

This commit is contained in:
2025-05-13 22:00:58 +08:00
commit e4c030b0c0
564 changed files with 78858 additions and 0 deletions

View File

@ -0,0 +1,41 @@
#include "base_datatype_def.txt"
typedef enum {
SOC_DUMP_ACORE_CRASH_MEMORY = DUMP_TYPE_CRASH_MEMORY | (APPS << 8),
SOC_DUMP_PCORE_CRASH_MEMORY = DUMP_TYPE_CRASH_MEMORY | (PROTOCOL << 8),
} soc_dump_id;
typedef struct {
osal_u32 attribute;
osal_u32 dump_id; /* soc_dump_id */
} soc_dump_info_req;
typedef struct {
osal_u32 cmd_ver;
osal_u32 dump_id; /* soc_dump_id */
osal_u32 ret;
osal_u32 size;
osal_u32 pad;
} soc_dump_info_ind;
typedef struct {
osal_u32 offser;
osal_u32 size;
} soc_dump_content_item;
typedef struct {
osal_u32 cmd_ver;
osal_u32 dump_id; /* soc_dump_id */
osal_u8 item_cnt;
soc_dump_content_item items[0];
} soc_dump_content_req;
typedef struct {
osal_u32 cmd_ver;
osal_u32 dump_id; /* soc_dump_id */
osal_u32 ret;
osal_u32 offset;
osal_u32 size;
osal_u32 data[0];
} soc_dump_content_ind;

View File

@ -0,0 +1,69 @@
uint32_t 32 0
uint16_t 16 0
uint8_t 8 0
int32_t 32 1
int16_t 16 1
int8_t 8 1
enum 32 0
HSO_ENUM 32 0
u32 32 0
u16 16 0
u8 8 0
s32 32 1
s16 16 1
s8 8 1
BOOL 8 0
TD_U8A 8 0
TD_U16A 16 0
TD_CHARTA 8 1 1
TD_U32 32 0
TD_U16 16 0
TD_U8 8 0
TD_S32 32 1
TD_S16 16 1
TD_S8 8 1
TD_BOOL 8 0
TD_CHAR 8 1 1
char 8 1 1
long 32 1
TD_PVOID 32 0
TD_PBYTE 32 0
td_u32 32 0
td_u16 16 0
td_u8 8 0
td_s32 32 1
td_s16 16 1
td_s8 8 1
td_bool 8 0
td_char 8 1 1
td_pvoid 32 0
td_pbyte 32 0
uintptr_t 32 0
td_u64 64 0
td_uintptr_t 32 0
td_void 32 0
c_ubyte 8 0
c_bool 8 0
c_byte 8 1
c_char 8 1 1
c_ushort 16 0
c_short 16 1
c_ulong 32 0
c_uint 32 0
c_int 32 1
LP_c_ubyte 32 0
LP_c_ulong 32 0
c_long 32 1
c_void_p 32 0
c_ulonglong 64 0

View File

@ -0,0 +1,8 @@
#include "base_datatype_def.txt"

View File

@ -0,0 +1,4 @@
#include "base_datatype_def.txt"
#include "extern_datatype_def.txt"

View File

@ -0,0 +1,13 @@
#include "base_datatype_def.txt"
typedef struct {
} null_stru;

View File

@ -0,0 +1,7 @@
#include "base_datatype_def.txt"

View File

@ -0,0 +1,6 @@
#include "base_datatype_def.txt"

View File

@ -0,0 +1,67 @@
#include "base_datatype_def.txt"
typedef struct {
} null_stru;
typedef struct {
char str[1];
} str_type;
typedef struct {
long data[2];
} s32_array_2_stru;
typedef struct {
long data[3];
} s32_array_3_stru;
typedef struct {
long data[4];
} s32_array_4_stru;
typedef struct {
long data[5];
} s32_array_5_stru;
typedef struct {
long data[6];
} s32_array_6_stru;
typedef struct {
osal_u32 data[2];
} u32_array_2_stru;
typedef struct {
unsigned long data[3];
} u32_array_3_stru;
typedef struct {
osal_u32 data[4];
} u32_array_4_stru;
typedef struct {
char str[128];
} file_type;
typedef struct {
char str[1];
} dump_data_stru;
typedef struct {
char str[1];
} dump_hex_stru;
typedef struct {
osal_u32 baud_rate;
osal_u8 data_bits;
osal_u8 stop_bits;
osal_u8 parity;
osal_u8 pad;
} soc_uart_attr;

View File

@ -0,0 +1,761 @@
#include "base_datatype_def.txt"
typedef struct {
} null_stru;
typedef struct
{
osal_u32 id;
} SOC_DBG_STAT_Q_S;
typedef struct {
osal_u8 a;
osal_u8 b;
} soc_stat_diag_p_qry;
typedef struct {
osal_u16 send_uart_fail_cnt;
osal_u16 ack_ind_malloc_fail_cnt;
osal_u16 msg_malloc_fail_cnt;
osal_u16 msg_send_fail_cnt;
osal_u16 msg_overbig_cnt;
osal_u16 ind_send_fail_cnt;
osal_u16 ind_malloc_fail_cnt;
osal_u8 diag_queue_used_cnt;
osal_u8 diag_queue_total_cnt;
osal_u8 dec_fail_cnt;
osal_u8 enc_fail_cnt;
osal_u16 pkt_size_err_cnt;
osal_u32 local_req_cnt;
osal_u32 remote_req_cnt;
osal_u16 req_cache_overflow_cnt;
osal_u8 conn_excep_cnt;
osal_u8 conn_bu_cnt;
osal_u8 chl_busy_cnt;
osal_u8 req_overbig1_cnt;
osal_u16 rx_remote_req_cnt;
osal_u16 rx_remote_req_invalid_cnt;
osal_u8 cmd_list_total_cnt;
osal_u8 cmd_list_used_cnt;
osal_u8 stat_list_total_cnt;
osal_u8 stat_list_used_cnt;
osal_u8 req_overbig2_cnt;
osal_u8 invalid_dec_id;
osal_u8 heart_beat_timeout_cnt;
osal_u8 rx_start_flag_wrong_cnt;
osal_u8 rx_ver_wrong_cnt;
osal_u8 rx_pkt_data_size_wrong_cnt;
osal_u8 rx_crc16_req_wrong_cnt;
osal_u8 rx_crc16_mux_wrong_cnt;
osal_u8 pad[2];
} soc_stat_diag_qry;
typedef struct tag_atiny_critical_information {
osal_u16 network_access_count_total;
osal_u16 bs_reg_retry_count_total[3];
osal_u16 reg_retry_count_total[3];
osal_u16 send_data_last_mid;
osal_u16 recv_data_last_mid;
osal_u32 send_data_total;
osal_u32 recv_data_total;
} atiny_critical_information;
typedef struct tag_atiny_platform_state {
osal_u8 context_state[3];
osal_u8 lwm2m_state[3];
osal_u8 bootstrap_state[3];
osal_u8 dtls_state[3];
} atiny_platform_state;
typedef struct tag_atiny_retrans_data {
osal_u32 mid[9];
osal_u8 retrans_count[9];
osal_u8 dtls_retrans_count[3];
} atiny_retrans_data;
typedef struct tag_atiny_ota_data {
osal_u16 req_fota_block_size;
osal_bool force_suspend_firmware;
osal_bool sota_update_flag;
} atiny_ota_data;
typedef struct tag_atiny_retry_counter {
osal_u8 bs_reg_retry_count_current[3];
osal_u8 reg_retry_count_current[3];
} atiny_retry_counter;
typedef struct {
osal_u16 cmd_cnt;
osal_u16 evt_cnt;
osal_u16 cmd_opcode[10];
osal_u32 cmd_time_stamp[10];
osal_u16 evt_opcode[10];
osal_u32 evt_time_stamp[10];
osal_u8 evt_status[10];
} tl_dfx_stru;
typedef struct {
osal_u32 sleep_cnt;
osal_u32 wakeup_cnt;
osal_u32 ble_int_mask;
osal_u32 adv_miss_cnt;
osal_u32 idx;
osal_u32 wakeup_finetarget[10];
osal_u32 ble_finetarget[10];
osal_u32 ble_grosstarget[10];
osal_u32 wakeup_end_clkn[10];
} bt_sleep_dfx;
typedef struct {
osal_bool en_print_period;
osal_u32 ds_proc_times;
osal_u32 ds_wake_times;
osal_u32 lp3_ds_times;
osal_u32 n_ds_kick_reson;
osal_u32 n_ds_os_schedule;
osal_u32 n_ds_veto_reson[29];
osal_u32 stat_end;
} soc_lpc_stat_a;
typedef struct {
osal_bool en_print_period;
osal_u32 ds_proc_times;
osal_u32 ds_wake_times;
osal_u32 lp3_ds_times;
osal_u32 n_ds_kick_reson;
osal_u32 n_ds_os_schedule;
osal_u32 n_ds_veto_reson[12];
osal_u32 stat_end;
} soc_lpc_stat_p;
typedef struct {
osal_bool backup_watchdog;
osal_bool enable;
osal_u32 ds_os_schedule_tick;
osal_u32 ds_veto;
osal_u32 clk_veto;
c_ulonglong clk_permit_ms;
c_ulonglong ds_permit_ms;
osal_u32 g_restore_funcs[29];
osal_u32 g_restore_param[29];
osal_u32 g_check_funcs[29];
osal_u32 g_check_param[29];
osal_u32 veto_lp3;
osal_u32 en_magic;
osal_u32 en_idle_time;
osal_u32 en_no_action_time;
} soc_lpc_process_ctrl_a_s;
typedef struct {
osal_bool backup_watchdog;
osal_bool enable;
osal_u32 ds_os_schedule_tick;
osal_u32 ds_veto;
osal_u32 clk_veto;
c_ulonglong clk_permit_ms;
c_ulonglong ds_permit_ms;
osal_u32 g_restore_funcs[12];
osal_u32 g_restore_param[12];
osal_u32 g_check_funcs[12];
osal_u32 g_check_param[12];
osal_u32 veto_lp3;
osal_u32 en_magic;
osal_u32 en_idle_time;
osal_u32 en_no_action_time;
} soc_lpc_process_ctrl_s;
typedef struct {
osal_u32 total;
osal_u32 used;
osal_u32 free;
osal_u32 free_node_num;
osal_u32 used_node_num;
osal_u32 max_free_node_size;
osal_u32 malloc_fail_count;
osal_u32 peek_size;
} soc_mem_info;
typedef struct {
osal_u32 will_ds_times;
osal_u32 real_ds_times;
osal_u32 nds_kick_times;
osal_u32 ds_veto;
osal_u32 lpc_max_id;
osal_u32 real_lp3_times;
osal_u32 lp3_veto;
c_ulonglong ds_permit_ms;
} soc_lpc_info;
typedef struct {
osal_u32 dfx_write_cnt;
osal_u32 dfx_read_cnt;
osal_u32 dfx_writed_cnt;
osal_u32 dfx_readed_cnt;
osal_u8 deinit_fail_times;
osal_u8 pad[3];
osal_u32 tx_mux;
} diag_uart_driver_extra;
typedef struct {
osal_u8 timer_usage;
osal_u8 task_usage;
osal_u8 sem_usage;
osal_u8 queue_usage;
osal_u8 mux_usage;
osal_u8 pad[3];
osal_u32 err_info;
} soc_os_resource_use_stat_s;
typedef struct {
osal_bool valid;
osal_bool last;
osal_u32 crash_sec;
osal_u32 main_type;
osal_u32 sub_type;
osal_u32 core;
osal_u32 data[5];
osal_u32 mepc;
osal_u32 mstatus;
osal_u32 mtval;
osal_u32 mcause;
osal_u32 ccause;
osal_u32 ra;
osal_u32 sp;
osal_u32 mem_total;
osal_u32 mem_used;
osal_u32 mem_free;
osal_u32 mem_peek_size;
} diag_syserr_info;
typedef enum {
AT_CMD_EXECUTE_SET,
AT_CMD_EXECUTE_READ,
AT_CMD_EXECUTE_EXEC,
AT_CMD_EXECUTE_TEST,
} at_cmd_execute_type;
typedef struct {
osal_u8 cmd_id;
at_cmd_execute_type type;
} at_cmd_record;
typedef struct {
at_cmd_record last_at_cmd_record;
osal_bool at_cmd_in_progress;
osal_u16 app_data_of_bytes;
osal_u16 async_list_node_count;
osal_u16 reboot_reset_reason;
} report_at_stat;
typedef struct {
osal_u8 psm_status;
osal_u8 psm_enter_action;
osal_u8 psm_exit_action;
osal_bool as_deactivating_pover_save;
osal_bool psm_enhance;
} mmc_psm_mng_t_report;
typedef struct {
osal_u8 sim_present_status;
osal_u8 ps_reg_status;
mmc_psm_mng_t_report psm_mng_info;
osal_bool user_reselection_in_progress;
osal_bool switch_off_pending;
osal_bool force_power_off;
} mmc_mml_context_report;
typedef struct {
osal_u8 spec_plmn_search_state;
osal_u8 as_cell_camp_on;
osal_u8 selection_mode;
osal_bool is_first_search;
osal_bool is_stored_search;
osal_bool is_need_deep_search;
osal_bool out_of_service;
osal_bool is_need_abort_rsp;
osal_u8 select_plmn[3];
osal_u8 user_spec_plmn_id[3];
osal_u8 user_reselect_plmn_id[3];
osal_u16 plmn_search_time_out_count;
osal_u16 stored_search_max_count;
osal_u16 stored_search_count;
osal_u8 search_cause;
osal_u8 abort_cause;
osal_u8 coverage_state;
osal_u8 ps_reg_additional_action;
} mmc_plmn_search_report;
typedef struct {
mmc_plmn_search_report plmn_search_ctrl;
osal_u8 attach_pending;
osal_bool attach_locked;
osal_u8 detach_pending;
osal_bool plmn_search_in_progress;
osal_bool bg_search_in_progress;
osal_bool only_forbidden_plmns_found;
osal_bool cell_available;
osal_u32 search_period;
osal_bool user_plmn_search_req_pending;
osal_bool plmn_search_may_be_resumed;
} mmc_context_ctrl_info_report;
typedef struct {
osal_u8 sim_state;
osal_u8 autostart_state;
osal_u8 reg_state;
} at_info_report;
typedef struct {
osal_bool nslpi;
osal_bool need_reattach;
osal_bool is_cplane_cntx;
osal_u8 cid;
osal_u8 ebi;
osal_u8 h_comp;
osal_u8 trigger;
osal_u8 ul_data_route;
osal_bool t3396_is_running;
osal_u32 pdp_fsm_contx_state;
} taf_pdp_cntx_report;
typedef struct {
osal_u8 ps_status;
osal_u8 service_status;
osal_u8 plmn_eps_max;
osal_u8 plmn[3];
} esm_ctx_t_report;
typedef struct {
osal_bool enabled;
osal_u8 f[4];
osal_u8 c_pdn[4];
} esm_rpm_param;
typedef struct {
esm_ctx_t_report ctx;
osal_u8 def_pdn_cid;
osal_u8 attach_cid;
osal_u8 pdn_num;
osal_u8 eps_num;
osal_u8 pti_num;
osal_u16 data_num;
osal_u16 excpt_num;
osal_u16 ping_num;
osal_u16 wait_cnf_num;
osal_u8 current_state;
esm_rpm_param rpm_param;
} esm_entry_report;
typedef struct {
osal_u8 attach_type;
osal_bool reg_without_pdn;
osal_u8 camped_type;
osal_bool roaming;
osal_u8 attempt_count;
osal_u8 attach_complete_count;
} emm_attach_report;
typedef struct {
osal_u8 detach_mode;
osal_bool detach_req_send_succ;
osal_u8 detach_atmp_cnt;
osal_u8 cause;
} emm_detach_report;
typedef struct {
osal_bool enabled;
osal_u8 n1;
osal_u8 t1;
osal_u8 c_br_1;
osal_u8 c_r_1;
osal_u8 cur_n1_count;
}emm_rpm_ctrl_data;
typedef struct {
osal_u8 ksiasme;
osal_u32 ul_nas_count;
osal_u32 dl_nas_count;
osal_u32 fail_times;
osal_u8 integrity_check_fail_times;
} emm_secu_report;
typedef struct {
osal_u8 ser_start_cause;
osal_u8 est_cause;
osal_bool data_valid;
osal_u8 attempt_count;
osal_bool start_in_conn;
} emm_ser_report;
typedef struct {
osal_u8 emm_tau_type;
osal_u8 tau_start_cause;
osal_u8 tau_attempt_cnt;
osal_bool idle_tau;
osal_bool active_flag;
osal_bool signalling_active_flag;
osal_bool t3412_expired;
osal_u8 param_changes;
osal_bool settings_synced;
osal_u8 trigger_tau_rrc_rel;
osal_bool local_bearer_deactivation;
osal_bool wait_as_camp_on;
} emm_tau_report;
typedef struct {
osal_u8 as_state;
osal_u8 drb_status;
osal_u8 sim_stat;
osal_u8 ps_sim_validity;
} emm_pub_info_report;
typedef struct {
osal_u8 bar_attempt_counter;
osal_u16 bar_req_cause_mask;
osal_u8 bar_rel_action;
} emm_bar_rel_timer_info;
typedef struct {
osal_bool low_priority_flag;
osal_bool exception_flag;
osal_u8 backoff_plmn[3];
osal_u32 start_time;
osal_u8 expiry_action;
} emm_backoff_timer_info;
typedef struct {
osal_u8 emm_main_state;
osal_u8 emm_sub_state;
osal_u8 secu_main_state;
osal_u8 secu_sub_state;
osal_u8 msg_buff_count;
osal_u8 rrc_conn_state;
} emm_main_context_report;
typedef struct {
osal_u32 usim_update_count;
osal_u32 usim_cur_state;
osal_u32 usim_deactive_cause;
osal_u32 pres_timer_status;
osal_u32 sleep_veto_active;
osal_u32 usim_ind_status;
} usim_info_report;
typedef struct {
mmc_mml_context_report mmc_mml_ctx;
mmc_context_ctrl_info_report mmc_context;
at_info_report at_info;
taf_pdp_cntx_report taf_pdp_cntx[11];
esm_entry_report esm_entry;
emm_attach_report emm_attach;
emm_detach_report emm_detach;
emm_rpm_ctrl_data emm_rpm;
emm_secu_report emm_secu;
emm_ser_report emm_ser;
emm_tau_report emm_tau;
emm_pub_info_report emm_pub_info;
osal_u8 emm_t3440_rel_cau;
emm_bar_rel_timer_info emm_bar_rel_timer;
emm_backoff_timer_info emm_backoff_timer;
emm_main_context_report emm_main_context;
usim_info_report usim_info;
} report_nas_stat;
typedef osal_u32 secnds;
typedef struct {
osal_s8 default_s_search_delta_p;
} nb_iot_relaxed_monitoring_config_t;
typedef struct {
osal_s8 meas_threshold_sinr_db;
osal_s8 meas_offset_sinr_db;
osal_u8 max_sinr_enable_times;
osal_u8 max_sinr_disable_times;
} nb_iot_sinr_meas_control_config_t;
typedef struct {
osal_bool reselection_enabled;
osal_u8 resel_min_coverage_level;
osal_s8 srxlev_meas_disable_hyst_db;
osal_bool relaxed_monitoring_enabled;
nb_iot_relaxed_monitoring_config_t relaxed_monitoring_config;
osal_bool sinr_meas_control_enabled;
nb_iot_sinr_meas_control_config_t sinr_meas_control_config;
} nb_iot_cell_reselection_config_t;
typedef struct {
osal_u8 max_pcell_mib_sib_attempt_counter;
osal_u8 max_ncell_mib_sib_attempt_counter;
osal_u16 band_scan_puncture_rate;
osal_s32 fast_search_threshold;
osal_s32 slow_search_threshold;
secnds data_inactivity_timeout;
secnds sib16_read_period_s;
nb_iot_cell_reselection_config_t cell_reselection_config;
osal_bool serving_cell_idle_meas_report_enabled;
osal_bool multi_carrier_enabled;
osal_bool early_contention_resolution_report_enabled;
} rrc_nvconfig_info_t;
typedef enum {
RRC_BAR_CAUSE_CELL_SELECTION,
RRC_BAR_CAUSE_CELL_RESELECTION
} rrc_barred_cause;
typedef enum {
TRANS_OUT_OF_CONNECTED_STATE,
SERVING_CELL_LOST_TRANS_TO_SEARCH,
IDLE_STATE_TRANS_TO_SEARCH,
REESTAB_SERVING_CELL_LOST_TRANS_TO_SEARCH,
REESTAB_ABORT_CONTINUE_SEARCH,
} rrc_oos_cause;
typedef struct {
osal_u16 est_fail_count;
osal_u16 asn_decode_fail_count;
osal_u16 asn_encode_fail_count;
osal_u16 reselect_count;
osal_u16 search_count;
osal_u32 last_search_start_time;
osal_u32 last_search_time;
osal_u32 search_avg_time;
rrc_barred_cause last_bar_cause;
rrc_oos_cause last_oos_cause;
} rrc_debug_info_t;
typedef enum {
RRC_TOP_FSM_STATE_SEARCH,
RRC_TOP_FSM_STATE_DEACTIVATED,
RRC_TOP_FSM_STATE_IDLE,
RRC_TOP_FSM_STATE_CONNECTED,
RRC_TOP_FSM_STATE_CONNECTING,
RRC_TOP_FSM_STATE_REESTAB,
RRC_TOP_FSM_STATE_NULL,
MAX_NUM_TOP_FSM_STATES
} rrc_top_fsm_state_t;
typedef struct {
rrc_nvconfig_info_t rrc_nvcfg;
rrc_debug_info_t rrc_debug_info;
rrc_top_fsm_state_t rrc_current_state;
rrc_top_fsm_state_t rrc_next_state;
osal_u32 rrc_last_msg_id;
/* g_rrc_ctxt */
osal_bool rrc_cell_select_req_running;
osal_bool ll1_l2_deactivated;
osal_bool bg_search_active;
osal_bool as_security_active;
} report_rrc_stat;
typedef osal_u32 sf_count;
typedef struct {
/* mac_l2_context */
osal_u16 crnti;
osal_bool rai_activation;
} report_mac_ul_stat;
typedef enum {
RLC_DL_FSM_STATE_ACTIVATED,
RLC_DL_FSM_STATE_INITIALISED,
RLC_DL_FSM_STATE_SUSPENDED,
} rlc_dl_fsm_state_t;
typedef struct {
rlc_dl_fsm_state_t rlc_dl_fsm[5];
} report_rlc_dl_stat;
typedef osal_u16 l2_size;
typedef enum {
RLC_UL_FSM_STATE_ACTIVATED,
RLC_UL_FSM_STATE_INITIALISED,
RLC_UL_FSM_STATE_SUSPENDED,
} rlc_ul_fsm_state_t;
typedef struct {
rlc_ul_fsm_state_t rlc_ul_fsm[5];
/* rlc_ul_buffer_status */
l2_size srb0_datalen;
osal_u16 rlc_ul_byte_without_poll[4];
osal_u16 rlc_ul_pdu_num_without_poll[4];
} report_rlc_ul_stat;
typedef struct {
osal_u32 cipher_decipher_failure_count;
osal_u32 intefrity_check_failure_count;
} security_debug_info_t;
typedef enum {
PDCP_SRB_FSM_STATE_FIRST_PDU_RECEIVED,
PDCP_SRB_FSM_STATE_IDLE,
PDCP_SRB_FSM_STATE_INTEGRITY_CHECKED,
PDCP_SRB_FSM_STATE_INTEGRITY_FAILED,
PDCP_SRB_FSM_STATE_READ_INTEGRITY_CHECK_STATUS,
PDCP_SRB_FSM_STATE_REESTABLISHED,
PDCP_SRB_FSM_STATE_SECURED,
PDCP_SRB_FSM_STATE_SUSPENDED,
} pdcp_srb_fsm_state_t;
typedef enum {
PDCP_DRB_FSM_STATE_CIPHERED,
PDCP_DRB_FSM_STATE_REESTABLISHED,
PDCP_DRB_FSM_STATE_SUSPENDED,
PDCP_DRB_FSM_STATE_UNINITIALISED,
} pdcp_drb_fsm_state_t;
typedef struct {
pdcp_srb_fsm_state_t pdcp_srb_fsm[1];
pdcp_drb_fsm_state_t pdcp_drb_fsm[1];
security_debug_info_t security_debug_info;
} report_pdcp_stat;
typedef struct {
osal_u16 direct_ind_rx_count;
osal_u16 paging_rx_count;
osal_u16 missed_paging_count;
osal_u16 missed_paging_opportunity;
} report_paging_stat;
typedef struct {
osal_u16 rar_fail_count;
osal_u16 contention_resolution_fail_count;
osal_u16 rach_fail_count;
} report_rach_stat;
typedef struct {
osal_u16 nack_pdu;
osal_u16 total_pdu;
osal_u32 rate;
} mac_uldl_stat;
typedef struct {
mac_uldl_stat ul;
mac_uldl_stat dl;
} report_mac_trans_stat;
typedef osal_u32 nb_iot_earfcn;
typedef osal_s16 centibels;
typedef enum {
LL1_NULL,
LL1_INIT,
LL1_CELL_SEARCH,
LL1_IDLE,
LL1_CONNECTED,
LL1_RADIO_TEST,
} ll1_states;
typedef struct {
nb_iot_earfcn earfcn;
osal_u16 pci;
osal_u16 rsrp;
osal_u16 snr;
} report_signal_stat;
typedef struct {
ll1_states current_state;
ll1_states previous_state;
} report_fsm_state;
typedef enum {
LL1_ERROR_TAG_DSP_COMPLETION_IGNORED_TX,
LL1_ERROR_TAG_DSP_COMPLETION_IGNORED_RX,
LL1_ERROR_TAG_MSG_DROPPED_NOT_INTER_THREAD,
LL1_ERROR_TAG_MSG_DROPPED_NOT_INTER_THREAD_IDLE,
LL1_ERROR_TAG_PDCCH_ORDER_NPRACH_REPETITION_NUMBER_INDEX_TOO_LARGE,
LL1_ERROR_TAG_UNKNOWN_STATE,
LL1_ERROR_TAG_UNKNOWN_EVENT,
LL1_ERROR_TAG_INVALID_PRACH_NUM_REP_PER_PREAMBLE,
LL1_ERROR_TAG_INVALID_RNTI_TYPE,
LL1_ERROR_TAG_INVALID_RNTI_TYPE_PDSCH,
LL1_ERROR_TAG_INVALID_DCI_FORMAT_DELAY,
LL1_ERROR_TAG_INVALID_DCI_FORMAT_LOG,
LL1_ERROR_TAG_INVALID_DCI_FORMAT_LOAD_PUSCH,
LL1_ERROR_TAG_INVALID_DCI_FORMAT_SEND_PUSCH,
LL1_ERROR_TAG_INVALID_DCI_FORMAT_RAR,
LL1_ERROR_TAG_INVALID_DCI_FORMAT_MSG4,
LL1_ERROR_TAG_INVALID_DCI_FORMAT_MSG4_SDU,
LL1_ERROR_TAG_INVALID_RACH_INITIATOR,
LL1_ERROR_TAG_INVALID_RACH_INITIATOR_RETRY,
LL1_ERROR_TAG_INVALID_RACH_INITIATOR_MSG4_SDU,
LL1_ERROR_TAG_INVALID_RACH_INITIATOR_MSG3_SENT,
LL1_ERROR_TAG_INVALID_PRACH_PREAMBLE_RANGE,
LL1_ERROR_TAG_INVALID_PRACH_PREAMBLE_RANGE_LIB,
LL1_ERROR_TAG_UNEXPECTED_STATE,
LL1_ERROR_TAG_UNEXPECTED_STATE_KICK,
LL1_ERROR_TAG_UNEXPECTED_STATE_LEAVING,
LL1_ERROR_TAG_UNEXPECTED_STATE_RACH_REQ,
LL1_ERROR_TAG_PAGING_OCCASSION_CALC,
LL1_ERROR_TAG_FREQ_CHANGE_ALREADY_SAVED,
LL1_ERROR_TAG_INVALID_DRX_CYCLE_LENGTH,
LL1_ERROR_TAG_SCHEDULE_DETECTION_FAILED,
LL1_ERROR_TAG_CANNOT_MEASURE_CELL,
LL1_ERROR_TAG_CANNOT_MEASURE_CELL_NO_CELL,
LL1_ERROR_TAG_INVALID_SUBCARRIER_SPACE,
LL1_ERROR_TAG_INVALID_SUBCARRIER_SPACE_PUSCH,
LL1_ERROR_TAG_INVALID_SUBCARRIER_SPACE_PUCCH,
LL1_ERROR_TAG_INVALID_SUBCARRIER_IND,
LL1_ERROR_TAG_INVALID_SUBCARRIER_IND_DURATION,
LL1_ERROR_TAG_CELL_SELECT_ALREADY_PENDING,
LL1_ERROR_TAG_INVALID_THREE_TONE_SET,
LL1_ERROR_TAG_INVALID_SIX_TONE_SET,
LL1_ERROR_TAG_INVALID_SUBCARRIER_FREQ,
LL1_ERROR_TAG_UNSUPPORTED_DSP_COMMAND,
LL1_ERROR_TAG_UNSUPPORTED_DSP_COMMAND_FLASH,
LL1_ERROR_TAG_CONNECTED_LPM_RESYNC_FAILURE,
LL1_ERROR_TAG_CELL_DETECT_EXCEEDS_MAX,
LL1_ERROR_TAG_INVALID_CARRIER_TYPE_PDSCH,
LL1_ERROR_TAG_INVALID_CARRIER_TYPE_SELECT,
LL1_ERROR_TAG_INVALID_CARRIER_TYPE_PDCCH,
LL1_ERROR_TAG_INVALID_CARRIER_TYPE_GET_MODE,
LL1_ERROR_TAG_INVALID_BASE_SUBFRAME_PATTERN,
LL1_ERROR_TAG_RF_MULTITONE_READ_FAILED,
LL1_ERROR_TAG_RF_SET_CALIBRATION_FAILURE,
LL1_ERROR_TAG_RF_RX_NOT_ACTIVE,
LL1_ERROR_TAG_INVALID_ANCHOR_CARRIER_DL_RASTER_OFFSET,
LL1_ERROR_TAG_NO_HARQ_WAITING_FOR_MAC_DATA,
LL1_ERROR_TAG_NO_DL_HARQ_PENDING,
LL1_ERROR_TAG_INVALID_HARQ_ID_DATA_DROPPED,
LL1_ERROR_TAG_INVALID_HARQ_ID_DATA_DROPPED_PUSCH,
LL1_ERROR_TAG_INVALID_HARQ_ID_DATA_DROPPED_REQ_HANDLER,
LL1_ERROR_TAG_INVALID_NPDCCH_COMPLETION_STATE,
LL1_ERROR_TAG_CARRIER_HAS_NO_RACH_RESOURCE_FOR_ECL,
LL1_ERROR_TAG_DIDNT_LOG_RF_EVENTS,
LL1_ERROR_TAG_MALLOC_FAILURE_SOFT_COMBINING,
LL1_ERROR_TAG_SSS_RESYNC_STATE_INVALID,
LL1_ERROR_TAG_SIB1_SCHD_INFO_INVALID,
} ll1_log_error_value_tag_t;
typedef enum {
LL1_WARNING_TAG_RE_TX_UL_TBS_MISMATCH,
LL1_WARNING_TAG_RE_TX_UL_TBS_MISMATCH_N0,
LL1_WARNING_TAG_RACH_OPPORTUNITY_PASSED,
LL1_WARNING_TAG_PAGING_OPPORTUNITY_PASSED,
LL1_WARNING_TAG_NWUS_OPPORTUNITY_PASSED,
LL1_WARNING_MCS_BIGGER_THAN_TWO_WITHOUT_EDT,
LL1_WARNING_CONN_RACH_DCI_N1_RECEIVED_WITH_TCRNTI,
} ll1_log_warning_value_tag_t;
typedef struct {
report_paging_stat paging_stat;
osal_u16 power_ratio_fail_count;
report_rach_stat rach_stat;
report_mac_trans_stat mac_trans_stat;
osal_u16 cell_switch_count;
osal_u16 rlf_out_sync_count;
ll1_log_error_value_tag_t last_error_log;
ll1_log_warning_value_tag_t last_warning_log;
report_signal_stat signal_stat;
report_fsm_state fsm_state;
} report_ll1_stat;

View File

@ -0,0 +1,232 @@
<?xml version="1.0" encoding="utf-8"?>
<DebugKits>
<GROUP NAME="MAC" DATA_STRUCT_FILE="..\diag\mac_struct_def.txt" MULTIMODE="NBIOT" PLUGIN="0x111,0x110(1),0x252">
</GROUP>
<GROUP NAME="PHY" DATA_STRUCT_FILE="..\diag\phy_struct_def.txt" MULTIMODE="LTE">
</GROUP>
<GROUP NAME="DBK" DATA_STRUCT_FILE="..\diag\struct_def.txt" MULTIMODE="NBIOT">
<CMD ID="0x5314" TYPE="IND" NAME="msg_sys" PLUGIN="0x110(1)" DESCRIPTION="MSG上报SYS"></CMD>
<CMD ID="0x5315" TYPE="IND" NAME="msg_layer(dev)" PLUGIN="0x110(1)" DESCRIPTION="MSG上报LAYER"></CMD>
<CMD ID="0x5316" TYPE="IND" NAME="msg_usr" PLUGIN="0x110(1),0x110(5)" DESCRIPTION="MSG上报USR"></CMD>
<CMD ID="0x5304" TYPE="IND" NAME="msg_air" PLUGIN="0x110(1),0x110(5)" DESCRIPTION="MSG上报AIR"></CMD>
<CMD ID="0x5310" TYPE="IND" NAME="msg_set_sys" PLUGIN="0x110(1)" DESCRIPTION="MSG上报SYS"></CMD>
<CMD ID="0x5311" TYPE="IND" NAME="msg_set_layer(dev)" PLUGIN="0x110(1)" DESCRIPTION="MSG上报LAYER"></CMD>
<CMD ID="0x5312" TYPE="IND" NAME="msg_set_usr" PLUGIN="0x110(1),0x110(5)" DESCRIPTION="MSG上报USR"></CMD>
<CMD ID="0x5512" TYPE="IND" NAME="msg_set_air" PLUGIN="0x110(1),0x110(5)" DESCRIPTION="MSG上报USR"></CMD>
<CMD ID="0x7000" TYPE="IND" NAME="sal_mac_diag_chl" PLUGIN="0x100,0x102,0x252,0x260" DESCRIPTION=""></CMD>
<CMD ID="0xF1000000" TYPE="IND" NAME="GTR" PLUGIN="0x110(1)" DESCRIPTION=""></CMD>
<CMD ID="0x3013" NAME="ver" DESCRIPTION="" PLUGIN="0x100,0x102" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="diag_cmd_soft_new_ver_stru" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0x5331" NAME="sdm_attd" DESCRIPTION="attach debug mode" PLUGIN="0x100,0x102(2)" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x5332" NAME="sdm_dttd" DESCRIPTION="detach debug mode" PLUGIN="0x100,0x102(2)" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x7003" NAME="syserr" DESCRIPTION="" PLUGIN="0x100,0x252" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="soc_syserr_info" TYPE="Auto" />
</CMD>
<CMD ID="0x3017" NAME="mini_syserr" DESCRIPTION="" PLUGIN="0x100,0x102" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="diag_cmd_new_syserr_qry_stu" TYPE="Auto" RESULT_CODE="" />
<IND STRUCTURE="diag_cmd_new_syserr_qry_stu" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0x7004" NAME="clssyserr" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x5322" NAME="sdm_ef" DESCRIPTION="" PLUGIN="0x100,0x102(2)" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="soc_syserr_info" TYPE="Auto" RESULT_CODE="" />
<IND STRUCTURE="soc_syserr_info" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0x7005" TYPE="IND" NAME="syserrdump" PLUGIN="0x252,0x260" DESCRIPTION="">
<IND STRUCTURE="dump_data_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x7008" TYPE="REQ" NAME="dumpfile" PLUGIN="0x100" DESCRIPTION="">
<REQ STRUCTURE="dump_bin_req_stru" TYPE="Auto" PARAM_VALUE="{0x10000000,4096,1024,0}" />
<IND STRUCTURE="dump_bin_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x7009" TYPE="IND" NAME="md2k" PLUGIN="0x100" DESCRIPTION="">
<IND STRUCTURE="dump_data2k_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x7030" TYPE="IND" NAME="sysdumpfinish" PLUGIN="0x252,0x260" DESCRIPTION="">
<IND STRUCTURE="u32_type_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x7006" TYPE="REQ" NAME="dosyserr" PLUGIN="0x100" DESCRIPTION="">
<REQ STRUCTURE="u32_type_stru" TYPE="Auto" PARAM_VALUE="{0}" />
</CMD>
<CMD ID="0x7007" TYPE="IND" NAME="prompt" PLUGIN="0x100,0x252" DESCRIPTION="">
<IND STRUCTURE="str_type" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0x7012" NAME="sdm_sys" DESCRIPTION="" PLUGIN="0x100,0x102(2)" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="diag_cmd_sal_sys_sdm" TYPE="Auto" />
</CMD>
<CMD ID="0x5501" NAME="sdm_nvw" DESCRIPTION="" PLUGIN="0x100,0x102(2)" TYPE="REQ">
<REQ STRUCTURE="nv_req_stru" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="diag_cmd_nv_wr_cnf_stru" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0x5503" NAME="sdm_nvr" DESCRIPTION="" PLUGIN="0x100,0x102(2)" TYPE="REQ">
<REQ STRUCTURE="u32_type_stru" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="nv_ack_stru" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0x550f" NAME="setuart" DESCRIPTION="" PLUGIN="0x100,0x102(2)" TYPE="REQ">
<REQ STRUCTURE="soc_uart_attr" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="null_stru" TYPE="Auto" RESULT_CODE="" />
</CMD>
</GROUP>
<GROUP NAME="System" DATA_STRUCT_FILE="..\diag\sys_struct_def.txt" MULTIMODE="NBIOT">
<CMD ID="0x3014" NAME="diag_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="soc_stat_diag_qry" TYPE="Auto" RESULT_CODE="" />
<IND STRUCTURE="soc_stat_diag_qry" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0x3430" TYPE="IND" NAME="stat" PLUGIN="0x100" DESCRIPTION="">
<REQ STRUCTURE="SOC_DBG_STAT_Q_S" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB101" NAME="report_mac_ul_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_mac_ul_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB102" NAME="report_rlc_dl_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_rlc_dl_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB103" NAME="report_rlc_ul_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_rlc_ul_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB104" NAME="report_pdcp_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_pdcp_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB105" NAME="report_ll1_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_ll1_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB200" NAME="report_nas_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_nas_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB201" NAME="report_rrc_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_rrc_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB301" NAME="aGetMemInfo" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="soc_mem_info" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB303" NAME="aGetUartExtra" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="SOC_DBG_STAT_Q_S" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="diag_uart_driver_extra" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB304" NAME="aGetResourceStat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="soc_os_resource_use_stat_s" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB305" NAME="aGetSyserrInfo" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="diag_syserr_info" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB382" NAME="pGetLpcStat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="soc_lpc_info" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB383" NAME="pGetUartExtra" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="SOC_DBG_STAT_Q_S" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="diag_uart_driver_extra" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB385" NAME="pGetSyserrInfo" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="diag_syserr_info" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xB400" NAME="report_at_stat" DESCRIPTION="" PLUGIN="0x100" TYPE="REQ">
<REQ STRUCTURE=" null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="report_at_stat" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xA301" TYPE="IND" NAME="aCoreTest" PLUGIN="0x100" DESCRIPTION="">
<IND STRUCTURE="soc_stat_diag_qry" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xA384" TYPE="IND" NAME="pCoreLpcStat" PLUGIN="0x100" DESCRIPTION="">
<IND STRUCTURE="soc_lpc_stat_p" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xA385" TYPE="IND" NAME="pCoreLpcProcessCtrl" PLUGIN="0x100" DESCRIPTION="">
<IND STRUCTURE="soc_lpc_process_ctrl_p_s" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xA010" TYPE="IND" NAME="提示" PLUGIN="0x100,0x252,0x303" DESCRIPTION="">
<IND STRUCTURE="str_type" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xA011" TYPE="IND" NAME="提示" PLUGIN="0x100,0x252,0x303" DESCRIPTION="">
<IND STRUCTURE="str_type" TYPE="Auto" PARAM_VALUE="" />
</CMD>
<CMD ID="0xA500" NAME="atiny参数统计" TYPE="IND" PLUGIN="0x100" DESCRIPTION="">
<IND STRUCTURE="atiny_critical_information" TYPE="Auto" />
</CMD>
<CMD ID="0xB500" NAME="get_platform_state" DESCRIPTION="" PLUGIN="0x100, 0x259" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="atiny_platform_state" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB501" NAME="get_retrans_data" DESCRIPTION="" PLUGIN="0x100, 0x259" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="atiny_retrans_data" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB502" NAME="get_ota_data" DESCRIPTION="" PLUGIN="0x100, 0x259" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="atiny_ota_data" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB503" NAME="get_retry_count" DESCRIPTION="" PLUGIN="0x100, 0x259" TYPE="REQ">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="atiny_retry_counter" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xA600" NAME="BLE HCI统计" TYPE="IND" PLUGIN="0x100" DESCRIPTION="">
<IND STRUCTURE="tl_dfx_stru" TYPE="Auto" />
</CMD>
<CMD ID="0xA601" NAME="BLE sleep time" TYPE="IND" PLUGIN="0x100" DESCRIPTION="">
<IND STRUCTURE="bt_sleep_dfx" TYPE="Auto" />
</CMD>
</GROUP>
<GROUP NAME="APP" DATA_STRUCT_FILE="..\diag\app_struct_def.txt" MULTIMODE="NBIOT">
<CMD ID="0xB124" NAME="SOC_DSID_SDM_QUERY_INFO" DESCRIPTION="" PLUGIN="0x100, 0x259" TYPE="REQ">
<REQ STRUCTURE="soc_dump_info_req" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="soc_dump_info_ind" TYPE="Auto" RESULT_CODE="" />
</CMD>
<CMD ID="0xB125" NAME="SOC_DSID_SDM_QUERY_CONTENT" DESCRIPTION="" PLUGIN="0x100, 0x259" TYPE="REQ">
<REQ STRUCTURE="soc_dump_content_req" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="soc_dump_content_ind" TYPE="Auto" RESULT_CODE="" />
</CMD>
</GROUP>
<GROUP NAME="OS" DATA_STRUCT_FILE="..\diag\os_struct_def.txt" MULTIMODE="NBIOT">
<CMD ID="0x3001" NAME="osm" TYPE="REQ" PLUGIN="0x100,0x252" DESCRIPTION="">
<REQ STRUCTURE="str_type" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="str_type" TYPE="Auto" />
</CMD>
<CMD ID="0x3002" NAME="ossm" TYPE="REQ" PLUGIN="0x100,0x252" DESCRIPTION="">
<REQ STRUCTURE="str_type" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="str_type" TYPE="Auto" />
</CMD>
<CMD ID="0x3009" NAME="osreset" TYPE="REQ" PLUGIN="0x100" DESCRIPTION="">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<CNF STRUCTURE="str_type" TYPE="Auto" />
</CMD>
<CMD ID="0x3071" NAME="test_cmd" TYPE="REQ" PLUGIN="0x100" DESCRIPTION="">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="null_stru" TYPE="Auto" />
</CMD>
<CMD ID="0x3072" NAME="test_cmd2" TYPE="REQ" PLUGIN="0x100" DESCRIPTION="">
<REQ STRUCTURE="null_stru" TYPE="Auto" PARAM_VALUE="" />
<IND STRUCTURE="null_stru" TYPE="Auto" />
</CMD>
</GROUP>
<GROUP NAME="Pseudo Cmd" DATA_STRUCT_FILE="..\diag\pseudo_cmd_struct_def.txt" MULTIMODE="NBIOT">
</GROUP>
</DebugKits>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<DebugKits>
</DebugKits>

View File

@ -0,0 +1,12 @@
<?xml version='1.0' encoding='UTF-8'?>
<DebugKits>
<GROUP FEATURE="1&lt;&lt;0,1&lt;&lt;5" ID="0x1" NAME="Application" PARAM_DEF_FILE="../nv/nv_app_struct_def.txt" USEDMODE="0">
</GROUP>
<GROUP FEATURE="1&lt;&lt;0,1&lt;&lt;5" ID="0x2" NAME="Protocol" PARAM_DEF_FILE="../nv/nv_protocol_struct_def.txt" USEDMODE="0">
</GROUP>
<GROUP FEATURE="1&lt;&lt;0,1&lt;&lt;5" ID="0x3" NAME="Security" PARAM_DEF_FILE="../nv/nv_security_struct_def.txt" USEDMODE="0">
</GROUP>
</DebugKits>

View File

@ -0,0 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<MSS>
<SUBSYSTEM DATA_STRUCT_FILE="..\diag\msg_struct_def.txt" DESCRIPTION="" MULTIMODE="NBIOT" NAME="NBIOT">
<MSG_LOG>
</MSG_LOG>
<AIR_LOG>
</AIR_LOG>
<LAYER_LOG>
</LAYER_LOG>
<USERPLANE_LOG NAME="MAC_PHY_UL_GRANT_HARQ_IND">
</USERPLANE_LOG>
</SUBSYSTEM>
</MSS>

View File

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<!--HiSilicon (Shanghai) Technologies Co., Ltd.-->
<MSS>
<!--The definition of MSS basic ID, including Category ID, Module ID and name. Category / Module ID between subsystems must be unique-->
<SUBSYSTEM>
<CATEGORY>
<CAT NAME="System" ID="0x00000400" DESCRIPTION="System" />
<CAT NAME="Print" ID="0x00008000" DESCRIPTION="Print" />
<CAT NAME="Event" ID="0x00004000" DESCRIPTION="Event" />
<CAT NAME="Air" ID="0x00002000" DESCRIPTION="Air" />
<CAT NAME="Layer" ID="0x00001000" DESCRIPTION="Layer" />
<CAT NAME="User Plane" ID="0x00000200" DESCRIPTION="UserPlane" />
<CAT NAME="Message" ID="0x00000100" DESCRIPTION="Message" />
<CAT NAME="Custom messages" ID="0x00000010" DESCRIPTION="Custom messages" />
</CATEGORY>
<TITLE>
<ITEM ID="0x00" NAME="NO." STAT="1" VALUE="0" DESCRIPTION="..." />
<ITEM ID="0x01" NAME="Category" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x02" STAT="0" NAME="Level" DESCRIPTION="..." />
<ITEM ID="0x03" STAT="1" NAME="Date" DESCRIPTION="..." />
<ITEM ID="0x04" NAME="Time" STAT="1" DESCRIPTION="..." />
<ITEM ID="0x05" NAME="TimeStamp" STAT="1" DESCRIPTION="..." />
<ITEM ID="0x06" NAME="Chip" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x07" NAME="Cpu" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x08" NAME="Side" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x09" NAME="Layer" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x0A" NAME="Prim" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x0B" NAME="Source" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x0C" NAME="Destination" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x0D" NAME="FileName" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x0E" NAME="LineNo" STAT="0" DESCRIPTION="..." />
<ITEM ID="0x0F" NAME="Data" STAT="0" DESCRIPTION="..." />
</TITLE>
<LEVEL>
<PRINT ICON="\logging_item_type_icon.png">
<LEVEL NAME="Error" ID="0x40000000" ICON_OFFSET="0x1" DESCRIPTION="Error" />
<LEVEL NAME="Warning" ID="0x20000000" ICON_OFFSET="0x0" DESCRIPTION="Warning" />
<LEVEL NAME="Info" ID="0x10000000" ICON_OFFSET="0x2" DESCRIPTION="Info" />
<LEVEL NAME="Normal" ID="0x08000000" ICON_OFFSET="0x4" DESCRIPTION="Normal" />
</PRINT>
</LEVEL>
<MODULES RANGE="0x001,0xFFFF">
<MOD ID="0x00000100" NAME="INVALID" DESCRIPTION="INVALID" />
<MOD ID="0x00000101" NAME="DSP" DESCRIPTION="DSP" />
<MOD ID="0x00000102" NAME="LL1" DESCRIPTION="LL1" />
<MOD ID="0x00000103" NAME="L2_UL" DESCRIPTION="L2_UL" />
<MOD ID="0x00000104" NAME="L2_DL" DESCRIPTION="L2_DL" />
<MOD ID="0x00000105" NAME="MAC_DL" DESCRIPTION="MAC_DL" />
<MOD ID="0x00000106" NAME="MAC_UL" DESCRIPTION="MAC_UL" />
<MOD ID="0x00000107" NAME="RLC_UL" DESCRIPTION="RLC_UL" />
<MOD ID="0x00000108" NAME="RLC_DL" DESCRIPTION="RLC_DL" />
<MOD ID="0x00000109" NAME="PDCP" DESCRIPTION="PDCP" />
<MOD ID="0x0000010a" NAME="RRC" DESCRIPTION="RRC" />
<MOD ID="0x0000010b" NAME="EMMSM" DESCRIPTION="EMMSM" />
<MOD ID="0x0000010c" NAME="MN" DESCRIPTION="MN" />
<MOD ID="0x0000010d" NAME="AT" DESCRIPTION="AT" />
<MOD ID="0x0000010e" NAME="PDH" DESCRIPTION="PDH" />
<MOD ID="0x0000010f" NAME="LWIP" DESCRIPTION="LWIP" />
<MOD ID="0x00000110" NAME="SIM" DESCRIPTION="SIM" />
<MOD ID="0x00000111" NAME="LOG" DESCRIPTION="LOG" />
<MOD ID="0x00000112" NAME="MONITOR" DESCRIPTION="MONITOR" />
<MOD ID="0x00000113" NAME="HOSTTEST_RF" DESCRIPTION="HOSTTEST_RF" />
<MOD ID="0x00000114" NAME="HOSTTEST_TX" DESCRIPTION="HOSTTEST_TX" />
<MOD ID="0x00000115" NAME="HOSTTEST_RX" DESCRIPTION="HOSTTEST_RX" />
<MOD ID="0x00000116" NAME="NVCONFIG" DESCRIPTION="NVCONFIG" />
<MOD ID="0x00000117" NAME="NAS" DESCRIPTION="NAS" />
<MOD ID="0x00000118" NAME="IRMALLOC" DESCRIPTION="IRMALLOC" />
<MOD ID="0x00000119" NAME="PROTO" DESCRIPTION="PROTO" />
<MOD ID="0x0000011a" NAME="SMS" DESCRIPTION="SMS" />
<MOD ID="0x0000011b" NAME="LPP" DESCRIPTION="LPP" />
<MOD ID="0x0000011c" NAME="ROHC" DESCRIPTION="ROHC" />
<MOD ID="0x0000011d" NAME="UICC" DESCRIPTION="UICC" />
<MOD ID="0x0000011e" NAME="UE" DESCRIPTION="UE" />
<MOD ID="0x0000011f" NAME="BLE" DESCRIPTION="BLE" />
<MOD ID="0x00000120" NAME="RF" DESCRIPTION="RF" />
<MOD ID="0x00000121" NAME="EMM" DESCRIPTION="EMM" />
<MOD ID="0x00000122" NAME="ESM" DESCRIPTION="ESM" />
<MOD ID="0x00000123" NAME="MMC" DESCRIPTION="MMC" />
<MOD ID="0x00000124" NAME="TAF" DESCRIPTION="TAF" />
<MOD ID="0x00000127" NAME="RADIO" DESCRIPTION="RADIO" />
<MOD ID="0x00000201" NAME="APP_LWIP_SUPPORT" DESCRIPTION="APP_LWIP_SUPPORT" />
<MOD ID="0x00000208" NAME="APP_AT" DESCRIPTION="APP_AT" />
<MOD ID="0x00000214" NAME="APP_OTA" DESCRIPTION="APP_OTA" />
<MOD ID="0x0000021C" NAME="APP_NETWORK" DESCRIPTION="APP_NETWORK" />
<MOD ID="0x00000125" NAME="APP_ATINY" DESCRIPTION="APP_ATINY" />
<MOD ID="0x00000126" NAME="APP_DTLS" DESCRIPTION="APP_DTLS" />
<MOD ID="0x00000241" NAME="APP_LOG" DESCRIPTION="APP_LOG" />
</MODULES>
</SUBSYSTEM>
</MSS>

View File

@ -0,0 +1,39 @@
UINT64 64 0
UINT32 32 0
UINT16 16 0
UINT8 8 0
INT64 64 1
INT32 32 1
INT16 16 1
INT8 8 1
enum 32 0
u64 64 0
u32 32 0
u16 16 0
u8 8 0
s64 64 1
s32 32 1
s16 16 1
s8 8 1
BOOL 8 0
osal_u64 64 0
osal_u32 32 0
osal_u16 16 0
osal_u8 8 0
osal_s64 64 1
osal_s32 32 1
osal_s16 16 1
osal_s8 8 1
osal_bool 8 0
osal_char 8 1 1
char 8 1 1
long 32 1
osal_pvoid 32 0
osal_pbyte 32 0

View File

@ -0,0 +1,2 @@
#include "base_datatype_def.txt"

View File

@ -0,0 +1,13 @@
#include "base_datatype_def.txt"

View File

@ -0,0 +1,10 @@
#include "base_datatype_def.txt"

View File

@ -0,0 +1 @@
NB1X V100R001C00

View File

@ -0,0 +1,244 @@
#!/usr/bin/env python3
# coding=utf-8
#===============================================================================
# @brief create database
# Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd.
#===============================================================================
import xml.dom.minidom
import sys
import re
import os
import shutil
import xml.etree.ElementTree as ET
def write_enum_struct(name, enums, file):
file.write('typedef enum {\r\n')
for enum in enums:
file.write(''.join([' ', enum.getAttribute('Name'), '=', enum.getAttribute('Value'), ',\r\n']))
file.write(''.join(['} ', name, ';\r\n']))
def write_nomal_struct(name, fields, file):
file.write('typedef struct {\r\n')
for field in fields:
if field.nodeType != xml.dom.Node.ELEMENT_NODE:
continue
if field.getAttribute('Enum') == '':
if field.getAttribute('Length') == '1':
file.write(''.join([' ', field.getAttribute('Type'), ' ', field.getAttribute('FieldName'), ';\r\n']))
else:
file.write(''.join([' ', field.getAttribute('Type'), ' ', field.getAttribute('FieldName'), '[', field.getAttribute('Length') , '];\r\n']))
else:
if field.getAttribute('Length') == '1':
file.write(''.join([' ', field.getAttribute('Enum'), ' ', field.getAttribute('FieldName'), ';\r\n']))
else:
file.write(''.join([' ', field.getAttribute('Enum'), ' ', field.getAttribute('FieldName'), '[', field.getAttribute('Length'), '];\r\n']))
file.write(''.join(['} ', name, ';\r\n']))
def write_union(item, file):
file.write('typedef union {\r\n')
fields = item.getElementsByTagName("Field")
for field in fields:
file.write(''.join([' ', field.getAttribute('Type'), ' ', field.getAttribute('FieldName'), ';\r\n']))
file.write(''.join(['} ', item.getAttribute('Type'), ';\r\n']))
def find_union(fields, union_name_to_node):
for field in fields:
if field.getAttribute('FieldType') == 'union':
union_name_to_node[field.getAttribute('Type')] = field
def write_msg_struct(name, fields, file):
file.write('typedef struct {\r\n')
for field in fields:
if field.nodeType != xml.dom.Node.ELEMENT_NODE:
continue
if field.getAttribute('Enum') == '':
if field.getAttribute('Length') == '1':
file.write(''.join([' ', field.getAttribute('Type'), ' ', field.getAttribute('FieldName'), ';\r\n']))
else:
file.write(''.join([' ', field.getAttribute('Type'), ' ', field.getAttribute('FieldName'), '[', field.getAttribute('Length'), '];\r\n']))
else:
if field.getAttribute('Length') == '1':
file.write(''.join([' ', field.getAttribute('Enum'), ' ', field.getAttribute('FieldName'), ';\r\n']))
else:
file.write(''.join([' ' , field.getAttribute('Enum'), ' ', field.getAttribute('FieldName'), '[', field.getAttribute('Length'), '];\r\n']))
file.write(''.join(['} ', name, '_STRU;\r\n']))
def int_prim_xml_air_tree(tree):
root = tree.getroot()
layer_root_element = ET.Element('')
for child_1 in root:
if child_1.tag=='SUBSYSTEM':
for child_2 in child_1:
if child_2.tag=='AIR_LOG':
layer_root_element = child_2
break
break
if layer_root_element.tag=='AIR_LOG':
temp_attrib=layer_root_element.attrib
temp_text=layer_root_element.text
temp_tail = layer_root_element.tail
#layer_root_element.clear()
layer_root_element.attrib = temp_attrib
layer_root_element.text = temp_text
layer_root_element.tail = temp_tail
return layer_root_element
def int_prim_xml_layer_tree(tree):
root = tree.getroot()
layer_root_element = ET.Element('')
for child_1 in root:
if child_1.tag=='SUBSYSTEM':
for child_2 in child_1:
if child_2.tag=='LAYER_LOG':
layer_root_element = child_2
break
break
if layer_root_element.tag=='LAYER_LOG':
temp_attrib=layer_root_element.attrib
temp_text=layer_root_element.text
temp_tail = layer_root_element.tail
#layer_root_element.clear()
layer_root_element.attrib = temp_attrib
layer_root_element.text = temp_text
layer_root_element.tail = temp_tail
return layer_root_element
def int_prim_xml_msg_tree(tree):
root = tree.getroot()
layer_root_element = ET.Element('')
for child_1 in root:
if child_1.tag=='SUBSYSTEM':
for child_2 in child_1:
if child_2.tag=='MSG_LOG':
layer_root_element = child_2
break
break
if layer_root_element.tag=='MSG_LOG':
temp_attrib=layer_root_element.attrib
temp_text=layer_root_element.text
temp_tail = layer_root_element.tail
#layer_root_element.clear()
layer_root_element.attrib = temp_attrib
layer_root_element.text = temp_text
layer_root_element.tail = temp_tail
return layer_root_element
def add_element_to_xml(root_element):
global num_to_id
sorted_list=sorted(num_to_id.items(),key=lambda e:e[1])
for key,value in sorted_list:
#print('key2=',key, 'value=',value)
new_element=ET.Element('')
new_element.tag='MSG'
new_element.attrib['NAME']=key
new_element.attrib['ID']=value
new_element.attrib['DESCRIPTION']=''
new_element.attrib['STRUCTURE']=''.join([key, '_STRU'])
new_element.tail='\n\t\t\t'
root_element.append(new_element)
def write_prim_xml_tree(tree, dest):
dst_xml_dir = os.path.dirname(dest)
if not os.path.exists(dst_xml_dir):
os.makedirs(dst_xml_dir)
# print(g_params['PRIM_XML_DST_XML_FILE'].strip())
tree.write(dest,encoding="UTF-8",xml_declaration = '<?xml version="1.0" encoding="utf-8" ?>',method="xml")
try:
msg_xml, mss_prim_db, destination = sys.argv[1:]
except ValueError:
raise SystemExit("Usage: %s msg_xml mss_prim_db destination" % sys.argv[0])
msg_struct_def = os.path.join(destination, 'cco', 'system', 'diag', 'msg_struct_def.txt')
extern_datatype_def = os.path.join(destination, 'cco','system', 'diag', 'extern_datatype_def.txt')
mss_prim_db_new = os.path.join(destination, 'cco', 'system', 'hdbcfg', 'mss_prim_db.xml')
src_database_dir = os.path.join(os.path.dirname(sys.argv[0]), "database")
shutil.rmtree(destination, ignore_errors=True, onerror=None)
shutil.copytree(src_database_dir, destination)
dom_tree = xml.dom.minidom.parse(msg_xml)
collection = dom_tree.documentElement
enum_fields = collection.getElementsByTagName("EnumsEntry")
struct_fields = collection.getElementsByTagName("Structure")
msg_fields = collection.getElementsByTagName("Message")
all_fields = collection.getElementsByTagName("Field")
num_to_id={}
enum_to_size = {}
type_to_size = {}
union_name_to_node = {}
lp_struct_to_size = {}
for item in msg_fields:
message_id = item.getAttribute('MessageID')
name = item.getAttribute('Name')
num_to_id[name] = message_id
with open(msg_struct_def,'w') as f:
f.write('#include \"base_datatype_def.txt\"\r\n')
f.write('#include \"extern_datatype_def.txt\"\r\n')
for item in enum_fields:
name = item.getElementsByTagName("Name")[0].childNodes[0].data
enums = item.getElementsByTagName('Enum')
write_enum_struct(name, enums, f)
for item in struct_fields:
name = item.getAttribute('Type')
fields = item.getElementsByTagName('Field')
write_nomal_struct(name, item.childNodes, f)
find_union(all_fields, union_name_to_node)
for key, value in union_name_to_node.items():
write_union(value, f)
for item in msg_fields:
name = item.getAttribute('Name')
fields = item.getElementsByTagName('Field')
write_msg_struct(name, item.childNodes, f)
f.close()
with open(extern_datatype_def,'w') as f:
for field in all_fields:
enum = field.getAttribute('Enum')
if enum == '':
continue
size = field.getAttribute('Size')
enum_to_size[enum] = size
for item in enum_to_size.items():
if item[1] == '1':
line = ''.join([item[0], ' 8 0\r\n'])
elif item[1] == '2':
line = ''.join([item[0], ' 16 0\r\n'])
elif item[1] == '4':
line = ''.join([item[0], ' 32 0\r\n'])
else:
continue
f.write(line)
for field in all_fields:
lp_struct = field.getAttribute('Type')
if 'LP_' not in lp_struct:
continue
size = field.getAttribute('Size')
lp_struct_to_size[lp_struct] = size
for item in lp_struct_to_size.items():
if item[1] == '1':
line = ''.join([item[0], ' 8 0\r\n'])
elif item[1] == '2':
line = ''.join([item[0], ' 16 0\r\n'])
elif item[1] == '4':
line = ''.join([item[0], ' 32 0\r\n'])
else:
continue
f.write(line)
f.close()
tree = ET.parse(mss_prim_db)
add_element_to_xml(int_prim_xml_msg_tree(tree))
write_prim_xml_tree(tree, mss_prim_db_new)

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8" ?>
<MSS>
<SUBSYSTEM NAME="cat1" DATA_STRUCT_FILE="..\diag\msg_struct_def.txt" DESCRIPTION="" MULTIMODE="cat1">
<MSG_LOG>
</MSG_LOG>
<AIR_LOG>
</AIR_LOG>
<LAYER_LOG>
</LAYER_LOG>
<USERPLANE_LOG NAME="MAC_PHY_UL_GRANT_HARQ_IND">
</USERPLANE_LOG>
</SUBSYSTEM>
</MSS>