我遇到了这个微妙的问题,如果我将我的ARM设备(U-boot + Linux)置于软重启周期(压力测试)下,它会在100多个周期后失败。我在失败场景中捕获的串行输出是:
...
g_txrx_mode=1
g_profileid=1
id=0x1F11 board_type=0x0004 HAS_POE_SUPPORT=1
Not POE
read_rbf_header_from_ext4 - filename = e30.core.rbf filesize = 7317252
cff_from_mmc_ext4:writing e30.core.rbf length 13 num_files 0
Full Configuration Succeeded.
crestron_load_rbf: use core e30.core.rbf length 13 rval 1
Booting from primary
Writing to MMC(0)... done
dram_init: id 1f11 (id & 0x0001) 1 has_dsp/has_dante0
DDRCAL: Success
INFO : Skip relocation as SDRAM is non secure memory
Reserving 2048 Bytes for IRQ stack at: ffe2f708
DRAM : 512 MiB
成功重启后,下一行打印的行为:
WARNING: Caches not enabled
MMC: In: serial
Out: serial
Err: serial
似乎在'skip_relocation()'和'enable_caches()'之间失败了。但为什么经过100多次尝试?这可能是记忆问题吗?内存计时问题?我该如何调试呢?