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.

[参考译文] AM3352:启动定制板问题–卡在"DRAM:512"

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1516327/am3352-issue-booting-custom-board-stuck-at-dram-512

器件型号:AM3352

工具/软件:

您好、

我目前正在努力将定制电路板引导。 我们使用的是 AM3352、我们的设计基于 BeagleBone Black (BBB)。

我们已经通过修补 U-Boot SPL (现在运行正常)、利用电路板信息解决了缺少 EEPROM 的问题。

但是、我们现在面临另一个问题:U-Boot 在显示"DRAM:512"消息时挂起、无法继续操作。 我们使用 USB0来引导引导加载程序、以刷写板上的 eMMC。 作为参考、此过程在 BBB 上运行良好。

虽然我们计划使用 JTAG 进行更深入的调试、但与此同时、我在源代码中添加了一些调试日志。 根据我的调查、代码中的这一点似乎出现了问题:


common/board_r.c、在"init_sequence_r"函数组中。

#ifdef CONFIG_WINBOND_83C553
	initr_w83c553f,
#endif
	initr_barrier,
	initr_malloc,
	bootstage_relocate,
#ifdef CONFIG_DM
	initr_dm,


有趣的是、输出似乎是不确定的—在某些情况下、只是将printf行为改变。 这使我怀疑这个问题可能与时间有关。

这里是 UART0输出:

U-Boot SPL 2014.07-00002-gc3d638d-dirty (May 20 2025 - 10:59:54)
Using default environment

usb_ether
using musb-hdrc, OUT ep1out IN ep1in STATUS ep2in
MAC 98:89:24:73:2a:84
HOST MAC de:ad:be:af:00:00
RNDIS ready
musb-hdrc: peripheral reset irq lost!
high speed config #2: 2 mA, Ethernet Gadget, using RNDIS
USB RNDIS network up!
BOOTP broadcast 1
BOOTP broadcast 2
Using usb_ether device
TFTP from server 192.168.1.9; our IP address is 192.168.1.3
Filename 'uboot'.
Load address: 0x807fffc0
Loading: #################################################################
	 ######################
	 449.2 KiB/s
done
Bytes transferred = 440424 (6b868 hex)


U-Boot 2014.07-00002-gc3d638d-dirty (May 20 2025 - 10:59:54)

I2C:   ready
DRAM:  512 MiB

如果您需要更多详细信息、请告诉我。

此致、
Luís μ s

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引述 userid="577670" url="~/support/processors-group/processors/f/processors-forum/1516327/am3352-issue-booting-custom-board-stuck-at-dram-512

    虽然我们计划使用 JTAG 进行更深入的调试、但与此同时、我在源代码中添加了一些调试日志。 根据我的调查、代码中的这一点似乎出现了问题:


    common/board_r.c、在"init_sequence_r"函数组中。

    [/报价]

    看起来您的问题正在发生、就像 DDR 正在被更多地使用一样。 您是否使用了 BeagleBone Black 上的同一 DDR 芯片以及相同的相关 DDR 配置? 此外、由于您使用的是定制板、可能缺少或损坏了用于为给定 AM335x 参考板选择所需任何 DDR 配置的逻辑(通常位于"board file"中)?

    Unknown 说:
    虽然我们计划使用 JTAG 进行更深入的调试、但

    执行此操作后、可以使用 CCS 中的内存映射视图来抽查是否所有 DDR 都符合预期、并且读/写功能正常。 当然、运行存储器测试会更好、

    此致、Andreas

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

    再次大家好、

    我能够启动电路板、直到 u-boot shell。 现在我能够与 u-boot 交互。

    但即使现在、只有到这一点后、它才能始终启动。 它似乎仍然有一种不确定的行为。
    这是我所做的。

    在以下文件中: Common/board_R.C

    static int initr_caches(void)
    {
    	/* Enable caches */
    	//enable_caches();      //Try with no cache
    	return 0;
    }

    接下来、我尝试使用此设置加载内核。

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

    很高兴听到有关进展的消息。 您应该运行存储器读/写压力测试(例如 Linux 中的`memtester`)。  我本周在 PTO 上、但下周我将需要再次获得 E2E 支持。 谢谢。