WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
PANIC

结构体

struct  panic_desc_t
 

类型定义

typedef enum panic_id panic_id_t
 
typedef void(* lib_panic_dump_callback) (void)
 Panic callback
 
typedef void(* panic_deal_handler) (panic_id_t source, uint32_t code, uint32_t caller)
 hook function panic handler
 
typedef void(* lib_panic_dump_callback_with_param) (char *str)
 Panic callback
 

枚举

enum  panic_id {
  PANIC_NONE = 0 , PANIC_ARM_CORE = 1 , PANIC_HAL = 2 , PANIC_DSP = 3 ,
  PANIC_IRMALLOC_FAIL = 4 , PANIC_UART = 5 , PANIC_IFLASH = 6 , PANIC_ADC = 7 ,
  PANIC_WATCHDOG = 8 , PANIC_LOG = 9 , PANIC_DMA = 10 , PANIC_ASSERT = 11 ,
  PANIC_REBOOT = 12 , PANIC_UPDATEPKG = 13 , PANIC_I2C = 14 , PANIC_SPI = 15 ,
  PANIC_RPC = 22 , PANIC_MEM_MONITOR = 23 , PANIC_EXIT = 24 , PANIC_TASK_CREATE_FAILED = 25 ,
  PANIC_MEMCPY_BUFFER_OVERLAP = 26 , PANIC_XIP = 27 , PANIC_BTC_MALLOC_FAIL = 28 , PANIC_LOW_POWER = 29 ,
  PANIC_SYSTEM_STATUS = 30 , PANIC_BTC_INT_ERR = 31 , PANIC_LPC_WKUP_FAIL = 32 , PANIC_CLOCKS_GLB_ERR = 33 ,
  PANIC_PMU_CMU = 34 , PANIC_PMU_LDO = 35 , PANIC_CHIP_WDT_FRST = 36 , PANIC_NON_OS = 37 ,
  PANIC_LPC_VETO = 38 , PANIC_TIMER = 39 , PANIC_LPC = 40 , PANIC_RTC = 41 ,
  PANIC_MEMORY = 42 , PANIC_CPU_HIFI = 43 , PANIC_EXCEPTION_TEST = 44 , PANIC_KV = 45 ,
  PANIC_EFLASH = 46 , PANIC_LIB = 47 , PANIC_CODELOADER = 48 , PANIC_CRITICLA = 49 ,
  PANIC_IPC = 50 , PANIC_INT = 51 , PANIC_OS = 52 , PANIC_LPC_WAKEUP_TIME = 53 ,
  PANIC_BTC_BT_FRM_DISMATCH1 = 54 , PANIC_BTC_BT_FRM_DISMATCH2 = 55 , PANIC_BTC_BLE_FRM_DISMATCH = 56 , PANIC_BTC_WAKEUP_TO = 57 ,
  PANIC_BTH_MEMORY = 58 , PANIC_MPU_CONFIG_ERR = 59 , PANIC_GPU = 60 , PANIC_SDIO_DEVICE = 61 ,
  PANIC_IR = 62 , PANIC_BTC_CMD_NUM_ZERO = 63 , PANIC_CAP = 64 , PANIC_EPMU = 65 ,
  PANIC_BTS_WRITE_PROPERTY_FAIL = 66 , PANIC_MMC_HOST = 67 , PANIC_BTC_OSCEN_TO = 68 , PANIC_RGB888 = 70 ,
  PANIC_AP_COMMU = 71 , PANIC_CPU_CLOCKS = 72 , PANIC_CLOCKS_SWITCH = 73 , PANIC_PMU = 74 ,
  PANIC_LOG_DUMP = 75 , PANIC_COUL = 76 , PANIC_DSP0_POWER = 77 , PANIC_DSP1_POWER = 78 ,
  PANIC_BT_DEBUG = 79 , PANIC_PIN_NULL = 80 , PANIC_UNITTEST = 98 , PANIC_TESTSUIT = 99 ,
  PANIC_DSS_MIPI_ERR = 100 , PANIC_GNSS_DFR_ERR = 101 , PANIC_BT_SEC_BOOT_ERR = 102 , PANIC_ROM_WEAK_FUNCTION = 103 ,
  PANIC_GLP = 104 , PANIC_UICC = 105 , PANIC_CRYPTO = 106
}
 

函数

void panic_register_deal_callback (panic_deal_handler callback)
 Register panic deal callback
 
void panic_unregister_deal_callback (void)
 Ungister panic deal callback
 
void register_panic_dump_callback (lib_panic_dump_callback callback)
 Register panic callback
 
void register_panic_dump_callback_with_param (lib_panic_dump_callback_with_param callback)
 Register panic callback
 
void panic_init (void)
 
void panic_deinit (void)
 
bool get_already_panicking (void)
 Get var already_panicking
 
void panic (panic_id_t source, uint32_t code)
 Enter into infinite loop so that a debugger can break in and see the stack trace
 
void panic_wait_forever (void)
 
void panic_deal (panic_id_t origin, uint32_t code, uint32_t caller)
 Enter into infinite loop so that a debugger can break in and see the stack trace
 

详细描述

类型定义说明

◆ lib_panic_dump_callback

typedef void(* lib_panic_dump_callback) (void)

