WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
panic.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2018-2020. All rights reserved.
3 * Description: PANIC module interface
4 */
5
6#ifndef LIB_PANIC_PANIC_H
7#define LIB_PANIC_PANIC_H
8
9#include "std_def.h"
10#include "stdint.h"
11
17typedef enum panic_id {
18 // No panic
37
38 // Someone calling abort() / exit()
40
41 // RTOS related panics
43
108
109typedef struct {
111 uint32_t code;
112 uint32_t timestamp_ms;
113 uint32_t caller;
115
120typedef void (*lib_panic_dump_callback)(void);
121
128typedef void(*panic_deal_handler)(panic_id_t source, uint32_t code, uint32_t caller);
129
135
140
146
151typedef void (*lib_panic_dump_callback_with_param)(char *str);
152
158
160void panic_init(void);
161
163void panic_deinit(void);
164
169bool get_already_panicking(void);
170
177void panic(panic_id_t source, uint32_t code);
178
179
181void panic_wait_forever(void);
182
189void panic_deal(panic_id_t origin, uint32_t code, uint32_t caller);
190
194#endif
void panic_wait_forever(void)
Definition panic.c:126
void panic_unregister_deal_callback(void)
Ungister panic deal callback
Definition panic_rom.c:25
void(* panic_deal_handler)(panic_id_t source, uint32_t code, uint32_t caller)
hook function panic handler
Definition panic.h:128
void panic_init(void)
Definition panic.c:116
void register_panic_dump_callback_with_param(lib_panic_dump_callback_with_param callback)
Register panic callback
void(* lib_panic_dump_callback_with_param)(char *str)
Panic callback
Definition panic.h:151
panic_id
Definition panic.h:17
bool get_already_panicking(void)
Get var already_panicking
Definition panic.c:138
void panic_register_deal_callback(panic_deal_handler callback)
Register panic deal callback
Definition panic_rom.c:18
void register_panic_dump_callback(lib_panic_dump_callback callback)
Register panic callback
Definition panic.c:61
enum panic_id panic_id_t
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
Definition panic.c:224
void panic_deinit(void)
Definition panic.c:124
void(* lib_panic_dump_callback)(void)
Panic callback
Definition panic.h:120
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
Definition panic_rom.c:44
@ PANIC_RPC
Definition panic.h:35
@ PANIC_BT_DEBUG
Definition panic.h:96
@ PANIC_TESTSUIT
Definition panic.h:99
@ PANIC_PMU_LDO
Definition panic.h:53
@ PANIC_KV
Definition panic.h:63
@ PANIC_DSP1_POWER
Definition panic.h:95
@ PANIC_TIMER
Definition panic.h:57
@ PANIC_NON_OS
Definition panic.h:55
@ PANIC_GLP
Definition panic.h:104
@ PANIC_HAL
Definition panic.h:21
@ PANIC_BTC_INT_ERR
Definition panic.h:49
@ PANIC_DSP0_POWER
Definition panic.h:94
@ PANIC_UPDATEPKG
Definition panic.h:32
@ PANIC_COUL
Definition panic.h:93
@ PANIC_CHIP_WDT_FRST
Definition panic.h:54
@ PANIC_DSS_MIPI_ERR
Definition panic.h:100
@ PANIC_SPI
Definition panic.h:34
@ PANIC_ASSERT
Definition panic.h:30
@ PANIC_CLOCKS_GLB_ERR
Definition panic.h:51
@ PANIC_MEMORY
Definition panic.h:60
@ PANIC_DMA
Definition panic.h:29
@ PANIC_AP_COMMU
Definition panic.h:88
@ PANIC_LPC_WAKEUP_TIME
Definition panic.h:71
@ PANIC_BTC_MALLOC_FAIL
Definition panic.h:46
@ PANIC_MMC_HOST
Definition panic.h:85
@ PANIC_LOW_POWER
Definition panic.h:47
@ PANIC_ARM_CORE
Definition panic.h:20
@ PANIC_CLOCKS_SWITCH
Definition panic.h:90
@ PANIC_LPC_WKUP_FAIL
Definition panic.h:50
@ PANIC_BTC_CMD_NUM_ZERO
Definition panic.h:81
@ PANIC_CAP
Definition panic.h:82
@ PANIC_ROM_WEAK_FUNCTION
Definition panic.h:103
@ PANIC_CODELOADER
Definition panic.h:66
@ PANIC_REBOOT
Definition panic.h:31
@ PANIC_BTH_MEMORY
Definition panic.h:76
@ PANIC_MPU_CONFIG_ERR
Definition panic.h:77
@ PANIC_GPU
Definition panic.h:78
@ PANIC_CRITICLA
Definition panic.h:67
@ PANIC_INT
Definition panic.h:69
@ PANIC_DSP
Definition panic.h:22
@ PANIC_BTC_BT_FRM_DISMATCH1
Definition panic.h:72
@ PANIC_EXIT
Definition panic.h:39
@ PANIC_EFLASH
Definition panic.h:64
@ PANIC_EPMU
Definition panic.h:83
@ PANIC_NONE
Definition panic.h:19
@ PANIC_EXCEPTION_TEST
Definition panic.h:62
@ PANIC_XIP
Definition panic.h:45
@ PANIC_SDIO_DEVICE
Definition panic.h:79
@ PANIC_IPC
Definition panic.h:68
@ PANIC_UART
Definition panic.h:24
@ PANIC_UICC
Definition panic.h:105
@ PANIC_LPC_VETO
Definition panic.h:56
@ PANIC_ADC
Definition panic.h:26
@ PANIC_LIB
Definition panic.h:65
@ PANIC_PMU_CMU
Definition panic.h:52
@ PANIC_CPU_CLOCKS
Definition panic.h:89
@ PANIC_BT_SEC_BOOT_ERR
Definition panic.h:102
@ PANIC_BTC_BLE_FRM_DISMATCH
Definition panic.h:74
@ PANIC_MEMCPY_BUFFER_OVERLAP
Definition panic.h:44
@ PANIC_WATCHDOG
Definition panic.h:27
@ PANIC_LPC
Definition panic.h:58
@ PANIC_IRMALLOC_FAIL
Definition panic.h:23
@ PANIC_GNSS_DFR_ERR
Definition panic.h:101
@ PANIC_LOG
Definition panic.h:28
@ PANIC_LOG_DUMP
Definition panic.h:92
@ PANIC_BTC_WAKEUP_TO
Definition panic.h:75
@ PANIC_BTS_WRITE_PROPERTY_FAIL
Definition panic.h:84
@ PANIC_OS
Definition panic.h:70
@ PANIC_CPU_HIFI
Definition panic.h:61
@ PANIC_I2C
Definition panic.h:33
@ PANIC_PMU
Definition panic.h:91
@ PANIC_RGB888
Definition panic.h:87
@ PANIC_SYSTEM_STATUS
Definition panic.h:48
@ PANIC_MEM_MONITOR
Definition panic.h:36
@ PANIC_CRYPTO
Definition panic.h:106
@ PANIC_TASK_CREATE_FAILED
Definition panic.h:42
@ PANIC_UNITTEST
Definition panic.h:98
@ PANIC_BTC_BT_FRM_DISMATCH2
Definition panic.h:73
@ PANIC_PIN_NULL
Definition panic.h:97
@ PANIC_BTC_OSCEN_TO
Definition panic.h:86
@ PANIC_IFLASH
Definition panic.h:25
@ PANIC_IR
Definition panic.h:80
@ PANIC_RTC
Definition panic.h:59
osal_u8 code
Definition oal_net.h:1
Definition panic.h:109
uint32_t timestamp_ms
Definition panic.h:112
uint32_t caller
Definition panic.h:113
panic_id_t origin
Definition panic.h:110
uint32_t code
Definition panic.h:111