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.

[参考译文] SK-AM62P-LP:从 OSPI 读取和写入失败

Guru**** 2378650 points
Other Parts Discussed in Thread: SK-AM62P-LP
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1532093/sk-am62p-lp-writing-and-reading-from-ospi-fails

器件型号:SK-AM62P-LP
Thread 中讨论的其他器件:DRA829

工具/软件:

您好、专家、

我正在为我们的下一代器件评估 SK-AM62P-LP EVM 板。 我们希望像在 DRA829 SoC 上一样从 OSPI 引导。

当我尝试对 OSPI 进行写入和读取时、得到失败的结果:

=> sf probe
SF: Detected s28hs512t with page size 256 Bytes, erase size 4 KiB, total 64 MiB


=> mtd list
List of MTD devices:
* nor0
  - device: flash@0
  - parent: spi@fc40000
  - driver: jedec_spi_nor
  - path: /bus@f0000/bus@fc00000/spi@fc40000/flash@0
  - type: NOR flash
  - block size: 0x1000 bytes
  - min I/O: 0x1 bytes
  - 0x000000000000-0x000004000000 : "nor0"
          - 0x000000000000-0x000000080000 : "ospi.tiboot3"
          - 0x000000080000-0x000000280000 : "ospi.tispl"
          - 0x000000280000-0x000000680000 : "ospi.u-boot"
          - 0x000000680000-0x0000006c0000 : "ospi.env"
          - 0x0000006c0000-0x000000700000 : "ospi.env.backup"
          - 0x000000800000-0x000003fc0000 : "ospi.rootfs"
          - 0x000003fc0000-0x000004000000 : "ospi.phypattern"


=> setenv dfu_alt_info ${dfu_alt_info_ospi_asb3}
=> pri dfu_alt_info
dfu_alt_info=tiboot3 raw 0x0 0x80000; tispl raw 0x80000 0x200000; u-boot raw 0x280000 0x400000; env raw 0x680000 0x40000; env.backup raw 0x6c0000 0x40000; manufacture raw 0x700000 0x40000; knut-settings raw 0x740000 0x40000; pmem raw 0x780000 0x40000; misc raw 0x7c0000 0x40000; secret raw 0x800000 0x40000; dfubootflag raw 0x3f80000 0x40000; phypattern raw 0x3fc0000 0x40000



=> dfu 0 sf 0:0


(sending files from host computer)


###############################################################################DOWNLOAD ... OK
Ctrl+C to exit ...
##################################################################################################################################################################################################################################################################################################################DOWNLOAD ... OK
Ctrl+C to exit ...
##################################################################################################################################################################################################################################################################################################################################################DOWNLOAD ... OK
Ctrl+C to exit ...
=> sf read 0x82000000 0 100
device 0 offset 0x0, size 0x100
SF: 256 bytes @ 0x0 Read: OK
=> md.b 82000000 100
82000000: 00 00 00 00 00 f0 ff ff ff ff ff ff ff ff ff ff  ................
82000010: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000020: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000030: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000040: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000050: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000060: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000070: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
82000090: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
820000a0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
820000b0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
820000c0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
820000d0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
820000e0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................
820000f0: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ................


SDK 版本 10。 (U-Boot 2024.04)。 我注意到与从 SD 卡运行预构建的二进制文件有区别:

=> sf probe
SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB

擦除大小为 256KiB。 在我的(非工作的)构建中、它是 4 KiB。 这是 U-Boot 2025.01

此致、

