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:内核在启用 4GB DDR 的情况下无法启动&#39

Guru**** 2815505 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1626583/am625-kernel-doesn-t-boot-with-4gb-ddr-enabled

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

大家好!

我们有一个具有 4GB DDR 的定制 AM6254 板。 这块板运行良好的 4G DDR 在 800MHz 几个月。

最近我们 更新到最新的 scarthgap 修订版 meta-ti (tag 11.02.11)。 然后重复步骤、根据我们的设置配置 DDR 控制器并在 u-boot 和内核上启用 4G DDR。

此时、我们会遇到以下问题:在 u-boot 发出此消息后、内核根本无法在控制台上打印任何内容:
```μ s
正在启动内核...  
```μ s
我禁用了 config_arch_fixup_FDT_MEMORY、以单独控制 u-boot 和 Linux 的存储器节点。 这是我根据到目前为止的测试所知道的:
*如果在 Linux DT 中仅启用较低的 2GB 内存,则内核会正确启动,即使 u-boot 在其自身的 DT 上启用了全 4GB 内存。
*如果在 Linux DT 中启用了上部 2GB 的 RAM ,内核不会启动。 此时、电路板静默。
*在 u-boot 上、我可以看到完整的 4GB RAM 和 poke 地址(范围为 0x88000'0000 -> 0x8ffff'FFFF)

`bdinfo`的输出为  
```μ s
 => bdinfo
BOOT_params = 0x000000000000
DRAM 组  = 0x000000000000
-> start   = 0x0000000080000000
->大小    = 0x0000000080000000
DRAM 组  = 0x0000000000000001
-> START   = 0x0000000880000000
->大小    = 0x0000000080000000
flashstart = 0x0000000000000000
闪存大小  = 0x000000000000
Flashhoffset = 0x000000000000
波特率   = 115200bps
relocaddr  = 0x00000000ffea3000
reloc off  = 0x000000007f6a3000
Build      = 64 位
Current eth = Ethernet@8000000port@1
ethaddr    = 28:B5:e8:C6:db:61
ip 地址    =
FDT_blob   = 0x00000000fde6ee10
MULTI_DTB_FIT= 0x000000000000
LMB_DUMP_ALL:
memory.count = 0x2
存储器[0]     [0x80000000-0xffffffff]、0x80000000 字节、标志:无
存储器[1]     [0x880000000-0x8ffffffff]、0x80000000 字节、标志:无
RESERVED。计数= 0x6
保留[0]   [0x9c700000-0x9c7fffff]、0x100000 字节、标志:无覆盖
保留[1]   [0x9c800000-0x9e6fffff]、0x1f00000 字节、标志:无映射
保留[2]   [0x9e780000-0x9fffffff]、0x1880000 字节、标志:无映射
保留[3]   [0xfce6a000-0xfce6cfff]、0x3000 字节、标志:无通知、无覆盖
保留[4]   [0xfce6dff0-0xffffff]、0x3192010 字节、标志:无覆盖
保留[5]   [0x880000000-0x8ffffffff]、0x80000000 字节、标志:无覆盖
器件树 =单独
Serial addr = 0x0000000002800000
宽度     = 0x0000000000000000
SHIFT     = 0x000000000002
偏移    = 0x0000000000000000
时钟     = 0x0000000002dc6c00
arch_number = 0x000000000000
TLB addr   = 0x00000000ff0000
irq_sp     = 0x00000000fde6dff0
SP start   = 0x00000000fde6dff0
早期 malloc 用法:3fc8/8000
```μ s
我确信我们的硬件运行状况良好、因为它在较旧版本(也是 SDK11)中运行了数月。 为简洁起见、我省略了电路板的 DTS 片段和 SysConfig、我假设 DDR 在-boot 下没有问题、因为在地址上使用时、`mw`和`md`按预期工作、如果有效使用 2GB、则会出现别名。

此时、我希望有任何可以帮助我了解早期从 u-boot 切换到内核和早期内核开始执行此配置的指示。

如果您需要其他/特定信息、请告知我。

非常感谢、

António μ s

 

 

 

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

    尊敬的 Antonio:

    首先、请帮助我了解两种情形、即上一种工作情形和当前失败情形:

    您提到过较旧的版本来自 SDK11、但较新的版本来自 Yocto 标签 11.02.11。 “SDK11"是“是指不同的 Yocto meta-ti 标签还是 TI.com 中的 SDK11 安装程序?

    我需要知道 u-boot/kernel 软件包/版本的差异、如何修改它们以移植到您的电路板、以及它们的编译精度。

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

    尊敬的 Bin Liu:

    很抱歉遗漏了这些重要细节。

    我们将使用 Yocto 构建此客户映像。

    当前(工作)版本基于 meta-ti 11.00.10 (commit  a98a2e1029870b25e117d4c9410e75bfd955f35a )

    我们正在更新为 meta-ti 11.02.11 (commit  ea8c0b1cf1ab8a0b327e3feb1144c1ccf05b8278 ) 并保留基本相同的 DDR 配置补丁、并调整 u-boot defconfig、以便:

    ```μ s

    CONFIG_NR_DRAM_BANK=2
    ```μ s
    这似乎是使 u-boot 检测到的全部 4GB 的唯一方法,即使对`reemory@80000000`节点进行了修改,以包含` g `m属性中的两个存储器范围。

    此时、我的设置覆盖了我所做的所有测试。 我将恢复可重现此问题的最小设置、如果您希望我可以共享已有的补丁和 defconfig。

    此致、

    António μ s

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

    尊敬的 Antonio:

    如果  在 U-Boot 中重复使用 am62x_evm_r5_defconfig 和 am62x_evm_a53_defconfig、则需要将 CONFIG_NR_DRAM_BANKS 更改为 2。 否则、如果您未 在您自己的 U-Boot defconfig 中定义 CONFIG_NR_DRAM_BANKS、则它将设置为 2、这是 Kconfig 中的默认值。

    U-Boot 到引导内核的最小变化:

    -添加您自己的 DDR 配置 dtsi 文件;
    -将 CONFIG_NR_DRAM_BANKS 设置为 2 ;
    -更新存储器@80000000 节点以定义 4GB DDR。

    尚未在 U-Boot 中更改任何其他内容、以查看内核是否在控制台上打印任何消息。

    i 禁用了 config_arch_fixup_FDT_MEMORY、以单独控制 u-boot 和 Linux 的存储器节点。 [/报价]

    请不要在 U-Boot 中更改与 FDT 存储器修复相关的任何内容、需要开箱即用、以便针对相应的 SDK 版本在 U-Boot 和内核之间对齐存储器布局。

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

    尊敬的 Bin Liu:  

    谢谢您的提示。 系统正在运行! `m我无法精确定位故障点、但我有充分的理由相信其中一个 A53 defconfig 上缺少 CONFIG_NR_DRAM_BANKS、并且我被误导以为当` w `m和` d 能够与上部 RAM 组交互时 u-boot 正常。

    我把你的提示进入构建,并保持 FDT 修复启用. 它确实有效、因此现在内核正在启动并可以看到整个 4GB 的 RAM。

    此致、

    António ó n Oliveira

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

    尊敬的 Antonio:

    很高兴听到问题得到解决。 感谢您的更新。 不幸的是、我们不知道是什么原因导致了问题。

    请记住、configs/*_defconfig 文件中未定义某些配置选项、其值将取自 Kconfig 中定义的默认值。 因此、您需要评估中的最终配置选项设置 /{R5、A53}/.config 文件。