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.

[参考译文] AM62P-Q1:当 DDR 大小从8GB 更改为1GB 时、内核启动失败

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1424389/am62p-q1-kernel-start-failed-when-ddr-size-from-8gb-change-to-1gb

器件型号:AM62P-Q1
主题中讨论的其他器件:AM62P5

工具与软件:

您好、

  我们在电路板中使用8GB DDR、可以正常工作。 我们将 DDR 大小更改为1GB、电路板开始异常。 引导日志如下所示:

U-Boot 2024.04-脏污(2024年10月11日- 21:09:53 +0800)

SoC:AM62PX SR1.0 HS-SoC FS
型号:德州仪器(TI) AM62P5 SK
DRAM:256 MiB (有效1 GiB)
内核:85个器件、31个 uClasses、devicetre:单独
MMC:MMC@fa10000:0、MMC@fa00000:1
随处加载环境... 好的
输入:串行
输出:串行
错误:串行
NET:eth0:以太网@8000000port@1不能为 MDIO 获取 PHY@f00:地址1
am65_cpsw_nuss_port ethernet@8000000port@2:phy_connect ()失败

按任意键以停止自动引导:0
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
切换到分区#0、好
mmc1是当前器件
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
无法将 vqmmc-voltage 设置为3.3V
器件1上的 SD/MMC
574字节、在10ms 内读取(55.7KiB/s)
从 uEnv.txt 加载 env
正在从 mmc1导入环境...
19376640字节读取时间为784毫秒(23.6 MiB/s)
在15ms (4MiB/s)内读取62870字节
工作 FDT 设置为88000000
###平展设备树在88000000时出现斑点
使用0x88000000的 FDT blob 进行引导
工作 FDT 设置为88000000
正在将设备树加载到000000008c457000、结束00008c569fff ...确定
工作 FDT 设置为8c457000

正在启动内核...

[ 0.000000]在物理 CPU 上引导 Linux 0x0000000000 [0x410fd034]
[ 0.000000] Linux 版本6.1.83-ti-gc1c2f1971fbf (OE-user@OE-host)(AArch64-OE-Linux-gcc (GCC) 11.4.0、GNU ld (GNU binutils) 2.38.20220708)#1 SMP 抢占 MON 5月13 20:19:51 UTC 2024
[ 0.000000]机器模型:德州仪器(TI) AM62P5 SK
[ 0.000000] earlycon:ns16550a0 at MMIO32 0x0000000002800000 (选项"")
[ 0.000000] printk:启动控制台[ns16550a0]已启用
[ 0.000000]内部错误:同步外部中止:0000000096000010 [#1]抢占 SMP
[ 0.000000]中链接的模块:
[ 0.000000] CPU:0 PID:0 Comm:swapper not patent 6.1.83-ti-gc1c2f1971fbf #1
[ 0.000000]硬件名称:德州仪器(TI) AM62P5 SK (DT)
[ 0.000000] pstate:200000c5 (nzCv daIF -pan -uaO -tco -dit -ssbs BTYPE=-)
[0.000000] PC : CREATE_KPTI_NG_TEMP_PgD+0x148/0x654
[ 0.000000] lr : CREATE_KPTI_NG_TEMP_PgD+0xf8/0x654
[0.000000] sp : ffff800009143b90
[ 0.000000] x29:ffff800009143b90 x28:ffff80000008010000 x27:fffffbfffda36800
[ 0.000000] x26:ffff800008b80000 x25:fffffbfffda37000 x24:0040000000000783.
[ 0.000000] x23:0000000000b70000 x22:ffff80000008010000 x21:0000000082010000
[ 0.000000] x20:fffffbfffda36000 x19:ff800008b80000 x18:0000000000000068
[ 0.000000] x17:62697461706d6f63 x16:202c303030303039 x15:63394079726f6d65
[ 0.000000] x14:0000000000000018 x13:0000000000000000 x12:0000000024000000
[ 0.000000] x11:0000000000000003 x10:000000008c467000 x9:00000000000000000000
[ 0.000000] x8 : fffffbfffda3a000 x7 : 0000000000000000 x6 : 00000000000000000000
[ 0.00] x5 : ff80000927d000 x4 : 0000000000000037 x3 : 000fffffbfffda37.
[ 0.000000] x2 : ffff800008b7ffff x1 : ffff800008b80000 x0 : ffff80008ab90000
[ 0.000000]呼叫跟踪:
[ 0.000000] CREATE_KPTI_NG_TEMP_PgD+0x148/0x654
[ 0.000000]__CREATE_PgD_MAPPING + 0x6c/0x90
[ 0.000000] MAP_kernel_SEGMENT+0x74/0xc8
[ 0.000000] page_init+0x128/0x5f0
[ 0.000000] setup_arch+0x25c/0x558
[ 0.000000] start_kernel+0x88/0x694
[ 0.000000]__PRIMARY_SWITCHIN+0xbc/0xc4
[ 0.000000]代码:f94043e1 aa000380 9a813273 aa130000 (f9400321)
[ 0.000000]--[结束跟踪0000000000000000]--
[ 0.000000]内核严重错误-未同步:试图终止空闲任务!
[ 0.000000]--[结束内核恐慌-未同步:试图终止空闲任务! ]--

内核 dts 文件:k3-am62p5-sk.dts

内存@8000000{
/* 8G RAM */
REG =<0x00000000 0x80000000 0x00000000 0x10000000>、
<0x00000008 0x80000000 0x00000000 0x30000000>;
device_type ="存储器";
bootph-pre-ram;
};

请帮助分析日志和问题的可能原因。

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

    尊敬的 Linz:

    请尝试以下操作。

    REG =<0x00000000 0x80000000 0x00000000 0x40000000>
    <0x00000008 0x80000000 0x00000000 0x000000000000>;

    另请参考这个链接。

    移植 U-Boot

    修改 RAM 大小

    非常感谢!

    Yong

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

    尊敬的 Linz:

    请根据上一篇文章中的代码更改、也尝试进行此操作。

    /opt/1Twork/repository/ti-processor-sdk-linux-am62pxx-evm-10.00.07.04/board-
    support/ti-linux-kernel-6.6.6.32+git-ti/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
    reserved_memory:reserved-memory{
    #address-Cells =<2>;
    #size-cells =<2>;
    范围;

    Linux、CMA{
    compatible ="共享 DMA-POOL";
    可重复使用;
    size =<0x00 0x03000000>;
    分配范围=<0x00 0x98500000 0x00 0x03000000>;
    linux、cma-default;
    };

    另请注意、如果没有这样的外部器件、您需要禁用 DTS 中的相应条目。

    非常感谢!

    Yong

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

    尊敬的 Linz:

    如前所述、除了更改上一次开机自检之外、CMA 需要置于1GB 范围内。

    则启动就可以了、电路板上只有1GB。  

    将关闭此票证。

    谢谢  

    Yong