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.

[参考译文] TMS320F280025C:闪存 API Fapi_doVerify 问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/985970/tms320f280025c-flash-api-fapi_doverify-problem

器件型号:TMS320F280025C

您好!

我正在使用 TMS320F280025C 器件、遇到了一个非常奇怪的问题。 我开发了用于擦除/编程/验证闪存内容的引导加载程序。 我可以成功地对器件进行编程和擦除、但无法验证闪存。 我的引导加载程序直接加载到 RAM (通过并行引导模式)并从该位置运行。 当闪存开始验证时、步骤中的所有操作都正常。。

我的代码如下所示(根据 driverlib 示例):

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
for(i=0, u32Index = Address;
(u32Index < (Address + WORDS_IN_FLASH_BUFFER));
i+= 8, u32Index+=8)
{
EALLOW;
oReturnCheck = Fapi_issueProgrammingCommand((uint32 *)u32Index,Buffer+i,8,0,0,Fapi_AutoEccGeneration);
// Wait until FSM is done with actual operation
while(Fapi_checkFsmForReady() == Fapi_Status_FsmBusy);
if(oReturnCheck != Fapi_Status_Success){
break;
}
oFSM_stat = Fapi_getFsmStatus();
if(oFSM_stat != 0)
{
oReturnCheck = Fapi_Error_FeatureNotAvailable;
break;
}
//verify
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

oReturnCheck = Fapi_doVerify 退出 Fapi_Error_FAIL、我不知道原因。 奇怪的是,当我从 CCS (CCS 10.2.0.00009)调试此代码时,代码运行良好。 但是、在加载生成的 hex 文件(从 out 文件)并加载到 RAM 并运行后、验证无效。  我已经尝试过引导 ROM 闪存 API (FlashAPI_ROM_F28002x_FPU32.lib)和软件闪存 API (FlashAPI_F28002x_FPU32)、但结果始终相同-验证仍然不起作用。

有人能解释一下、为什么程序和擦除工作正常、但验证工作不好? 是  

谢谢!

此致、

Tomas

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

    Tomas、

    失败时 ,oFlashStatusWord 中返回的信息是什么?  请检查 并查看故障位置是否有有效数据。  我们可以在此基础上进一步分析。

    谢谢、此致、

    Vamsi

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

    您好、Vamsi、

    这是一个非常奇怪的情况,因为从某种原因看来,我无法从这个状态字中获得数据。 例如、当我用空白数据(0xFFFF)对刻录数据进行通信时、算法可以识别它并显示与刻录值的比较。 但当我尝试使用一些随机数据验证烧录的数据时、在这种情况下、返回的值完全不相关、没有曲折变化-返回 的 oFlashStatusWord 不会抛出预期的数据和读取的数据。 似乎有些例外已经开始或类似的情况。 很难进行仿真、因为在调试模式下、算法会起作用。

    谢谢、

    Tomas

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

    Tomas、

    也许应用程序最终会产生一个 NMI - 我建议检查 ECC 错误。

    此外、您是否启用了看门狗?  如果是、您是否根据需要提供服务?

    在调试模式下、GEL 文件禁用看门狗和 ECC。

    谢谢、此致、
    Vamsi

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

    Tomas、

    您对此有任何更新吗?

    谢谢、此致、
    Vamsi

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

    Tomas、

    我将关闭此帖子、因为我在过去两周没有收到您的回复。  希望根据我们的建议解决这个问题。

    谢谢、此致、
    Vamsi