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.

[参考译文] TMDS64EVM:OSPI 闪存擦除

Guru**** 2419530 points
Other Parts Discussed in Thread: TMDS64EVM, UNIFLASH

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1533512/tmds64evm-ospi-flash-erase

器件型号:TMDS64EVM
Thread 中讨论的其他器件: UNIFLASH

工具/软件:

您好:

如果我需要擦除 TMDS64EVM 板上的 OSPI 闪存、我应该使用什么 python 命令?

谢谢、

Huynh

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

    您好、

    只需确认您是否要通过 python 命令擦除闪存内容、在这个命令中我们传递配置文件.cfg 并通过 UART uniflash 或通过应用程序级别传输?

    此致、

    Vaibhav

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

    两者都更好。 如果不是、则可以使用前面的方法 (python)。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    两者都更好。 如果不是、则前面的方法 (python) 可以。

    从应用程序中执行此操作非常简单、您可以在其中调用顶级函数:flash_erase。 要查看示例实现、请阅读以下链接以查看示例:

    现在要通过 python 命令进行擦除、要执行该操作、需要将一些参数写入.cfg 文件中、该文件位于 C:\ti\mcu_plus_sdk_am64x_11_00_00_15\tools\boot\sbl_prebuilt\am64x-evm 下

    假设您使用的.cfg 文件名为: default_sbl_ospi.cfg

    您需要写出以下行:  

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

    1、“您在其中调用顶级函数:flash_erase“。 系统  

    int32_t Flash_eraseBlk (Flash_Handle 句柄uint32_t blockNum);   
       和/或
    int32_t Flash_eraseSector (Flash_Handle 句柄uint32_t sectorNum);
    flash.h 中找到
    您是否希望对每个块/扇区重复擦除?
    2. default_sbl_ospi.cfg 中的闪存擦除 python 命令是否正确 3 个命令?
    -- flash-writer=sbl_prebuilt/am64x-evm/sbl_uart_uniflash.release.hs_fs.tiimage
    #对 OSPI PHY 调优攻击向量进行编程
    --操作=flash-phy-tuning-data
    #闪存擦除
    -- operation = erase --erase-size = 0x4000000 --闪存偏移= 0x0
    我添加了--flash-offset = 0x0。 不知道从 0x0 开始擦除是否有任何好处。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    [引述 userid=“555281" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1533512/tmds64evm-ospi-flash-erase/5904760 #5904760“]

    1、“您在其中调用顶级函数:flash_erase“。 系统  

    int32_t Flash_eraseBlk (Flash_Handle 句柄uint32_t blockNum);   
       和/或
    int32_t Flash_eraseSector (Flash_Handle 句柄uint32_t sectorNum);
    flash.h 中找到
    [/报价]

    要使用的函数调用取决于闪存的配置模式。

    目前在 MCU PLUS SKD 驱动器中、默认情况下、其配置为在统一模式下工作、而不是在混合模式下工作。

    要了解有关这些模式(统一模式与混合模式)的更多信息、请参阅以下常见问题解答:  https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1492859/faq-am62x-am62px-am62d-q1-am64x-am243x-4kb-sector-erase-fails?tisearch=e2e-sitesearch&keymatch=faq%3Atrue

    因此、如果闪存以统一模式运行、则解决方法是使用擦除块 API、否则对于混合模式、可以针对闪存的少数地址执行擦除扇区、并可针对闪存的其余地址执行擦除块。

    希望这有助于回答您的疑问。

    [引述 userid=“555281" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1533512/tmds64evm-ospi-flash-erase/5904760 #5904760“]
    2. default_sbl_ospi.cfg 中的闪存擦除 python 命令是否正确 3 个命令?
    -- flash-writer=sbl_prebuilt/am64x-evm/sbl_uart_uniflash.release.hs_fs.tiimage
    #对 OSPI PHY 调优攻击向量进行编程
    --操作=flash-phy-tuning-data
    #闪存擦除
    -- operation = erase --erase-size = 0x4000000 --闪存偏移= 0x0
    [/报价]

    我假设您要执行 完整闪存擦除、例如提供的大小为 64MB。  

    嗯、这意味着、上面的行将导致首先写入 phy 调优数据、然后擦除整个闪存、因此到目前为止没有使用上述行。

    也可以在 0x0 偏移处擦除。

    要了解闪存 PHY 调优数据线的作用、请参阅以下常见问题解答:  e2e.ti.com/.../faq-sk-am64b-what-is-the-purpose-of---operation-flash-phy-tuning-data

    此致、

    Vaibhav