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.

[参考译文] AM261x-LP Opi1闪存示例

Guru**** 2460380 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1476204/am261x-lp-ospi1-flash-example

器件型号:LP-AM261
主题中讨论的其他器件:SysConfig

工具与软件:

您好!

我想使用 ospi1添加自定义 NOR 闪存、因此我尝试在 AM261x-LP 板上运行 ospi flash 诊断示例。 我可以像样例一样获得 opi0信息输出。  

但是、当我测试板载闪存 opi1时、它无法正常工作。 输出显示错误的闪存 ID、同时"某些测试已失败!"。

BTW、我将使用 CCS 20.0.1和 UART 引导加载程序。  

请告诉我如何解决这个问题。

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

    尊敬的 Rijohn:

    感谢您的答复。 但我使用的是 am261x MCU、而不是 am263px。 我已将 CCS 切换到版本12.8.1、

    但是、我仍然遇到相同的误差。 运行 opi0 的 ospi 闪存诊断示例 很好、但在 opi1下不起作用。

    SysConfig

    此外、我尝试运行 ospi 闪存双 IO 示例、输出信息如下所示:

    所以我仍然不知道 opi1是否可以工作。

    为了运行这两个示例、我还需要做什么修改吗?

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

    尊敬的  Shengzhe:

    您能否共享 example.sysconfig 文件。 和 SysConfig 中 OSPI 选项卡的屏幕截图。
    从上面的屏幕截图中可以看出、输入时钟频率看起来是错误的。 您是否可以尝试将其变为166666666 (166MHz
    )  

    此致、
    Rijohn

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

    尊敬的 Rijohn:

    我似乎无法直接上传 example.sysconfig 文件、因此必须上传 zip 文件。

    e2e.ti.com/.../73067.example.zip

    并且我已将输入时钟频率更改为166MHz、它仍然无法正常工作。

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

    尊敬的  Shengzhe:

    感谢您的答复。
    您能检查一下这个.out 是否有效吗?

     e2e.ti.com/.../ospi_5F00_flash_5F00_diag.debug.out

    此致、
    Rijohn

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

    尊敬的 Rijohn:

    感谢您的工作。
    我已在板上运行该.out 文件。 这次可以获取正确的闪存 ID 信息、但会停留在"执行读写测试"。

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

    尊敬的 Shengzhe:

    感谢您的答复。

    在早期发布版本中、驱动程序级别似乎存在一些差异。
    我将 此查询转发给 SDK 团队、以提供有关驱动程序更改的信息。

    此致、
    Rijohn

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

    尊敬的 Rijhon:

    很高兴知道您已经找到了问题、并期待您对解决方案的尽快回复。

    谢谢!

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

    尊敬的 Rijhon:

    我还在研究这个 opi1问题。 有任何进展?

    您能提供项目文件吗?

    谢谢!

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

    尊敬的 Shengzhe:

    感谢您的耐心。

    MCU+SDK 团队将在一周结束前共享更新后的补丁文件。

    谢谢、此致、
    Rijohn

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

    尊敬的 Shengzhe:

    您可以尝试一下这个.out 吗?
    e2e.ti.com/.../ospi_5F00_flash_5F00_diag.debug_2800_1_2900_.out

    谢谢、此致、
    Rijohn

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

    尊敬的 Rijohn:

    完美!

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

    尊敬的 Shengzhe:

    很高兴听到这个消息!!
    我将在从 SDK 团队那里获得新补丁后立即共享(在 EOW 之前)。

    谢谢、此致、
    Rijohn

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

    尊敬的 Rijohn:

    非常感谢! 我可以在其他器件上工作一段时间、然后我才会收到您的回复。

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

    尊敬的 Rijohn:

    我想知道是否有任何进展?

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

    尊敬的 Shengzhe:

    感谢您的耐心。

    应用 OSPI1 macronix 补丁的步骤

    1. 在 C:\ti\mcu_plus_sdk_am261x_10_00_01_10处打开终端
    2. Git 初始化
    3. 将.githignore 文件复制到  C:\ti\mcu_plus_sdk_am261x_10_00_01_10
      1.  e2e.ti.com/.../.gitignore
    4. 对这些文件进行分级并执行初始提交。
    5. 现在应用新的修补程序文件:git Apply <.patch file>

      1. e2e.ti.com/.../ospi_5F00_changes_5F00_macronix.patch
    6. 将 MX25UW064.json 文件复制到以下路径: C:\ti\mcu_plus_sdk_am261x_10_00_01_10\source\sysconfig\board\.meta\flash
      1. e2e.ti.com/.../MX25UW064.json
    7. 完成上述步骤后、构建这些库:  
      1. gmake -SJ libs-scrub 曲线=调试
      2. gmake -sj12 libs profile=debug
    8. 在 CCS 中导入 osspi_diag 示例
    9. 在 SysConfig 中添加新的 MPU 区域、如下图所示

    10. 确认 OSPI 实例已设置为 OSPI1、信号/引脚已正确设置、如下所示:
    11. 保存 example.syscfg 文件并构建应用程序并运行:

      1. [Cortex_R5_0] [OSPI Flash Diagnostic Test] Starting ...
        [OSPI Flash Diagnostic Test] Flash Manufacturer ID : 0xC2
        [OSPI Flash Diagnostic Test] Flash Device ID : 0x8137
        [OSPI Flash Diagnostic Test] Executing Flash Erase on first block...
        [OSPI Flash Diagnostic Test] Done !!!
        [OSPI Flash Diagnostic Test] Performing Write-Read Test...
        [OSPI Flash Diagnostic Test] Write-Read Test Passed!
        [QSPI Flash Diagnostic Test] SFDP Information :
        ================================================
        SFDP
        ================================================
        SFDP Major Revision : 0x1
        SFDP Minor Revision : 0x8
        Number of Parameter Headers in this Table : 5
        
        Types of Additional Parameter Tables in this flash
        ---------------------------------------------------
        STATUS CONTROL AND CONFIGURATION REGISTER MAP TABLE
        OCTAL DDR MODE COMMAND SEQUENCE TABLE
        NOR SPI PROFILE TABLE
        4 BYTE ADDRESSING MODE INSTRUCTIONS TABLE
        
        Parsing of OCTAL DDR MODE COMMAND SEQUENCE TABLE table not yet supported.
        JSON Data for the flash :
        
        {
        
        "flashSize": 8388608,
        "flashPageSize": 256,
        "flashManfId": "0xC2",
        "flashDeviceId": "0x8137",
        "flashBlockSize": 65536,
        "flashSectorSize": 4096,
        "cmdBlockErase3B": "0xD8",
        "cmdBlockErase4B": "0xDC",
        "cmdSectorErase3B": "0x20",
        "cmdSectorErase4B": "0x21",
        "protos": {
        "p111": {
        "isDtr": false,
        "cmdRd": "0x03",
        "cmdWr": "0x02",
        "modeClksCmd": 0,
        "modeClksRd": 0,
        "dummyClksCmd": 0,
        "dummyClksRd": 0,
        "enableType": "0",
        "enableSeq": "0x00",
        "dummyCfg": null,
        "protoCfg": null,
        "strDtrCfg": null
        },
        "p112": {
        "isDtr": false,
        "cmdRd": "0xFF",
        "cmdWr": "0x02",
        "modeClksCmd": 0,
        "modeClksRd": 0,
        "dummyClksCmd": 0,
        "dummyClksRd": 0,
        "enableType": "0",
        "enableSeq": "0x00",
        "dummyCfg": null,
        "protoCfg": null,
        "strDtrCfg": null
        },
        "p114": {
        "isDtr": false,
        "cmdRd": "0xFF",
        "cmdWr": "0x02",
        "modeClksCmd": 0,
        "modeClksRd": 0,
        "dummyClksCmd": 0,
        "dummyClksRd": 0,
        "enableType": "0",
        "enableSeq": "0x00",
        "dummyCfg": null,
        "protoCfg": null,
        "strDtrCfg": null
        },
        "p118": null,
        "p444s": null,
        "p444d": null,
        "p888s": null,
        "p888d": {
        "isDtr": true,
        "cmdRd": "0xEE",
        "cmdWr": "0x12",
        "modeClksCmd": 0,
        "modeClksRd": 0,
        "dummyClksCmd": 4,
        "dummyClksRd": 20,
        "enableType": "0",
        "enableSeq": "0x04",
        "dummyCfg": {
        "isAddrReg": true,
        "cmdRegRd":"0x71",
        "cmdRegWr":"0x72",
        "cfgReg":"0x00000003",
        "shift":0,
        "mask":"0x01",
        "bitP":0
        },
        "protoCfg": {
        "isAddrReg": true,
        "cmdRegRd": "0x71",
        "cmdRegWr": "0x72",
        "cfgReg": "0x00000000",
        "shift": 0,
        "mask": "0x00",
        "bitP": 0
        },
        "strDtrCfg": {
        "isAddrReg": true,
        "cmdRegRd": "0x71",
        "cmdRegWr": "0x72",
        "cfgReg": "0x00000000",
        "shift": 1,
        "mask": "0x00",
        "bitP": 1
        }
        },
        "pCustom": {
        "fxn": null
        }
        },
        "addrByteSupport": "1",
        "fourByteAddrEnSeq": "0x20",
        "cmdExtType": "INVERSE",
        "resetType": "0x10",
        "deviceBusyType": "1",
        "cmdWren": "0x06",
        "cmdRdsr": "0x05",
        "srWip": 0,
        "srWel": 1,
        "cmdChipErase": "0xC7",
        "rdIdSettings": {
        "cmd": "0x9F",
        "numBytes": 5,
        "dummy4": 0,
        "dummy8": 0
        },
        "xspiWipRdCmd": "0x05",
        "xspiWipReg": "0x00000000",
        "xspiWipBit": 0,
        "flashDeviceBusyTimeout": 20000000,
        "flashPageProgTimeout": 152
        }
        
        All tests have passed!!


    谢谢、此致、
    Rijohn


        

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

    尊敬的 Rijohn:

    我跟着这些步骤,它起作用了。

    再次感谢您和您的队友