Hardfault Dump 使用说明
Hardfault Dump 到 Flash
SDK 支持代码运行中遇到 Hardfault 后 dump 到 flash 的功能,可以使用接口 set_crash_dump_info(uint32_t crash_dump_addr, uint32_t crash_dump_size)
,
这个函数声明在头文件 platform_ext.h
中,使用时填入想要 dump 的起始地址和大小即可。
目前,所有 RAM 都支持 dump,且根据 DSP 状态来决定是否 dump dsp share ram。
RTL8763E 系列:
-
如果要都 dump 的话,size 应设定为 580KB:
ITCM1_SIZE+DTCM0_SIZE+DTCM1_SIZE+EXT0_SIZE+DSP_SHM_SIZE
116+48+60+46+308 = 578
4k 对齐,580KB
-
如果 flash 不够的话可以减到 352KB:
ITCM1_SIZE+DTCM0_SIZE+DTCM1_SIZE+EXT0_SIZE+80K
116+48+60+46+80 = 350
4K 对齐,352KB
RTL8773E 系列:
-
如果要都 dump 的话,size 应设定为 800KB:
ITCM1_SIZE+DTCM0_SIZE+DTCM1_SIZE+EXT0_SIZE+DSP_SHM_SIZE
128+64+224+64+320 = 800
4k 对齐,800KB
-
如果 flash 不够的话可以减到 560KB:
ITCM1_SIZE+DTCM0_SIZE+DTCM1_SIZE+EXT0_SIZE+80K
128+64+224+64+80 = 560
4K 对齐, 560KB
备注
MPPGTool-v6.2.83.2_Watch 以及后续版本支持 dump flash,可以配置需读回的地址和大小;Hardfault 记录在
ReadbackFlash0.bin
。DebugAnalyzer-v4.0.0.29 以及后续版本支持对 dump 后的实时 log 文件反向解析,选择 Decode From File,勾选 Parse Flash Log后点击 Start。
若人为构造 Hardfault 用于测试,需避免频繁触发,误将已完成 dump 的内容擦除。
Hardfault 后 Dump PSRAM
如果想在发生 Hardfault 时,打印 PSRAM的数据,可以调用接口 set_psram_dump_info(uint32_t psram_dump_addr, uint32_t psram_dump_size)
,
这个函数声明在头文件 platform_ext.h
中,使用时填入想要 dump 的起始地址和大小即可。