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:SPI 闪存的 U-boot 映像

Guru**** 2587365 points
Other Parts Discussed in Thread: AM3352

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/593436/am3352-u-boot-image-for-spi-flash

器件型号:AM3352

您好!

我有基于 AM3352的定制设计电路板、引导选项设置为从 SPI 闪存引导。

我想使用 u-boot 启动 AM3352。 我下载并编译了 u-boot 代码。 它会创建 u-boot.bin 和 u-boot-spl.bin 文件。

有人能解释一下如何将这两幅图像封装在闪存中吗? 根据我的理解、u-boot-spl.bin 将转至 SPI 闪存的地址0x0、但 u-boot.bin 如何?

此外、我应该修改哪个文件/函数来处理 DDR 初始化和 UART 设置。 我在设计中使用 UART_0。

谢谢、

R.

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

    您使用的是哪种软件包?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是 uboot 版本2017.03。 从 denx 开始。
    我还从 TI 网站下载了 SDK 并能够进行编译、但 u-boot 是旧版本、我想使用最新版本、也想学习、因此非常感谢您的帮助。

    谢谢。
    R.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此论坛仅支持 TI 发布的 Linux SDK。 U-boot 用户指南可在以下位置找到: processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    对于 DDR 配置、请检查以下文件夹:arch/arm/cpU/armv7/am33xx/

    为控制台设置默认 UART0
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Biser、
    感谢您的回复、我将仅关注 TI-SDK。 编译 u-boot 后、我获得了 u-boot-spl.bin、u-boot.ibn、uboot.img。
    现在、我的问题是如何将这些文件放置在 SPI 闪存中?

    目前我没有研究 rootfs 或 Linux 内核。 我只想让 AM3352仅使用 u-boot 成功引导。

    基于我的理解
    SPI_Flash_Image.bin (单个文件)将在地址偏移(0x0)处打包 u-boot-spl.bin、而 U0boot.img 将在地址0x040000处打包

    请确认吗?

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

    CONFIG_SYS_SPI_U_BOOT_FLUs 定义 u-boot 的位置。 基本上、ROM 代码要求 u-boot-spl.bin 位于0x0。 剩余的值取决于设置的 CONFIG_SYS_SPI_U_BOOT_OVs 值。 请检查代码库中的值。 在我的处理器 SDK 版本03.03.00.04中、它遵循以下存储器映射:

    /*
    *默认为对环境等使用 SPI
    * 0x000000 - 0x020000:SPL (128KiB)
    * 0x020000 - 0x0A0000:U-Boot (512KiB)
    * 0x0A0000 - 0x0BFFFF:U-Boot 环境(128KiB)的第一个副本
    * 0x0C0000 - 0x0DFFFF:U-Boot 环境的第二个副本(128KiB)
    * 0x0E0000 - 0x442000:Linux 内核
    * 0x442000 - 0x800000:userland
    *
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Dwarakesh 您好、

    这是我要查找的内容、我将验证并更新状态。

    感谢您分享信息。

    顺便说一句、在所有这些问题中、MLO 和 mLO.byteswap 适用于哪里? 我可以忽略该文件吗?

    此致、

    R.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    AFAIK、MLO 等效于 u-boot-spl.bin、您可以忽略它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 D.Warakesh、我检查了 MLO 内容-这只是 u-boot-spl.bin +开始时的一些标题。
    我创建了图像、但不幸的是、它不起作用。 我仍然在控制台上看到"CCCCCCCCCC"、它有时也会出现、而不是停止。
    我的印象是、根据 sysboot 选项-最后一个选项是 UART、我将每3秒连续获得 CCCCC 在我不使用 XMODEM 协议传输 u-boot-spl.bin 文件之前、我必须稍后通过 YMODEM 协议发送 u-boot.bin。

    我不确定我的硬件是否有任何问题? 我将与我的硬件团队核实并更新 TT。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我对 mLo.byteswap 的看法不正确。 看起来它用于闪存到 SPI 中。 请参阅: processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的更新。 我还发现了 u-boot 故障的另一个原因。 在我的电路板 MOSI 上、MISO 换用为 SPI 闪存。

    通常、DO -用于 MOSI 和 D1 -用于 MISO。 但是对于从复位引导期间-内部引导 ROM 代码使用 D1作为 MOSI、使用 D0作为 MISO。

    我现在正在进行板载修复。 在我验证后、我将更新票证。

    顺便说一下、我非常感谢您的帮助。