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.

[参考译文] AM6442:主题:在 MCU+ SDK v11 上、AM64x-SK OSPI 闪存写入挂起、在 8D-8D-8D 模式下 S28HS512T

Guru**** 2866460 points

Other Parts Discussed in Thread: AM6442, ADC12DL040

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1630195/am6442-subject-am64x-sk-ospi-flash-write-hangs-with-s28hs512t-in-8d-8d-8d-mode-on-mcu-sdk-v11

器件型号: AM6442
Thread 中讨论的其他器件: ADC12DL040

尊敬的 TI 团队:

我们正在研究 AM64x SK 电路板、希望您在 OSPI 闪存写入问题方面提供指导。

系统详细信息:

  • 电路板:AM64x SK (AM6442)
  • SDK:MCU+ SDK v11.02.00.24
  • 内核:R5FSS0-0
  • 操作系统:FreeRTOS
  • 闪存器件:S28HS512T
  • OSPI 协议:8D-8D-8D

背景:

  • 我们已经成功通过 UDMA 完成 ADC 采集。
  • 我们还在将 CTRLMMR_ADC0_CLKSEL 从 25MHz 切换到 60MHz 后实现了 ADC 4MSPS 目标。
  • 电流阻断器会将捕获的 ADC 数据保存到板载 OSPI 闪存中。

问题:

  • Flash_eraseBlk() 成功完成。
  • flash_write() 在被调用后挂起、不返回。
  • 因此、我们无法完成闪存保存或在该路径中可靠地继续回读。

我们尝试过的方法:

  • 单个 Flash_write () 用于完整的缓冲区(16000 字节)  
  • 逐页 Flash_write () 、  每页使用 256 字节
  • OSPI DMA 已启用
  • OSPI 的专用 UDMA 实例 (BCDMA_0 作为 CONFIG_UDMA1)、独立于 ADC UDMA (PKTDMA_0 作为 CONFIG_UDMA0)
  • 还可进行非 DMA 尝试

观察到的行为:

  • 有效擦除
  • 写入无限期挂起
  • 通过此流程的读取路径不可用、因为写入永远不会完成

问题:

  1.     在具有 MCU+ SDK v11 的 AM64x SK 板上、在 8D-8D-8D 模式下的 S28HS512T 是否支持 Flash_write ()?
  2. 在 8D-8D-8D 模式下写入此闪存是否有建议的 API 或初始化序列?
  3. AM64x SK 与 EVM 是否存在影响 OSPI 闪存写入行为的任何差异?
  4. 是否有使用 SDK v11 在此模式下对 S28HS512T 进行可靠写入/读取操作的参考示例?

任何建议或参考流程都将非常有帮助。

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

    尊敬的 Vijay:

    我使用 MCU+ SDK 11.02 在 AM64x-SK 上测试了 OSPI 闪存 IO 示例、并且所有闪存操作(擦除,写入和读取)都正常工作。

    来回答您的问题、

    1)。 是的、  在具有 MCU+ SDK 11.02 的 AM64x-SK 板上、S28HS512T 在 8D-8D-8D 模式下受支持 Flash_write ()。

    2)。 推荐的执行闪存写入的 API 是 Flash_write ()。

    3)。 AM64x-EVM 和 AM64x-SK 在 Flash_write () 方面没有区别、因为使用的 OSPI 驱动程序是相同的。

    4)。 OSPI 闪存 IO 是测试闪存操作的一个很好的示例。

    在本例中闪存写入不起作用的一个问题是 MPU ARMv7 配置不正确。

    请参阅此 常见问题解答、 对于从存储器地址 0x60000000 开始的区域、应将该区域标记为“严格排序“、并具有监控器 RD+WR 权限。

    此致、

    Aryamaan Chaurasia

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

    尊敬的 TI 支持团队:
    非常感谢你这么多关于 MPU ARMv7 配置的快速确认;设置区域“严格排序“解决了闪存写入挂起现在完美..

    我写信询问 AM64x Sitara 处理器的高速数据采集功能、特别是将 PRU-ICSSG(工业通信子系统)用于快速采样应用。

    我计划与连接 外部 ADC ADC12DL040 转换为 AM64x 入门套件。 我有以下技术问题:

    1.采样率: PRU 能否有效地处理 12 位数据流的 40MSPS 采样率?
    2、接口:考虑到 40MSPS 的要求,推荐哪种接口? 我目前正在查看的是 并行 CMOS 接口 使用 PRU 扩展接头 (J15)。 这是否是实现单周期数据采集的最有效方法?
    3. 引脚映射 :对于这种类型的并行数据采集,J15 接头上的哪些特定引脚已经过优化,以确保最小的延迟和确定性行为?
    资源建议:是否有任何有关 AM64x 上高速并行 ADC 接口的现有 PRU 固件示例或应用手册?

    感谢您提供有关实施最佳做法的指导。

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

    您能快速回复我们的查询吗

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

    尊敬的 Vijay:

    对延迟回复深表歉意、星期五是 TI 假日、因此 Im 现在看到了您的回复。

    由于 OSPI 和闪存配置现在按预期运行、因此 Im 将该线程分配给 PRU ADC 专家。

    此致、

    Aryamaan Chaurasia

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

    尊敬的 Vijay:

    由于这是与 OSPI 和闪存相关的主题、您能否针对 PRU ADC 问题创建新主题? 然后将 PRU ADC 专家分配给新线程。

    这将有助于更好地导航要回答的问题。

    谢谢。此致、

    Aryamaan Chaurasia