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.

[参考译文] AM263P4:QSPI S25FL128S 闪存写入问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1529411/am263p4-qspi-s25fl128s-flash-writing-trouble

器件型号:AM263P4
Thread 中讨论的其他器件: AM2634、TMDSCNCD263 、UNIFLASH、 SYSCONFIG

工具/软件:

您好、TI 专家。

我在将 QSPI 闪存存储器 S25FL128S 与 AM263P4 定制板配合使用时遇到一些问题。

-----

我使用 S25FL128S 设计了 AM2634 定制测试板、比如 TI TMDSCNCD263 评估板。

通过 TI UART_uniflash 和 QSPI 引导中写入闪存似乎没有问题。

出于一些原因、我将 AM2634 更改为 AM263P4。

-----

为了将 QSPI S25FL128S 与 AM263P4 一起使用、我应修改两个 SBL 程序 — sbl_uart_uniflash 和 sbl_ospi_morple_elf。

很遗憾、S25FL128S 不支持 SFDP 功能。

这是 AM2634 的 TI sbl_uart_uniflash 中 SysConfig 的闪存设置、用于比较。 (MCU+SDK AM263x 10.01.00.31)

我加载了 JSON 文件 (source\sysconfig\board\.meta\flash\S25FL128SA_ospi.json)、用于设置 AM263P4 SysConfig 设置。

-闪存设备:自定义闪存

-名称: S25FL128SA

-加载 JSON 文件

-协议 1S-1S-4S

-四通道启用类型: 1.

- OSPI 引脚设置修改

这是 AM263P4 自定义 SBL_UART_uniflash 中 SysConfig 的闪存设置。 (MCU+SDK AM263Px 10.02.00.15)

修改闪存并删除 EEPROM 设置/闪存复位后、LED 闪烁示例在 QSPI (4S) 引导时适用。

-----

我创建了我的大应用程序并加载了闪存偏移 0x81000、但失败了。

我将偏移量更改为 0x1000、并发现根据偏移量、它可能会成功还是失败。

根据应用(可能是大小)的不同、它可能会成功、也可能失败。

偏移量 0x0 在刷写文件时没有失败。

使用具有相同修改序列的 JTAG uniflash 程序时、刷写始终只在芯片擦除后才会成功。

-----

为了进行比较、我尝试 在我的定制 AM2634 板和 TI  TMDSCNCD263 评估板上使用 0x1000 的另一个偏移量加载“sbl_null.release.tiimage"文件“文件。  (UART uniflash)

令人惊讶的是它有时失败了。

-----

我不知道如何解决这个问题。

1.为什么在 TI TMDSCNCD263 板中、另一个偏移量为 0x1000 时、刷写失败?

2. AM263P4 和 S25FL128S SysConfig 设置中的错误是什么?

3. AM263P4 UART uniflash 中的 S25FL128S 是否需要“--operation=flash-phy-tuning-data"?“?

4、其他检查点吗?

-----

此致、

Jeuk Chang

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [quote userid=“473084" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1529411/am263p4-qspi-s25fl128s-flash-writing-trouble AM263P4 和 S25FL128S SysConfig 设置中的错误是什么?

    您能尝试禁用 4 字节寻址模式吗

    此外、确保 OSPI 时钟以 50MHz 或更低的频率运行。

    [quote userid=“473084" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1529411/am263p4-qspi-s25fl128s-flash-writing-trouble AM263P4 UART uniflash 中的 S25FL128S 是否需要“--operation=flash-phy-tuning-data"?“?

    否此步骤不适用于 S25FL128S 闪存、此步骤仅适用于高速运行的 OSPI 闪存。

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

    您好、Nilabh Anand。

    我尝试更改以下设置、但不起作用。

    -写入/页面编程命令

    -启用 4 字节寻址

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

    我省略了 OSPI 时钟速度检查。

    如我的 SysConfig 设置所示、实际测得的 OSPI 时钟速度为 25MHz。 (100MHz / 4)

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

    尊敬的 Jeeuk:

    我们在 AM263Px 上对此进行了测试、工作正常。

    它可以指向:1. 硬件连接有故障?

    是否可以运行闪存诊断示例: https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/EXAMPLES_DRIVERS_OSPI_FLASH_DIAG.html

    您是否通过了测试?

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

    如果通过了该测试、则可以运行 OSPI 闪存 IO 示例(可能需要修改,因为这是定制电路板,从 syscfg 中删除闪存复位 API 和其他您在电路板上未使用的内容)

    尝试遵循此常见问题解答进行顺序测试:

    software-dl.ti.com/.../EXAMPLES_DRIVERS_OSPI_FLASH_DIAG.html

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

    你好 Nilabh Anand。

    我在 3 周前测试了闪存诊断示例。

    S25FL128S 闪存不支持 SFDP 功能。

    输出低于。

    我按照您的建议修改了 OSPI 闪存 IO 示例、并今天对其进行了测试。

    结果仅显示“所有测试均已通过!!“。

    我还通过更改“APP_OSPI_FLASH_OFFSET_BASE"值“值来测试该程序。

    -----

    TI 为 AM2634 和 AM263P4 的刷写和引导提供的大多数程序使用“块擦除“(闪存除外)来进行 OSPI 引导。

    例如、mcelf_sbl_ospi.cfg 如下所示。

    “--operation=flash"将“将按块大小擦除闪存、偏移应为块大小的倍数。

    “--option=flash-sector-write"将“将按扇区大小擦除闪存、偏移量应为块大小的倍数。

    在 S25FL128SAGNFI000 的 SysConfig 设置中、块大小为 64KB (0x10000)、扇区大小为 4KB (0x1000)。

    与 AM2634 mcelf_sbl_qsp.cfg 不同、AM263P4 mcelf_sbl_ospi.cfg 使用扇区擦除函数、因为应用程序的闪存偏移为 0x81000。

    (0x80000~0x80FFF 定义为 SBL OSPI 处的闪存 BOOTINFO,并特意保留。)

    遗憾的是、根据数据表中的理解、S25FL128S 在 0x81000 区域不支持 4KB 扇区擦除命令。

    (S25FL128S 数据表、第 47~49 页、第 112~113 页)

    为避免修改 uniflash 或 SBL ospi、我会考虑 替换 QSPI 闪存存储器。

    -----

    然后、我对 AM263P4 的 OSPI 引导有新问题。

    闪存存储器中 0x80000~0x80FFF 的区域是什么?

    该区域的数据何时闪烁?何时使用数据?

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

    尊敬的 Jeeuk:

    然后、我对 AM263P4 的 OSPI 引导有新问题。

    闪存存储器中 0x80000~0x80FFF 的区域是什么?

    该区域的数据何时闪烁?何时使用数据?

    [/报价]

    这个 OSPI PHY 调优数据、您可以在此处阅读更多相关信息: www.ti.com/.../spract2.pdf

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

    您好、Nilabh Anand。

    我将 S25FL128S 替换为 IS25LP128、后者在整个闪存区域具有可工作的 4KB 擦除命令。

    修改 SysConfig 的一些闪存设置(JSON 加载不足)后、我的定制 AM263P4 板可以正常工作、而不会出现任何问题。

    最好通知在选择闪存存储器时、从 0x81000 地址运行 4KB 擦除功能。

    请注意、

    Jeuk Chang

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

    很高兴知道 Jeeuk、我一定会要求团队在 Flash 选择指南中提供反馈。

    www.ti.com/.../sprt770.pdf