调试 u-boot 崩溃
Posted
技术标签:
【中文标题】调试 u-boot 崩溃【英文标题】:Debugging u-boot crash 【发布时间】:2018-04-27 10:24:45 【问题描述】:我在 u-boot 中遇到了一些数据中止并且无法找到问题的根本原因。谁能告诉我如何在这里跟踪日志或如何调试和解码这些日志。
在 u-boot 中哪个文件提供了所需的详细信息-
以下是崩溃日志-:
data abort
pc : [<fff3fcb8>] lr : [<1a000018>]
reloc pc : [<B30017cb8>] lr : [<4a0d8018>]
sp : fdf17e5c ip : fff88a6c fp : 00000017
r10: 30061f88 r9 : fdf17ef8 r8 : fdf18a78
r7 : 00000010 r6 : 00000028 r5 : fdf3d138 r4 : 17f18ab8
r3 : fdf18a88 r2 : 00000018 r1 : fdf18aa0 r0 : 00000000
Flags: nzCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
BR,阿比
【问题讨论】:
您使用的是什么处理器? PC 寄存器显示错误指令,您的映射文件应该告诉您哪一行代码失败了。 我正在使用 arm7 处理器。我尝试在 u-boot.map 文件中查找地址,但没有找到相同的地址。 这对于 PC 寄存器来说是一个可疑的高值。无论如何,在您可以使用映射文件之前,您必须考虑 U-Boot 的运行时重定位(到物理 RAM 的最顶部)。见***.com/questions/35336940/… 【参考方案1】:首先你需要反汇编 U-Boot 文件。您需要哪个版本的 objdump 取决于您的主机和目标架构,例如
arm-linux-gnueabihf-objdump -sD u-boot > u-boot.txt
然后寻找reloc pc地址。
【讨论】:
我需要反汇编 u-boot.bin 还是 u-boot.img ?以上是关于调试 u-boot 崩溃的主要内容,如果未能解决你的问题,请参考以下文章