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.

[参考译文] AM5728:uBoot 移植

Guru**** 2396055 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1486115/am5728-uboot-porting

器件型号:AM5728

工具与软件:

您好!
我要将 uboot 从 SDK (5.03)移植到 SDK (8.02)、我已对8.03 uboot 文件中的5.03进行了必要更改。 即 board.c 和 mux.h 和 am57xx_hs_evm_defconfig。
这里的问题是我的旧 SDK MLO 和 uboot.img 在第一个分区引导良好,但我在8.03中做的一个根本不引导。
您可以帮助我移植 u-boot 并使其就绪吗?

此致、
Roshan Rajagopal

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

    尊敬的 Roshan:

    我们的 AM57工程师目前外出。 请预计会延迟1天的回复。

    此致、

    Takuma

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

    你(们)好

    感谢您的答复。请让我们知道,一旦他/她可用的答复。

    此致、
    Roshan Rajagopal

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

    尊敬的 Roshan:

    事先理解并道歉。 看起来我们的工程师在出差时出现了一些延迟。 请预计在周五或周一时间内回复。

    此致、

    Takuma

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

    您好!
    此问题是否有任何更新??

    此致、
    Roshan Rajagopal

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

    尊敬的 Roshan:

    SDK 版本相差很远。 您说的是您可以获得零张照片吗?

    这主要表明您的映像未经签名或未正确签名。 您是否先连接到 GP 器件的端口?

    -若苏厄

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

    您好!
    抱歉、我们目前没有 gp-evm 设备、您能否指导我们如何正确签名?
    还有关于 am57xx 的 uboot 移植的更新指南吗? 三个示例。

    此致、
    Roshan Rajagopal

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

    Roshan、

    AM57的高安全性(HS)支持仅在 NDA 下提供。 请与当地的 TI 办事处合作、以访问 AM57 HS 文档和安全论坛。

    您能否确认以下问题:

    您是不是说您得到了零张照片?

    基本上不会打印 UART。 这是生产器件吗? 您是否有在市场上销售采用带安全引导的 AM572x 的产品?

    或者这是否是第一次尝试安全启动?

    我认为我们没有 u-boot 移植指南。 听起来您正在执行大部分正确的步骤。 我怀疑您在使用的是 HS 器件、并且没有为此器件签名的软件。  

    -若苏厄

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

    您好!
    不,我们不尝试安全启动,我们在5.03中尝试在没有安全启动的情况下使用它,我们对 gp evm 文件进行了更改,然后它在那里工作。 在8.03 SDK 中完成时的相同更改不起作用。

    此致、
    Roshan Rajagopal

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

    您好!

    是最新 SDK 所需的以下部分、我们使用了相同的4GB EMIF 进行引导、如 EMIF 工具 PDF 中所述。


    board/ti/am57xx/board.c
    
    int dram_init_banksize(void)
    {
    	u64 ram_size;
    	ram_size = 0x100000000;
    	gd->bd->bi_dram[0].start = CONFIG_SYS_SDRAM_BASE;
    	gd->bd->bi_dram[0].size = get_effective_memsize();
    	if (ram_size > CONFIG_MAX_MEM_MAPPED) {
    	gd->bd->bi_dram[1].start = 0x200000000;
    	gd->bd->bi_dram[1].size = ram_size - CONFIG_MAX_MEM_MAPPED;
    	}
    	return 0;
    }
    
    
    include/configs/am57xx_evm.h
    
    #define CONFIG_VERY_BIG_RAM
    #define CONFIG_MAX_MEM_MAPPED 0x80000000
    #define CONFIG_PHYS_64BIT
    

    上述内容在 SDK 5.03中使用,但应该在 SDK 8.03中使用相同的内容,正如我所注意到的那样

    #define CONFIG_NR_DRAM_Banks       2.

    am57xx_evm.h 中的上述行已移至 kconfig 中、并且不存在于 SDK 8.03的 am57xx_evm.h 中、因此、其他行也已移动或折旧?

    此致、
    Roshan Rajagopal

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

    Roshan、

    您的回答和原来的问题令人困惑。 以下来自您的意见让我认为您正在使用高安全性设备:

    Unknown 说:

    am57xx_hs_evm_defconfig:  这是 Linux 的高安全性配置。

    抱歉我们当前没有 gp-evm 设备、您能指导我们如何正确签署图片吗?

    "我们没有 gp-evm"是什么意思? 您是否是指您没有 TI EVM? 特别是 AM572x GP EVM?

    器件型号也与 GP 器件不同、该器件型号的末尾将有一个 n (S)、如数据表中所述:

     


    在启动 Uboot 方面、您正在采取正确的步骤、以查看在 SDK 上引导我们 EVM 的代码、该代码与您所需的 U-boot 版本一致。 请参阅以下指南、此指南可能会有所帮助(当然、您必须替换 AM57的命名):

    https://software-dl.ti.com/processor-sdk-linux/esd/AM437X/08_02_00_24/exports/docs/linux/How_to_Guides/Board_Port / U-Boot.html

    通常、您首先需要创建一个可用于初始电路板启动尝试的最小配置。 基础知识正常工作后、最小配置就可以作为逐步构建的良好基础。 逐一添加特性、直到配置完全支持定制电路板所需的所有特性。

    请参阅以下免责声明: https://software-dl.ti.com/processor-sdk-linux/esd/AM57X/08_02_01_00/exports/docs/linux/Overview_Technical_Support。html#open-source-software-support-免 责声明

    -若苏厄

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

    Roshan、

    对于 GP 板、 am57xx_evm_defconfig 是正确配置。 是的、我的建议是遵循较新 u-boot 版本上的惯例。

    我相信其他客户在较新版本上仍然使用此功能:请访问 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1458019/am5726-how-to-support-4gb-ddr

    以及以下应用手册: https://www.ti.com/lit/an/sprac36e/sprac36e.pdf?ts = 1735896379982

    此致!

    若苏厄

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

    Roshan、

    您是否已检查针脚多路复用是否正确且未在其他地方使用? 请参阅 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/786189/am4378-u-boot-unable-to-read-mmc/2907337#2907337

    "GPIO_request_tail:节点"mmc@4809c000"、属性"WP-GPIOs"、无法请求 GPIO 索引0:-2"

    您是否检查了后期版本的默认 DT 并查看其是否具有类似属性?

    -若苏厄

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

    您好!
    我不认为

    Unknown 说:
    "gpio_request_tail /support/processors-group/processors/f/processors-forum/1486115/am5728-uboot-porting/5726834:节点"mmc@4809c000"、属性"WP-GPIOs"、无法请求 GPIO 索引0:-2"

    上面会导致问题、因为如果您看到我向其发出该语句的早期 SDK 的引导日志、
    我也尝试在 DTS 中使用损坏的 CD、但我得到的只是

    GPIO_Request_Tail:节点"mmc@4809c000"、属性"CD-GPIOs"、无法请求 GPIO 索引0:-2

    我在 spl-Mmc.c 中添加了一个 printf 来打印启动设备、并且它将返回为  

    调试:针对 boot_device=5调用 SPL_MMC_find_device ()

    以上是 SD 卡引导的正确步骤。

    您能否帮助我在代码中添加更多 printf 语句、以便我们能够正确跟踪问题的位置并尽早解决问题?
    MMC 问题本身或 SDRAM 初始化问题。
    我觉得如果我们在某些地方添加一些 printf、可以更好地跟踪此问题。

    我也理解这是在我的 MLO 中的一些问题,因为我使用了前一个 SDK 的 MLO 和 u-boot.img 的新 SDK 和它的工作,而当我尝试反之亦然,它不工作。

    如果您可以帮助我调试此问题、那将很有帮助

    此致、
    Roshan Rajagopal

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

    Roshan、

    请在我们的源代码中查看定制电路板与之类似的最接近电路板的 DTS 工作说明。 我不建议混合和匹配、这并不能真正显示任何进度。

    我的建议是从零开始并提出基本要素。  为简单起见、最小配置最初仅支持 SD 读卡器和 UART 外设。 然后继续了解更多特性。

    您尝试桥接的 SDK 中的差距太大、您最好重新开始。  

    我们对这一努力的支持将非常有限。  

    请参阅以下 Overview_Technical_Support 免责声明:https://software-dl.ti.com/processor-sdk-linux/esd/AM57X/09_03_06_05/exports/docs/linux/SDK.html#open-source-software-support-免 责声明

    我之所以分享这一点、是因为 TI 不再支持您所使用的两个 SDK、而且 U-boot 是一款开源软件、您可以从 FOSS 社区获取大量帮助。

    此致!

    若苏厄