首页 > 解决方案 > u-boot 在软重启时挂起

问题描述

我遇到了这个微妙的问题,如果我将我的 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 多次尝试?会不会是内存问题?内存时序问题?我该如何调试它?

标签: linuxlinux-kernelu-boot

解决方案


推荐阅读