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:F2803x 在 ISR 中继续擦除和写入

Guru**** 2526340 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1301366/tms320f28035-f2803x-continue-erase-and-write-in-isr

器件型号:TMS320F28035

您好;

İ 希望继续将变量擦除写入闪存。 在 F2803x 中、程序故障掉电。 如何解决该问题? 此外、我还为 CPU 等待添加了 nop 命令。 但它不起作用。 ISR 函数如下所示;

 

秒++;
Flash_CPUScaleFactor=比例因子;
Flash_Callback PPTR=NULL;
STATUS=Flash2803x_Erase ((UINT16 *) SECTOR7_START、&ProgStatus);
ASM (" RPT #150 || NOP");
if (Status!= STATUS_SUCCESS){
asm (" ESTOP0");


//delay_US (100);
STATUS=Flash2803x_Program ((UINT16 *) SECTOR7_START、&second、1、&ProgStatus);
ASM (" RPT #150 || NOP");
if (Status!= STATUS_SUCCESS){
asm (" ESTOP0");

//delay_US (100);
asm (" NOP ");
Status=Flash2803x_Verify (((UINT16 *) SECTOR7_START、&second、1、&ProgStatus);
asm (" NOP ");
FLASH_READ ((UINT16 *) SECTOR7_START、ReadData、3);
I=0;

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

    您好、Naci、

    哪个功能导致了故障、擦除、编程或验证? 返回了什么状态(或者如果跳转到了某些错误消息/非法 ISR、请提供屏幕截图)? 您是否正在编程/擦除程序中的代码当前正在访问的任何内容?

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

    是的、在闪存确定的扇区中的第二个变量写入。 但首先、程序可以编写它。 但第二阶段和下一阶段都存在故障。 状态值为40、因此验证错误

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

    之后、我将添加一个额外的验证函数、状态值为31、因此 STATUS_FAIL_ZERO _BIT_ERROR

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

    您好、Naci、

    请参阅 F2803x 的闪存 API 用户指南(步骤14:返回状态值)中的以下信息:

    请尝试验证每条状态错误消息中提及的注释。 此外、请确保未对程序中其他代码当前正在访问的任何扇区进行编程/擦除(编程和擦除需要在没有任何干扰的情况下进行)。