This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM5728:在 GPT/MBR 分区上 U-Boot 调试失败

Guru**** 2563740 points
Other Parts Discussed in Thread: AM5728

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/613434/linux-am5728-u-boot-debug-fails-at-gpt-mbr-partitioning

器件型号:AM5728

工具/软件:Linux

大家好、我们正在着手开发基于 AM5728的定制板、为了获取 u-boot 调试器符号的 relocaddr 值、我在 u-boot 调试指南之后遇到了一个问题:  

在到达 SPL 末尾并显示 Hang 消息后、我达到正确加载 u-boot 的阶段:  

U-Boot SPL 2016.05-00323-g1ddff7 (2017年7月26日- 13:41:10)
DRA752-GP ES2.0
SPL:无法从所有引导设备引导
###错误###请重置电路板###

但是、在加载 U-Boot 正确之后、一旦我进入程序(甚至只是在 U-Boot 反汇编的起点处一步进入断点)、程序就会在处失败  

Write_MBR_and_GPT_partitions (struct blk_desc *、void *) 

在实验练习中指定的 UART 调试输出中不显示任何内容。  我猜这是因为尝试在没有在 MMC 控制器中连接引导介质的情况下运行 U-Boot (我们的引导顺序是 SD/eMMC、其中我们有一个物理 SD 卡)、但我更倾向于使用配置不正确的 MMC 或其他子系统。  

使用完整的 SDK Linux 映像并仅填充引导分区(使用 u-boot.img 和 MLO)的 SD 卡尝试引导时、会发生可预测的故障、并且屏幕上只会打印几个吉位字符。

这些线索是否暗示了电路板的某种配置错误?  电路板和 EVM 之间的主要区别在于、我们仅使用1GB RAM (在 EMIF2上)、而 SD 卡从 MMC3引导。  UART3仍用于控制台调试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您能否使用编译您的 u-boot
    #define debug
    添加了 configs/am57xx_evm.h 并共享控制台输出?

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的构建已定义调试。 不幸的是,这没有任何影响。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我还应该注意的是、当发生这种情况时、PC 寄存器会转至0x0C、因此它可能会跳过一个空指针、 但我无法折服没有加载任何调试符号的情况下、调试器会放弃并抛出地址(这是我第一次使用 CCS 调试芯片)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我怀疑这是因为 CPU 在通过 SPL 配置后无法读取 RAM、但在更改一些 EMIF PHY EXT 寄存器以更好地与 TRM 指南保持一致之后、也没有观察到任何变化。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好、我已经在这方面工作了一周、但对于所发生的情况、我仍然完全丧失了能力。 我已经重新配置了我的 DDR 和 EMIF 寄存器数次、除了非常不可能发生的硬件故障之外、我也没有提出任何想法。 我的 SPL *看起来*正在为 SDRAM 组完美地配置 AM5728,当 U-Boot 通过 JTAG 加载时,我可以在 SDRAM 存储器中查看,并在映射的存储器中和周围移动 CPU PC 寄存器,但任何通过引导加载程序前进或单步执行的尝试都不会执行任何操作。 添加调试宏不会实现任何操作、因为程序甚至不会到达可以发送调试消息的位置。

    这是一个相当重要的阻碍因素、如果您能给我提供任何帮助、我将不胜感激。