CN / EN
CN / EN

写技术文章

GR551x Fault Trace Module流程

best

2021-12-21 15:56:15

1. Hard Fault 错误处理

Cortex-M4处理器出现总线错误、存储错误或使用错误,但对应的异常没有使能,处理器检测到错误时,就会触发错误异常, 进入到HardFault。异常错误机制使得错误能够被快速发现,软件因此可以利用该机制,执行相应的修复错误措施,本稳主要介绍将Hard Fault信息存储到nvds中,以便快速地位问题,更加详细内容,可以参考《GR551x Fault Trace Module流程说明》;


2.导入Fault Trace Module流程

Fault Trace Module源文件位于SDK_Folder\components\libraries\fault_trace和SDK_Folder\components\libraries\app_error

2.1添加 fault_trace.c和cortex_backtrace.c文件至gr_libraries目录


2.2 使能模块

在工程目录中打开user_app\custom_config.h文件,使能如下宏

SYS_FAULT_TRACE_ENABLE 1 // Enable system fault trace module

ENABLE_BACKTRACE_FEA 1 //Enable callstack backtrace function

2.3 初始化模块

在user_periph_setup.c的app_log_assert_init()中调用函数fault_trace_db_init()完成初始化。


2.4 打印以及存储设置

根据实际项目需要,可设置SYS_FAULT_TRACE_MODE 来决定打印以及存储,如下代码:


按如上步骤操作,就可以进行工程编译了。当运行该工程的开发板发生HardFault或Assert Fault时,相关现场信息就会被存入到GR551xSoC的NVDS中。除非对Flash进行整片擦除,否则该信息会一直存在。


2收藏

3赞成

3条评论
您的评论
我们时刻倾听您的声音
联系销售

扫描关注公众号

打开微信,使用“扫一扫”即可关注