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.

[参考译文] 66AK2G02:针对 QSPI 的 U-Boot 支持

Guru**** 2551300 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/606017/66ak2g02-u-boot-support-for-qspi

器件型号:66AK2G02

TI U-Boot 是否支持 K2G EVM 上的 QSPI 闪存? 当我尝试使用 SPI 探头时、它使用已安装的 U-Boot 版本(U-Boot 2015.07 (2016年3月21日- 10:02:12 -0400))在 K2G EVM 上找不到 QSPI 闪存。  

当我获取 TI U-Boot 标签 ti2016.07时、k2g_evm_defconfig 文件中没有 QSPI 的符号。 如果我为 TI_QSPI 支持配置 U-Boot、则构建失败。

CC 驱动器/SPI/ti_QSPI.o
./drivers/spi/ti_qspi.c:11:27:致命错误:asm/arch/omap.h:无此类文件或目录

Kconfig 文件显示"Enable the TI Quad-SPI (QSPI) driver for DRA7xx and AM43xx EVM"(为 DRA7xx 和 AM43xx EVM 启用 TI Quad-SPI (QSPI)驱动程序)。 因此、不清楚 K2G EVM 是否受支持。  TI_QSPI 驱动程序是否是要使用的正确驱动程序?

顺便说一下、我选择了 t2016.07 commit、因为   正如我昨天上午开始这项工作时在 processors.wiki.ti.com/.../Processor_SDK_Linux_U-Boot_Release_Notes 中描述的那样、它只是 U-Boot 主管的两个部分;我看到自那时以来、存储库和版本说明已经更新。 我将使用 ti2017.01重试。

此致、

Debora

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我刚刚使用 ti2017.1和 k2g_evm-defconfig 重建 U-Boot 并运行它。

    结果:U-Boot 检测 QSPI 总线上的闪存。 这样就解决了这个问题。 无需更改配置。

    => SF 探头4:0
    SF:检测到 s25fl512s_256k、页大小为512字节、擦除大小为256 KiB、总共64 MIB

    但是、EVM 无法像以前那样完成引导、因此除 MLO 和 uboot.img 外、我必须将其他内容复制到 SD 卡。 您能告诉我缺少什么吗?

    U-Boot 2017.01-00318-g9fd6070 (2017年6月27日- 12:02:30 -0700)

    CPU:66AK2Gx SR1.0
    型号:德州仪器 Keystone 2 Galileo EVM
    I2C:就绪
    DRAM:
    清除整个 DDR3内存以启用 ECC
    2GiB
    NAND:256 MIB
    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.
    正在读取 uboot.env

    **无法从 mmc0:1读取"uboot.env"**
    使用默认环境

    网络:
    警告:netcp@4000000使用来自 ROM 的 MAC 地址
    eth0:netcp@4000000
    按任意键停止自动引导:0
    切换到分区#0,确定
    mmc0是当前器件
    在器件0上找到 SD/MMC
    正在读取 BOOT.SCR
    **无法读取文件 boot.scr **
    正在阅读 uEnv.txt
    4ms 内读取729字节(177.7 KiB/s)
    从 uEnv.txt 加载了 env
    正在从 mmc0导入环境...
    正在运行 envcmd ...
    在29ms (1.5MIB/s)内读取45056字节
    ##请更新显示器图像
    在24ms (5.2 MiB/s)内读取131136字节
    0 -名称:'PMMC@2900000'类型:'内部存储器映射'支持:加载启动
    用数据载入远程处理器0@addr=0x82000000 131136字节:成功!
    在220ms (18.3MiB/s)内读取4228928字节
    在18ms (2.8 MIB/s)内读取52285字节
    **找不到文件/boot/keystone-k2g-evm.dtb **
    错误:未找到 cmdline 设备树
    找不到有效的设备树
    =>
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题似乎在于、一些环境变量已与 K2G EVM 随附的变量发生变化。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Debora、

    您是否使用映像对 QSPI 闪存进行了编程? 在我们的测试中、我们将映像 tftp 到${loadaddr}、并写入 QSPI 闪存

    => tftp ${loadaddr}192.168.0.1:vatf_k2g-evm/31bb5d0dec74b656a3965814fa63f643
    使用 netcp@4000000器件
    来自服务器192.168.0.1的 TFTP;我们的 IP 地址为192.168.0.246
    文件名'vatf_k2g-evm/31bb5d0dec74b656a3965814fa63f643'。
    加载地址:0x82000000
    正在加载:*##########################
    6个 MIB/s
    完成
    传输的字节= 497724 (7983c 十六进制)
    => SF 探头4:0
    SF:检测到 s25fl512s_256k、页大小为512字节、擦除大小为256 KiB、总共64 MIB
    => SF 擦除0 80000
    SF:524288个字节@ 0x0被擦除:确定
    => SF 写入${loadaddr}0 7983c
    器件0偏移量0x0、大小0x7983c
    SF:497724字节@ 0x0写入:正常

    然后、根据 K2G GP EVM 硬件设置指南、需要将 DIP 开关设置为"QSPI 96 Boot"。

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

    适合您吗? 如果是、您可以单击"验证答案"按钮吗? 否则、线程将在一天内关闭。

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

    最后,我感到困惑的是,我已经对 EVM 附带的 U-Boot 进行了一些测试,后者是一个旧得多的版本。 (我现在没有设置它来检查实际版本。) 在该版本中、"SF Probe"未在 QSPI 总线上找到闪存。

    U-Boot# SF 探测器4:0
    无法在4:0初始化 SPI 闪存

    因此、我假设需要添加 QSPI 支持。 但通过实验、我发现实际上不需要为找到的 QSPI 闪存配置 QSPI 支持。 U-Boot 版本2017.1使用默认配置构建时发现闪存正常。

    => SF 探头4:0
    SF:检测到 s25fl512s_256k、页大小为512字节、擦除大小为256 KiB、总共64 MIB

    问题在于 EVM 附带的旧版本 U-Boot 没有找到 SPI 闪存、而是当前版本。

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

    记录中、找不到闪存的 U-Boot 版本是
    U-Boot 2015.07 (2016年3月21日- 10:02:12 -0400)

    这就是我按照快速入门程序所述的步骤操作后在 EVM 的 SD 卡上安装的内容。 查看 sprw292、它不会说将文件复制到 SD 卡、因此 EVM 必须已经随该卡上的旧 U-Boot 一起提供。

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

    这就是它的原因。 用于 K2G 的 QSPI 在2016.05 (ProcSDK 3.0.x)中实现。 对于 u-boot、2015.07适用于 ProcSDK 2.0.x 请从 www.ti.com/.../PROCESSOR-SDK-K2G 的下载页面获取最新的 K2G 版本、或从每个 SDK 页面底部的任何存档版本。

    雷克斯