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.

[参考译文] AM625:SDK10 uboot DDR 4GB

Guru**** 2482225 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1434832/am625-sdk10-uboot-ddr-4gb

器件型号:AM625
主题中讨论的其他器件:SysConfig

工具与软件:

您好、工程师

我尝试将 DDR 修改为4GB、并修改了 k3-am62x-sk-common.dtsi、k3-am625-sk.dts:


内存@8000000{
device_type ="存储器";
/* 4G RAM */
REG =<0x00000000 0x80000000 0x00000000 0x80000000>
<0x00000008 0x80000000 0x00000000 0x80000000>;

};

启动日志如下:μ A

U-Boot SPL 2024.04 (Nov 06 2024 - 23:04:35 +0800)
SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
SPL initial stack usage: 13392 bytes
Trying to boot from MMC2
Starting ATF on ARM64 core...

NOTICE:  BL31: v2.10.0(release):v2.10.0-367-g00f1ec6b87-dirty
NOTICE:  BL31: Built : 16:09:05, Feb  9 2024

U-Boot SPL 2024.04 (Nov 06 2024 - 23:06:08 +0800)
SYSFW ABI: 4.0 (firmware rev 0x000a '10.0.8--v10.00.08 (Fiery Fox)')
SPL initial stack usage: 1904 bytes
Error (-2): cannot determine file size
Trying to boot from MMC2


U-Boot 2024.04 (Nov 06 2024 - 23:06:08 +0800)

SoC:   AM62X SR1.0 GP
Model: Texas Instruments AM625 SK
DRAM:  2 GiB (effective 4 GiB)
Core:  79 devices, 31 uclasses, devicetree: separate
MMC:   mmc@fa10000: 0, mmc@fa00000: 1
Loading Environment from nowhere... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@8000000port@1
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc1 is current device
SD/MMC found on device 1
Failed to load 'uEnv.txt'
18764288 bytes read in 1576 ms (11.4 MiB/s)
Failed to load '/boot/dtb/ti/k3-am625-sk.dtb'
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  ----------------
Scanning global bootmeth 'efi_mgr':
No EFI system partition
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
No EFI system partition
Failed to persist EFI variables
  0  efi_mgr      ready   (none)       0  <NULL>                    
** Booting bootflow '<NULL>' with efi_mgr
Loading Boot0000 'mmc 1' failed
Loading Boot0001 'mmc 0' failed
EFI boot manager: Cannot load any image
Boot failed (err=-14)
Scanning bootdev 'mmc@fa00000.bootdev':
Scanning bootdev 'mmc@fa10000.bootdev':
Bus usb@31100000: generic_phy_get_bulk : no phys property
Register 1000840 NbrPorts 1
Starting the controller
USB XHCI 1.10
scanning bus usb@31100000 for devices... 3 USB Device(s) found
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
ethernet@8000000port@1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
am65_cpsw_nuss_port ethernet@8000000port@1: phy_startup failed
am65_cpsw_nuss_port ethernet@8000000port@1: am65_cpsw_start end error
No more bootdevs
---  -----------  ------  --------  ----  ------------------------  ----------------
(1 bootflow, 1 valid)
=> 

它显示:

DRAM: 2GiB (有效4GiB)

我不确定它是否可以在4GB 模式下工作?

如果我修改了  SysConfig 后的 k3-am62x-sk-ddr4-1600MTs.dtsi、它会显示:

U-Boot SPL 2024.04 (2024年11月6日- 22:53:09 +0800)
SYSFW ABI:4.0 (固件版本0x000a '10.0.8--v10.00.08 (Fiery Fox)')
SPL 初始堆栈使用:13392字节

那么、这里还有其他问题吗?

