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.

[参考译文] F29H850TU:闪存错误

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1660470/f29h850tu-flash-error

器件型号: F29H850TU

我使用程序“flash_mode0_128_program“进行仿真、然后停止运行并再次开始仿真。 出现以下错误。

C29xx_CPU1:在使用闪存插件执行任何闪存操作之前:

C29xx_CPU1:(a) 请选择将用于 CPU 操作的存储体模式 — 存储体模式 0、存储体模式 1、存储体模式 2、存储体模式 3。

C29xx_CPU1:(b) 请选择用户希望在闪存插件 GUI 中擦除闪存插件的闪存组。

C29xx_CPU1:将数据加载到.out 文件中的 SECCFG 内存区域时、可以选择要使用的选项

C29xx_CPU1:警告 — 擦除 SECCFG 将擦除可编程 OTP、请谨慎继续(器件可能会被锁定)。
C29xx_CPU1:仅在必要时启用 NonMain 扇区擦除。

C29xx_CPU1:对 NonMain BANKMGMT 设置进行编程以设置存储体模式时、请检查闪存存储体模式选择

C29xx_CPU1:在恢复操作之前、用户配置设置中将与设置模式匹配。

C29xx_CPU1:对 BANKMGMT 进行编程后、必须通过 XRSn 将器件复位以启用新配置。

C29xx_CPU1:注意:加载多核闪存示例时、请在编程之前确保器件处于正确的存储体模式。

C29xx_CPU1:存储体模式 2 和存储体模式 3 可用于多核闪存编程。

C29xx_CPU1:正在复位目标...

C29xx_CPU1:已完成目标复位...

C29xx_CPU1:为 200MHz 配置了 PLL

C29xx_CPU1:写入 INIT 算法时出错。 闪存算法返回错误代码。 操作已取消。

C29xx_CPU1:文件加载程序:内存写入失败:未知错误

C29xx_CPU1:GEL:文件:C:\Users\M00023883\workspace_ccstheia\led_test\flash\led_test.out:加载失败。

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

    补充说明:当新项目添加这些代码然后进行模拟时、发生闪屏异常错误。 我怀疑芯片可能被锁定。 请帮助确认。添加的代码如下:

       //

      //为 CPU1 请求信标

      //

      if(!SSU_claimFlashSemaphore ())

      {

        //

        //如果无法声明信标、则停止执行

        //

        Example_Error (0);

      }

     

      Fapi_Status 类型返回检查;

     

      //

      //获取当前 FOTA 配置。 该变量被传递到

      //作为大多数函数的参数、如果处于模式 1 或 3、则确定

      //更新区域是否将被写入

      //

      u32UserFlashConfig = Fapi_getUserConfiguration (BankType、FOTAStatus);

      //

      //设置闪存 API 存储体模式配置。 地址映射

      //将用于编程和擦除操作。 是否满足特定需求

      //用例、这应该与器件当前编程的存储体模式相匹配

      //

      oReturnCheck = Fapi_Set FlashCPUConfiguration (Mode0);     

      if (oReturnCheck!= Fapi_Status_Success)

      {

        //

        //检查闪存 API 文档是否存在可能的错误

        //

        Example_Error (oReturnCheck);

      }

      //

      //通过提供闪存寄存器基地址来初始化闪存 API

      //和工作频率(以 MHz 为单位)。

      //根据系统初始化闪存 API 需要该函数

      //频率才能执行任何其他闪存 API 操作。

      //只要系统频率或 RWAIT 为、也必须调用该函数

      //已更改。

      //

      oReturnCheck = Fapi_initializeAPI ((Fapi_Fmc FLASHCONTROLLER1_BASE、200);

      if (oReturnCheck!= Fapi_Status_Success)

      {

        //

        //检查闪存 API 文档是否存在可能的错误

        //

        Example_Error (oReturnCheck);

      }

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

    Chuhao、  

    我想真诚地为等待道歉... 我们遇到了内部问题、直到现在才看到该主题。

    再次对延迟感到抱歉。 我已采取措施、找到一位负责人来尽快回答您的问题!

    我会有一位 有关该主题的工程师关闭它并为您提供所需的支持。

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

    尊敬的 Chuhao:

    为延迟道歉、

    当新项目添加这些代码并进行仿真时、发生了闪存异常错误

    “传导仿真“是什么意思? 用户对代码进行了编程并尝试从该代码执行吗? 如果是、收到的异常错误是什么?在过程的哪个部分、他们看到了此错误(即在编程时或执行期间)?

    然后停止运行它并再次启动仿真。 出现以下错误。

    问题是仅出现在该示例还是 SDK 中的任何闪存示例中?

    您能否帮助确认该器件是否位于 BANKMODE0 中?

    此致、
    Marlyn