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-Q1:重试后、Board_driversOpen 上的 ospi_flash_io 样本程序失败

Guru**** 2456570 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/1484139/am263p4-q1-ospi_flash_io-sample-program-fails-at-board_driversopen-after-retrying

器件型号:AM263P4-Q1
主题中讨论的其他器件:SysConfig

工具与软件:

大家好、团队成员:

我的客户正在测试两个版本的 MCU+ SDK (9.2和10.1)

它们使用 ospi_flash_io 示例、但两者都是跨问题运行的。

在具有以下环境 A 的 SDK9.2上、他们可以在加电后第一次运行程序、日志输出"所有测试均已通过!"  然而,当他们 CPU 重置并再次尝试运行程序时,或者当他们按下终止调试并尝试再次调试程序而不关闭电源循环时,程序会在 Board_driversOpen ()函数上收到错误。

在下面带有环境 B 的 SDK10.1上、在它们从 example.syscfg 文件中删除 DPL CFG 行后、在上电成功后首次运行该程序、但在之后任何不进行下电上电的尝试都将导致 Board_driversOpen ()函数出错。  

问题: Board_driversOpen ()在重试后导致错误的错误可能是什么?

环境 A:  

  • CCS:12.7.1
  • SDK:9.2.0.56
  • SysConfig:1.20.0
  • 工具链:3.2.2

环境 B:

  • CCS:12.7.1
  • SDK:10.1.0.31
  • SysConfig:1.21.2
  • 工具链:4.0.1

此致、

Mari Tsunoda.

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

    尊敬的 Mari:

    DPL CFG 配置是演示示例正常运行所必需的 SysConfig。 DPL CFG 负责启用系统中的所有 IRQ 中断。  

    删除此项不会启用中断、并会影响内部外设的工作。  

    我是否可以知道为什么需要在 ospi 闪存示例中禁用 DPL CFG?

    在 v10.1 SDK 中、该示例似乎起作用(启用了 DPL CFG)。

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

    尊敬的 Aswin:

    我已要求他们不要删除 DPL CFG。 他们将其删除、因为这条线似乎是出于某种未知原因解决问题的。

    您是否知道当 driverOpen () API 尝试重建和调试几次时,有时会导致问题,而不会导致其他问题?

    此致、

    Mari Tsunoda.

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

    尊敬的 Mari:

    如前面所述、由于 DPL CFG 启用中断、因此需要 DPL CFG。

    您是否能够准确地检查 driverOpen ()中的问题所在的位置?  

    删除或 DPL CFG 是否与 driverOpen()中的问题有关?

    此致、

    Aswin

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

     e2e.ti.com/.../1777.flash_5F00_nor_5F00_ospi.c

    尊敬的 Mari:

    您能否按照以下步骤操作、

    1.在 MCU PLUS SDK 9.02.00.55 、请访问 source\board\flash\ospi 来实现的  flash_nor_ospi.c 初始文本文件

    2.在源文件内、替换的定义  静态空 Flash_norOpiClose (Flash_Config *配置) 功能。  

    static void Flash_norOspiClose(Flash_Config *config)
    {
        Flash_NorOspiObject *obj = (Flash_NorOspiObject *)(config->object);
    
        /* Disable the PHY */
        OSPI_disablePhy(obj->ospiHandle);
    
        /* Reset the flash such that other modules can initialise the
         *  Flash config registers again.
         */
        (void)Flash_norOspiReset(config);
    
        obj->ospiHandle = NULL;
    
        /* OSPI Driver will be closed outside flash */
    
        return;
    }

    此外、如果您可以将源文件替换为我附加的文件[ flash_nor_ospi.c ]。

    3.从 SDK 基础目录中打开命令终端。

    4.使用以下命令构建电路板和驱动程序库:

    gmake -j -f makefile.am263px drivers_r5f.ti-arm-clang board_r5f.ti-arm-clang 

    5.在 Code Composer Studio 中、打开工程并进行调试。 在第一次迭代后、按下 CPU RESET 并再次尝试调试。

    此致、

    Aswin