谢谢!

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

    您好!

    我已经为 DDR 专家分配了主题。 如果1-2个工作日内没有响应、请 ping 该主题。

    此致、
    Aparna

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

    期待进一步解答。

    谢谢!

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

    您好、James

    此问题已挂起很长时间、请帮助客户解决此问题。 谢谢。

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

    你好、Jacky、

    我假设您在使用具有4GB DDR 的定制电路板。

    [报价用户 id="574546" url="~/support/processors-group/processors/f/processors-forum/1434832/am625-sdk10-uboot-ddr-4gb "]

    DRAM: 2GiB (有效4GiB)

    我不确定它是否可以在4GB 模式下工作?

    [报价]

    这意味着 U-Boot 配置为4GB DDR、但仅使用2GB 运行 U-Boot。

    您提供的控制台日志显示 U-Boot 无法找到内核。 该板通过哪个接口引导、通过 SD 卡或其他接口引导? 您是否使用了处理器 SDK 或者您是否从其他地方获得了 U-Boot 源代码? SDK U-Boot 直接从 SD 卡或 eMMC 配置引导内核。

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

    您好、Bin、

    感谢您的答复。

    这是我们的定制电路板、 原理图附在后。

    e2e.ti.com/.../am62x_5F00_BC_5F00_DDR.pdf

    我跟随 spradd1a 来制作 uboot、但 尚未添加内核。

    因为一旦我根据 SysConfig 修改了 k3-am62x-sk-ddr4-1600MTs.dtsi、系统就不会启动:  

    U-Boot SPL 2024.04 (2024年11月6日- 22:53:09 +0800)
    SYSFW ABI:4.0 (固件版本0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL 初始堆栈使用:13392字节

    配置 DDR 4GB 时仍然存在问题。

    如何根据上面的原理图选择 SysConfig 的配置?

    谢谢!

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

    你好、Jacky、

    [报价 userid="574546" url="~/support/processors-group/processors/f/processors-forum/1434832/am625-sdk10-uboot-ddr-4gb/5512778 #5512778"]

    因为一旦我根据 SysConfig 修改了 k3-am62x-sk-ddr4-1600MTs.dtsi、系统就不会启动:  

    U-Boot SPL 2024.04 (2024年11月6日- 22:53:09 +0800)
    SYSFW ABI:4.0 (固件版本0x000a '10.0.8--v10.00.08 (Fiery Fox)')
    SPL 初始堆栈使用:13392字节

    配置 DDR 4GB 时仍然存在问题。

    [报价]

    听起来好像存在 DDR 配置问题。 我会将您的问题发送给我们的 DDR 专家、以征求您的意见。

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

    请通过 DDR 寄存器配置工具发送 DDR 数据表和.syscfg 文件。  我想检查配置是否与您的电路板匹配。

    此致、

    James

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

    尊敬的 James:

    以下是一些数据:

    我们使用的 DDR 是 MT40A2G8VA-062EIT:B、

    e2e.ti.com/.../MT40A2G8VA_2D00_062E-IT-16gb_5F00_ddr4_5F00_sdram.pdf

    e2e.ti.com/.../8bit_5F00_32Gb.zip

    8bit_32Gb.zip 来自 SysConfig、我 在  DTS 内部添加的内容如下:

    e2e.ti.com/.../k3_2D00_am62x_2D00_sk_2D00_ddr4_2D00_1600MTs.rar

    期待您的回复。

    谢谢!

    Jakcy.

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

    请在工具中尝试使用 Density = 16GB。  每个设备为16GB、系统中的总容量为32GB。

    还要确保在初始化 DDR 之前启用 VTT 稳压器。  请检查 VTT_DDR4和 VREF_DDR4在 DDR_RESETn 为高电平之前是否有效

    此致、

    James

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

    谢谢 James、

    我们尝试了8位- 16GB、日志已附加

    e2e.ti.com/.../SDK10-8bit-16Gb20241206.txte2e.ti.com/.../k3_2D00_am62x_2D00_sk_2D00_ddr4_2D00_1600MTs_5F00_8bit_5F00_16bit.rar

    它还显示:

    DRAM: 2GiB (有效4GiB)

    那么、是不是正确?  

    谢谢!

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

    我认为这仍然不对。  您是否可以从 u-boot 转储0x0F300020值?

    此外、您使用的是哪个 SDK 版本?  您能否从 u-boot 发布以下文件:  drivers/ram/k3-ddrss/k3-ddrss.c

    此驱动程序中可能存在错误

    此致、

    James

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

    1.

    => md.b 0x0F300020 64
    0f300020:11 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..........
    0f300030:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0f300040:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0f300050:00 00 00 00 00 00 00 00 00 00 00 00 ff 03 00 00 00 ..........
    0f300060:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0f300070:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    0f300080:00 00 00

    SDK 版本为 ti-processor-sdk-linux-am62xx-evm-10.00.07.04、ti-u-boot-2024.04+git。

    附件为 k3-ddrss.c:

    e2e.ti.com/.../k3_2D00_ddrss.c

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

    重新上传文件:

    e2e.ti.com/.../k3_2D00_ddrss.rar

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

    您好、James

    此问题已久未决。 您能否确认时间? 我会安排与您和客户会面、尽快解决问题。

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

    Jacky、

    我错了。

    直线:

    DRAM: 2GiB (有效4GiB)

    这条消息位于 u-boot 中。 它基本上意味着 u-boot 使用2GiB、但板上有4GiB。  当您引导至内核时、这是您应该检查是否能够唯一访问所有4 GiB 的位置。  我会在整个4GiB 范围内执行一些内存测试、以确保您可以访问每个位置、而不会影响其他位置。

    此致、

    James

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

    尊敬的 James:

    谢谢回复、

    所以我知道目前 uboot 是正确的、我们需要转到内核来查看4GB 是否正确。
    内核中是否有任何需要修改的内容?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Jacky、

    通常、您需要修改内核板 devicetre 中的"存储器"节点、以将两个 DDR 区域指定为4GB、但在 AM62x SDK10.0中实际上不必执行此操作、U-Boot 将在引导内核之前根据 U-Boot 中的 DDR 配置修改内核 DT"存储器"节点。

    在内核引导日志中、您将看到消息中的存储器信息如所示

    [   0.000000]内存: xxxxxxK/yyyyyyyyK 可用...

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

    e2e.ti.com/.../_A0526551_k3_2D00_am625_2D00_sk.dtb.log

    尊敬的 James:

    我尝试将 K3-AM625-SK-DTB 放入 SD 卡中以启动内核、 这应该是因为一些外设尚未正确移植、因此不断报告错误。  我们可能需要进一步修改才能正确进入内核。  但我们能否通过当前日志确定 DDR 的容量?

    谢谢!

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

    你好、Jacky、

    您的 UART 连接似乎正在丢失字符、日志中有多个地方缺少消息。 第98行

           112K 保留、131072K CMA 保留

    会在开始时丢失一些消息、该消息告诉内核看到的存储器大小、

    第76行是最后一个存储器节点

           [   0.000000]  节点  0:[MEM 0x00000000a0000000-0x00000000ffff]

    最高可达2GB 的边界。 我希望该日志之后应该有另一个节点:

           [   0.000000]  节点  0:[MEM 0x0000000 8. 80000000-0x0000000 8. FFFFFFFF]

    第二个2GB。

    因此、您的内核似乎只能看到2GB DDR。 请检查内核板 devicetre 中的存储器节点设置。