/BO

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

    Bo、

    擦除大小为 256KiB。 在我的(非工作的)构建中、它是 4 KiB。 这是 U-Boot 2025.01

    听起来您采用了基于 SDK v10 的良好设置、对吗?

    如果要使用 U-Boot 2025.01、您使用的是哪个版本? 您是否在使用 https://git.ti.com/cgit/ti-u-boot/ti-u-boot/log/?h=ti-u-boot-2025.01 上 TI U-Boot 存储库的`ti-u-boot-2025.01`分支 ?  此 U-Boot 分支也用于 SDK v11.x 系列、应该可以正常工作。 如果您尚未尝试、您还应该尝试最新的 PROCESSOR-SDK-LINUX v11.x 映像、该映像可从 https://www.ti.com/tool/download/SDK-AM62X/下载 、以供参考。

    此致、Andreas

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

    尊敬的 Andreas:

    对不起,我不是很清楚。 我当时使用的是 U-Boot 2024.04、这对我来说不是很满意
    脚踢动作。 当我在 U-Boot 中添加自己的功能时、sNOR 会停止工作。 很好
    响应速度很快、就像它起作用一样、但不会写入或读取任何内容。

    此外、在 U-Boot 2024.04 中、如果我尝试多次探测 sNOR 闪存、无需添加任何定制内容
    我得到以下行为:

    Hit any key to stop autoboot:  0
    => sf probe
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => sf probe
    jedec_spi_nor flash@0: unrecognized JEDEC id bytes: ff, ff, ff
    Failed to initialize SPI flash at 0:0 (error 0)
    

    而使用预编译二进制文件时、可以探测几次。 我猜这是因为
    对于似乎在 2025.01 中解决的软复位问题:

    => sf probe
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => sf probe
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    => sf probe
    SF: Detected s28hs512t with page size 256 Bytes, erase size 256 KiB, total 64 MiB
    

    我将转至 2025.01、看看这是否能解决我的问题。

    谢谢、

    /BO

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

    搬到 2025.01 是不是一个选择,所以我在 2024.04 工作了一点,并设法得到
    读取和写入 sNOR 工作。

    我们面临的一个问题是必须为不同的引导场景构建不同的引导映像。 添加
    “am62x_a53_usbdfu.config"和“和 R5 对应方使 DFU 有效、但映像不适用
    NOR 的闪存。

    是否有方法可以只构建一组适用于 usbdfu 的可引导项(主要是 tiboot3.bin)
    和 xSPI 引导模式? 我不介意从 R5 SPI 映像中删除其他功能、因为我们都做了
    重举的重要步骤。

    此致、

    /BO

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否有一种方法可以只构建一组适用于 usbdfu 的可引导程序(主要是 tiboot3.bin)
    和 xSPI 引导模式? 我不介意从 R5 SPI 映像中删除其他功能、因为我们都做了
    稍后在主 U-Boot 映像中执行繁重的任务。

    我建议大家试一试。 由于器件内部的 SRAM 大小限制、tiboot3.bin 中的空间非常紧凑、这会成为您的主要/唯一真正的障碍。 尝试从 U-Boot SPL R5 配置中移除所有 MMC 内容、这通常会释放大量空间。

    此致、Andreas

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

    尊敬的 Andreas:

    尝试从 U-Boot SPL R5 配置中删除所有 MMC 内容、这通常会释放大量空间。

    大多数 MMC 内容已被删除。 我做了此更改:

    # CONFIG_SPL_MMC is not set
    # CONFIG_SPL_FS_FAT is not set
    # CONFIG_SPL_LIBDISK_SUPPORT is not set
    # CONFIG_SPL_MTD is not set
    - # CONFIG_SPL_SPI is not set
    # CONFIG_SPL_SYS_MALLOC is not set
    # CONFIG_CMD_GPT is not set
    # CONFIG_CMD_MMC is not set
    # CONFIG_CMD_FAT is not set
    # CONFIG_MMC_SDHCI is not set
    # CONFIG_DMA_CHANNELS is not set
    # CONFIG_TI_K3_NAVSS_UDMA is not set
    + # CONFIG_SPL_THERMAL is not set
    + # CONFIG_SPL_YMODEM_SUPPORT is not set
    

    这样我得到了一个既适用于 USB DFU 又适用于 xSPI 引导的 tiboot3.bin。

    如果您觉得正常、则可以关闭此主题。

    此致、

    /BO