调试uboot

时间:2013-02-21 07:22:51

标签: u-boot

调试uboot时,步骤顺序不连续。 当我在gdb提示下做下一个(n)它会转到其他一些意想不到的行。 我在目标上进行NFS挂载并进行调试。 请澄清。

2 个答案:

答案 0 :(得分:2)

这是因为通常GCC生成的U-Boot二进制文件已针对大小进行了优化(以减少存储空间消耗)。您无需优化即可构建U-Boot二进制文件,以便于调试。看一下U-Boot的Makefile并删除所有优化标志。 有关优化标记的信息可以在here找到。

对于宏和内联函数,步调试也不能很好地工作,因为代码实际上并没有放在定义它们的地方。

答案 1 :(得分:1)

@ microMolvi的回答是对的,您可以在{uboot源代码的顶层目录上vim Makefile找到CFLAGS替换-O2(它的O不是0)-O0,然后一步一步就可以了。

顺便说一句,也许在GDB中使用s(步骤)会更好。