Panic callback

参数
none

◆ lib_panic_dump_callback_with_param

typedef void(* lib_panic_dump_callback_with_param) (char *str)

Panic callback

参数
strdisplay which type leads to panic

◆ panic_deal_handler

typedef void(* panic_deal_handler) (panic_id_t source, uint32_t code, uint32_t caller)

hook function panic handler

参数
sourcethe origin of the panic
codepanic origin specific information
callerwho call panic

◆ panic_id_t

typedef enum panic_id panic_id_t

枚举类型说明

◆ panic_id

enum panic_id
枚举值
PANIC_NONE 
PANIC_ARM_CORE 
PANIC_HAL 
PANIC_DSP 
PANIC_IRMALLOC_FAIL 
PANIC_UART 
PANIC_IFLASH 
PANIC_ADC 
PANIC_WATCHDOG 
PANIC_LOG 
PANIC_DMA 
PANIC_ASSERT 
PANIC_REBOOT 
PANIC_UPDATEPKG 
PANIC_I2C 
PANIC_SPI 
PANIC_RPC 
PANIC_MEM_MONITOR 
PANIC_EXIT 
PANIC_TASK_CREATE_FAILED 
PANIC_MEMCPY_BUFFER_OVERLAP 
PANIC_XIP 
PANIC_BTC_MALLOC_FAIL 
PANIC_LOW_POWER 
PANIC_SYSTEM_STATUS 
PANIC_BTC_INT_ERR 
PANIC_LPC_WKUP_FAIL 
PANIC_CLOCKS_GLB_ERR 
PANIC_PMU_CMU 
PANIC_PMU_LDO 
PANIC_CHIP_WDT_FRST 
PANIC_NON_OS 
PANIC_LPC_VETO 
PANIC_TIMER 
PANIC_LPC 
PANIC_RTC 
PANIC_MEMORY 
PANIC_CPU_HIFI 
PANIC_EXCEPTION_TEST 
PANIC_KV 
PANIC_EFLASH 
PANIC_LIB 
PANIC_CODELOADER 
PANIC_CRITICLA 
PANIC_IPC 
PANIC_INT 
PANIC_OS 
PANIC_LPC_WAKEUP_TIME 
PANIC_BTC_BT_FRM_DISMATCH1 
PANIC_BTC_BT_FRM_DISMATCH2 
PANIC_BTC_BLE_FRM_DISMATCH 
PANIC_BTC_WAKEUP_TO 
PANIC_BTH_MEMORY 
PANIC_MPU_CONFIG_ERR 
PANIC_GPU 
PANIC_SDIO_DEVICE 
PANIC_IR 
PANIC_BTC_CMD_NUM_ZERO 
PANIC_CAP 
PANIC_EPMU 
PANIC_BTS_WRITE_PROPERTY_FAIL 
PANIC_MMC_HOST 
PANIC_BTC_OSCEN_TO 
PANIC_RGB888 
PANIC_AP_COMMU 
PANIC_CPU_CLOCKS 
PANIC_CLOCKS_SWITCH 
PANIC_PMU 
PANIC_LOG_DUMP 
PANIC_COUL 
PANIC_DSP0_POWER 
PANIC_DSP1_POWER 
PANIC_BT_DEBUG 
PANIC_PIN_NULL 
PANIC_UNITTEST 
PANIC_TESTSUIT 
PANIC_DSS_MIPI_ERR 
PANIC_GNSS_DFR_ERR 
PANIC_BT_SEC_BOOT_ERR 
PANIC_ROM_WEAK_FUNCTION 
PANIC_GLP 
PANIC_UICC 
PANIC_CRYPTO 

函数说明

◆ get_already_panicking()

bool get_already_panicking ( void  )

Get var already_panicking

返回
already_panicking

◆ panic()

void panic ( panic_id_t  source,
uint32_t  code 
)

Enter into infinite loop so that a debugger can break in and see the stack trace

参数
sourcethe origin of the panic
codepanic origin specific information
注解
This can be called before the panic_init is called to support panics during start-up and it will cope

◆ panic_deal()

void panic_deal ( panic_id_t  origin,
uint32_t  code,
uint32_t  caller 
)

Enter into infinite loop so that a debugger can break in and see the stack trace

参数
originthe origin of the panic
codepanic origin specific information
callerwho call panic.

◆ panic_deinit()

void panic_deinit ( void  )

De-initialise the panic module

◆ panic_init()

void panic_init ( void  )

Initialise the panic module

◆ panic_register_deal_callback()

void panic_register_deal_callback ( panic_deal_handler  callback)

Register panic deal callback

参数
callbackif system panic, the callback is called to handle the exception.

◆ panic_unregister_deal_callback()

void panic_unregister_deal_callback ( void  )

Ungister panic deal callback

◆ panic_wait_forever()

void panic_wait_forever ( void  )

Wait forever

◆ register_panic_dump_callback()

void register_panic_dump_callback ( lib_panic_dump_callback  callback)

Register panic callback

参数
callbackif system panic, the callback is called to handle the exception.

◆ register_panic_dump_callback_with_param()

void register_panic_dump_callback_with_param ( lib_panic_dump_callback_with_param  callback)

Register panic callback

参数
callbackif system panic, the callback is called to handle the exception.