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.

[参考译文] TMS320F28035:只在连接了调试器时才可使用 Flash_Program

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/594198/tms320f28035-flash_program-works-only-when-debugger-is-attached

器件型号:TMS320F28035

您好!

我在使用 TMS320F28035的 Flash_Program 函数时遇到错误。 错误代码为 STATUS_FAIL_PROGRAM (30)、我不知道如何操作
找出原因。

我正在尝试对 EEPROM 进行仿真、如"应用报告 SPRAB69–2009年9月"中所述。 出现错误
当进入 F280xx_EEPROM.c 中定义的写入函数时

状态= Flash_Program (Page_Pointer、Page_Status、Length、& ProgStatus);

(状态在 CAN 消息内部发送以进行调试)

另一方面、在 Code Composer Studio 中使用调试模式时、一切工作正常。
我可以在没有 Flash_Program 错误的情况下写入仿真 EEPROM (连接了调试器)。

在 Code Composer Studio 之外,Flash_Program()函数在中的函数内不起作用
F280xx_EEPROM.c 文件、但它在引导加载程序内部工作。 因此、我认为没有时序问题。

您是否知道原因是什么?

此致

Hendrik

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

    Hendrick、

    您能否确认在 CCS 中使用片上闪存编程器(闪存插件)时是否能够清除/擦除/编程?

    此致、

    曼诺伊

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

    请查看此帖子、看看它是否为您提供了任何见解: https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/580852/2132291#2132291

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的帮助、但最后我的同事找到了正确的答案。 我使用的是示例文件 F280xx_EEPROM_Example.c、您可以在其中找到这些行

    Flash_CPUScaleFactor = scale_factor;
    Flash_CallbackPtr =空;

    它们负责闪存编程的时序问题。 缺少的是 EALLOW 和 EDIS 语句。 那么、将这些行更改为

    EALLOW;
    Flash_CPUScaleFactor = scale_factor;
    Flash_CallbackPtr =空;
    EDIS;

    解决了问题。 如果您更改 sprab69.zip 中的示例文件、这将是一件好事

    谢谢