6#ifndef LOG_OML_EXCEPTION_H
7#define LOG_OML_EXCEPTION_H
9#if ((ARCH == RISCV31) || (ARCH == RISCV32) || (ARCH == RISCV70))
10#define AULREG_VALUE_INDEX 32
11#elif (ARCH == CM3) || (ARCH == CM7)
12#define AULREG_VALUE_INDEX 16
16#if ((ARCH == RISCV31) || (ARCH == RISCV32) || (ARCH == RISCV70))
68#if (ARCH == RISCV31) || (ARCH == RISCV32)
72 OM_ASYNCHRONOUS_EXCEPTION,
140#if (USE_COMPRESS_LOG_INSTEAD_OF_SDT_LOG == NO)
141#define DUMP_MAX_LENGTH_PER_TRANS (5000U - 15U)
161#if ((ARCH == RISCV31) || (ARCH == RISCV32) || (ARCH == RISCV70))
179#if ((ARCH == RISCV31) || (ARCH == RISCV32) || (ARCH == RISCV70))
OM_FAULT_TYPE_ENUM
Definition log_oml_exception.h:39
@ OM_INDEX_BUTT
Definition log_oml_exception.h:46
@ OM_HARD_FAULT
Definition log_oml_exception.h:40
@ OM_MEM_FAULT
Definition log_oml_exception.h:41
@ OM_WDT_TIMEOUT
Definition log_oml_exception.h:45
@ OM_LOOP_DEAD
Definition log_oml_exception.h:44
@ OM_USAGE_FAULT
Definition log_oml_exception.h:43
@ OM_BUS_FAULT
Definition log_oml_exception.h:42
OM_RISCV_FAULT_TYPE_ENMU
Definition log_oml_exception.h:49
@ OM_ENVIRONMENT_CALL_FROM_UMODE
Definition log_oml_exception.h:60
@ OM_LOAD_ADDERSS_MISALIGNED
Definition log_oml_exception.h:56
@ OM_ILLEGAL_INSTRUCTION
Definition log_oml_exception.h:54
@ OM_INSTRUCTION_ACCESS_FAULT
Definition log_oml_exception.h:53
@ OM_RESERVED_0
Definition log_oml_exception.h:62
@ OM_NMI_INTERRUPT
Definition log_oml_exception.h:75
@ OM_LOAD_PAGE_FAULT
Definition log_oml_exception.h:65
@ OM_LOAD_ACCESS_FAULT
Definition log_oml_exception.h:57
@ OM_APPLICATION_XIP_CTRL_INTERRUPT
Definition log_oml_exception.h:77
@ OM_RESERVED_1
Definition log_oml_exception.h:66
@ OM_LOCK_UP
Definition log_oml_exception.h:70
@ OM_INSTRUCTION_PAGE_FAULT
Definition log_oml_exception.h:64
@ OM_STORE_OR_AMO_ADDRESS_MISALIGNED
Definition log_oml_exception.h:58
@ OM_APPLICATION_MDMA_INTERRUPT
Definition log_oml_exception.h:79
@ OM_STORE_OR_AMO_PAGE_FAULT
Definition log_oml_exception.h:67
@ OM_APPLICATION_XIP_CACHE_INTERRUPT
Definition log_oml_exception.h:78
@ OM_STORE_OR_AMO_ACCESS_FALUT
Definition log_oml_exception.h:59
@ OM_INSTRUCTION_ADDRESS_MISALIGNED
Definition log_oml_exception.h:52
@ OM_RISCV_HARD_FAULT
Definition log_oml_exception.h:69
@ OM_ENVIRONMENT_CALL_FROM_MMODE
Definition log_oml_exception.h:63
@ OM_UNKNOW_FAULT
Definition log_oml_exception.h:50
@ OM_BREAKPOINT
Definition log_oml_exception.h:55
@ OM_WDT_TIMEOUT_INTERRUPT
Definition log_oml_exception.h:76
@ OM_APPLICATION_SMDMA_INTERRUPT
Definition log_oml_exception.h:80
@ OM_ENVIRONMENT_CALL_FROM_SMODE
Definition log_oml_exception.h:61
void log_exception_send_data(const uint8_t *data, uint16_t length)
Dump the ram when hardfault or watchdog.
Definition log_oml_exception.c:352
#define AULREG_VALUE_INDEX
Definition log_oml_exception.h:10
REG_NUM_INDEX
Definition log_oml_exception.h:83
@ REG_NUM_3
Definition log_oml_exception.h:87
@ REG_NUM_26
Definition log_oml_exception.h:110
@ REG_NUM_23
Definition log_oml_exception.h:107
@ REG_NUM_19
Definition log_oml_exception.h:103
@ REG_NUM_8
Definition log_oml_exception.h:92
@ REG_NUM_10
Definition log_oml_exception.h:94
@ REG_NUM_0
Definition log_oml_exception.h:84
@ REG_NUM_6
Definition log_oml_exception.h:90
@ REG_NUM_15
Definition log_oml_exception.h:99
@ REG_NUM_20
Definition log_oml_exception.h:104
@ REG_NUM_11
Definition log_oml_exception.h:95
@ REG_NUM_24
Definition log_oml_exception.h:108
@ REG_NUM_28
Definition log_oml_exception.h:112
@ REG_NUM_25
Definition log_oml_exception.h:109
@ REG_NUM_16
Definition log_oml_exception.h:100
@ REG_NUM_2
Definition log_oml_exception.h:86
@ REG_NUM_18
Definition log_oml_exception.h:102
@ REG_NUM_13
Definition log_oml_exception.h:97
@ REG_NUM_29
Definition log_oml_exception.h:113
@ REG_NUM_30
Definition log_oml_exception.h:114
@ REG_NUM_21
Definition log_oml_exception.h:105
@ REG_NUM_1
Definition log_oml_exception.h:85
@ REG_NUM_12
Definition log_oml_exception.h:96
@ REG_NUM_5
Definition log_oml_exception.h:89
@ REG_NUM_14
Definition log_oml_exception.h:98
@ REG_NUM_31
Definition log_oml_exception.h:115
@ REG_NUM_4
Definition log_oml_exception.h:88
@ REG_NUM_22
Definition log_oml_exception.h:106
@ REG_NUM_27
Definition log_oml_exception.h:111
@ REG_NUM_7
Definition log_oml_exception.h:91
@ REG_NUM_17
Definition log_oml_exception.h:101
@ REG_NUM_9
Definition log_oml_exception.h:93
PARA1_INDEX
Definition log_oml_exception.h:118
@ PARA1_INDEX_2
Definition log_oml_exception.h:121
@ PARA1_INDEX_5
Definition log_oml_exception.h:124
@ PARA1_INDEX_1
Definition log_oml_exception.h:120
@ PARA1_INDEX_3
Definition log_oml_exception.h:122
@ PARA1_INDEX_6
Definition log_oml_exception.h:125
@ PARA1_INDEX_0
Definition log_oml_exception.h:119
@ PARA1_INDEX_4
Definition log_oml_exception.h:123
@ PARA1_INDEX_7
Definition log_oml_exception.h:126
void log_exception_dump(uint32_t irq_id, exc_context_t *exc_buf_addr)
Invoked by exception to dump exception information.
Definition log_oml_exception.c:258
void default_register_hal_exception_dump_callback(void)
Register exception dump to fault interrupt.
Definition log_oml_exception.c:642
PARA2_INDEX
Definition log_oml_exception.h:129
@ PARA2_INDEX_1
Definition log_oml_exception.h:131
@ PARA2_INDEX_2
Definition log_oml_exception.h:132
@ PARA2_INDEX_5
Definition log_oml_exception.h:135
@ PARA2_INDEX_6
Definition log_oml_exception.h:136
@ PARA2_INDEX_7
Definition log_oml_exception.h:137
@ PARA2_INDEX_3
Definition log_oml_exception.h:133
@ PARA2_INDEX_0
Definition log_oml_exception.h:130
@ PARA2_INDEX_4
Definition log_oml_exception.h:134
void log_oml_exception_info_send(uint32_t irq_id, const exc_context_t *exc_buf_addr)
SDT interface to send SDT format fault message.
Definition log_oml_exception.c:542
void log_oml_memory_dump(void)
Dump the whole rom when hardfault or watchdog.
Definition log_oml_exception.c:454
void log_oml_dump_stack(void)
Dump the current task stack when in systemfaults and watchdog timeout.
Definition log_oml_exception.c:410
Log message information header.
Definition log_oam_logger.h:564
uint32_t lr_value
Definition log_oml_exception.h:29
uint32_t fault_reason
Definition log_oml_exception.h:25
uint32_t fault_type
Definition log_oml_exception.h:24
uint32_t control_value
Definition log_oml_exception.h:35
uint32_t psp_value
Definition log_oml_exception.h:28
uint32_t address
Definition log_oml_exception.h:26
uint32_t pc_value
Definition log_oml_exception.h:30
uint32_t primask_value
Definition log_oml_exception.h:32
uint32_t stack_limit
Definition log_oml_exception.h:23
uint32_t bserpri_value
Definition log_oml_exception.h:34
uint32_t fault_mask_value
Definition log_oml_exception.h:33
uint32_t psps_value
Definition log_oml_exception.h:31
om_msg_header_stru_t msg_header
Definition log_oml_exception.h:22
uint8_t msg_tail
Definition log_oml_exception.h:36
Definition exception.h:170
Definition hal_uart_v151_regs_def.h:38