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.

[参考译文] TMS320F2.8335万:TMS320F2.8335万示例项目F2.8335万_FLASH_KERNEL失败。 错误代码24

Guru**** 2538950 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/653515/tms320f28335-tms320f28335-example-project-f28335_flash_kernel-failed-error-code-24

部件号:TMS320F2.8335万
主题:controlSUITE中讨论的其他部件

尊敬的团队:

新年快乐!

我们一直在F2.8335万上开发SCI引导,并使用 F2.8335万_FLASH_KERNEL作为参考。 但是,如果使用SCI bootloader发送 f2.8335万_flash_kernel.bin文件,则失败。 详情A如下。 由于我们已经调试了一段时间,但仍然存在,因此需要您的专业知识来帮助解决问题。 谢谢!

(C:\ti\controlSUITE\DEVICE_SUPPORT\F2833x\v142\DSP2833x_Examples_ccsv5\F28335_FLASH_KERNEL)2833)</s>2.8335万

1.我们编译了项目并生成了.bin文件;

2.在没有连接调试器的情况下,我们选择SCI引导并使用UART将bin固件发送到F2.8335万;

3.在 F2.8335万_FLASH_KERNEL执行过程中, CopyData()函数中的Flash_Erase()失败。 错误代码0x18;

4.请注意,如果我们使用CCS,请通过调试器下载固件并执行正常。 如果没有powercycle,我们将进入SCI引导模式,它将工作!

5.如果我们使用C2PROG,我们可以成功下载。 哪一项证明我们的硬件正常?

我们搜索了所有e2e建议(如下所示)并尝试了,但问题仍然存在。  

我们从e2e和deyisupport得到的建议--

当Flash API返回状态=24时,表示“STATUS_FAIL_PRECOMPACT”

STATUS_FAIL_PRECOMPACT:-

擦除操作失败,因为预压实部分失败。 预压将应用于设备上的所有扇区。 FLASH_ST结构将返回与此步骤中第一个失败扇区对应的失败地址。

processors.wiki.ti.com/.../FAQs

不能保证我们可以从该问题中恢复闪存。 但是,您可以尝试耗尽恢复算法,看看它是否解决了问题。 但是,如果耗尽恢复失败,您只能选择更换部件。

 

建议尝试depletion恢复,另外这上面提到的Wiki如下:

http://processors.wiki.ti.com/index.php/C2000_Flash_Common_Issues/FAQs#Depletion

我们从e2e和deyisupport得到的建议--

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个评论是,我们已在F2.8069万上验证了此程序并成功。 所以我们认为我们的bin文件是好的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    路易

    你见过这个AR吗? www.ti.com/lit/sprabv4

    我有点困惑。 您在执行SCI引导加载程序或执行SCI闪存内核时是否看到问题?

    请通过调试器加载闪存内核,然后使用调试器执行闪存内核。 然后通过SCI发送闪存应用程序,您可以通过这种方式调试内核。

    确保您的闪存应用程序完全链接到闪存,并且没有任何内容被加载到RAM中。

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

    Sal,  

    谢谢!  

    1.此问题发生在执行SCI闪存内核时。 (示例项目)。 SCI闪存内核通过SCI bootloader加载到F2.8335万。

    2.如果我们通过调试器使用加载闪存内核并使用调试器执行,则不会有问题。

    对于"确保您的闪存应用程序完全链接到闪存,并且没有任何内容加载到RAM。"

    您的意思是我们不能在RAM中执行闪存狗门应用程序吗? 为什么?

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

    您必须从RAM执行闪存内核。 您正在正确执行此操作。

    我的意思是确保通过闪存内核加载的闪存应用程序完全链接到闪存。 当闪存内核正在执行,加载和编程应用程序时,请确保该应用程序完全链接到闪存。

    如果您在Flash_Erase()过程中看到错误并看到代码0x18,请确保您正在擦除您的可用扇区。 此外,您可以尝试再次擦除,查看是否出现相同的错误。

    Vamsi,错误0x18是什么意思?

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

    当闪存擦除功能返回0x18(24)时,通常会提示问题出在闪存中,而不是SCI bootloader。 正如您所建议的,这意味着

    STATUS_FAIL_PRECOMPACT:-

    擦除操作失败,因为预压实部分失败。 预压将应用于设备上的所有扇区。 FLASH_ST结构将返回与此步骤中第一个失败扇区对应的失败地址。

    您是否在该特定设备上的每个设备(或)上都看到此问题?

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

    您好,Sal,

    感谢快速反馈!!

    当闪存内核加载到RAM并运行时,问题会在第一步出现,然后它卡住(我们尚未使用它将新固件更新到闪存)。 我们确信闪存API在RAM中。

    您能否帮助验证您的设置是否存在相同的问题。 由于使用示例项目,因此很容易重现。 感谢您的大力支持!

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

    您是否认为controlSUITE中的示例项目失败? 我只是感觉这可能只是设备问题(压实故障)。 您是否在许多设备上看到此问题?

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

    Manoj,是,示例项目失败。 我们在许多设备上观察到。 您能否验证设置是否相同? 请勿使用调试器,只能使用SCI。 谢谢。

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

    LLouis,

    controlSUITE中的示例项目是否已修改? 当您加载此示例项目时,它将被编程为闪存并从闪存运行。 我尝试使用CCS / JTAG选项将示例项目编程到闪存中,示例项目工作正常。

    您如何使用SCI将此示例项目编程为闪存? 没有直接的方法可以做到这一点。

    此致,
    Manoj

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

    您好,Manoj,

    1,本例未作修改;

    2.如上所述,您不能使用调试器进行编程或与目标连接;

    3.选择SCIA Boot (SCIA引导),然后使用UART终端将bin文件发送到F2.8335万。之后,发送 41 AA 08 00  00 00 00 00 00 00  00  00 00 00 00 00  00  00 00 00 00 00  00 30 00 00 00 00

    您能否检查您自己的程序? 非常感谢!

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

    我没有现成的设置来测试此测试。 我将与我的团队成员核实,以恢复此设置并与您联系。

    请在2-3个工作日内回复。

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

    您好,Louis:

    请将此项添加到您的闪存内核项目属性中... 请参阅随附的。

    请告诉我这是否能解决您的问题。 在我看来,内核没有正确退出,并且没有正确地分支到由内核编程的闪存应用程序。

    此致,

    SAL

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

    您是否可以通过CCS调试器将包含上述修复程序的内核加载到RAM中,然后运行该程序? 运行时,使用代码执行串行闪存编程器以加载注出的内核。 您能看到内核是否能够正确地刷新和分支到应用程序吗? 请在从main返回时设置一个断点,然后查看代码是否分支到闪存应用程序的条目地址。

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

    请使用串行闪存编程器的随附文件。

    串行闪存编程器中似乎存在其他设备上未发现的错误。 这在技术上可能不是一个错误,而是与F2.8335万和PC之间的同步有关,而这在其它设备上是看不到的。

    SAL

    e2e.ti.com/.../f05_5F00_DownloadImage.cpp