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.

[参考译文] TMS320F28377S:串行闪存编程器校验和错误

Guru**** 2455360 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/831715/tms320f28377s-serial-flash-programmer-checksum-error

器件型号:TMS320F28377S
主题中讨论的其他器件:C2000WARE

您好!

我尝试使用串行闪存编程器对 f28377进行编程。 内核加载成功。 但是、当我选择 DFU 时、我会收到如下消息。 是否有关于此错误消息的建议? 如何解决此问题?

谢谢  

2a==2a
d0==d0
94==94
48==48
3==3
ef=ef
1==1
9a==9a
2==2
6F==6F
2==2
9a==9a
6==6
0==0
0==0
0==0
传输的比特率/s 为:2325.741211
内核已加载! 正在启动内核...
已等待内核启动...
正在尝试自动波特发送功能消息...
您要执行什么操作?
        1-DFU    
     2-擦除       
     3-验证     
     4-解锁区域1
     5-解锁区域2      
     6运行  
     7-复位      
        完成
1

调用 f021_SendPacket

发送函数数据包时出现 NACK 错误... 请按 Ctrl-C 组合键中止.down
正在将 blinky.txt 加载到设备...

校验和不匹配... 请按 Ctrl-C 中止。

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

    您好!

    希望您使用 了来自\C2000Ware_X_XX_XX_XX\device_support\f2837xs\examples\CPU1\blinky、闪存配置的示例

    并使用了正确的选项 hex2000.exe -boot -sci8 -a -o 以创建.txt 文件。

    请修改闪烁链接器命令文件以对齐128位上的段、即使用 align (8)而不是 align (4)。

    您能否尝试在编程之前擦除闪存、即在使用选项1之前使用选项2。

    您能否尝试执行进一步调试以了解问题?

    设备似乎没有从主机 PC 接收到正确的数据包。 您可以通过 JTAG 加载内核并在连接 JTAG 的情况下使用串行闪存编程器将闪存应用程序与内核通信来调试此问题。

    将 Visual Studio 项目用于串行闪存编程器并注释掉 DownloadKernel ()函数。 然后、您可以运行内核和串行闪存编程器、该编程器将发送闪存应用程序。

    参考:   

    谢谢、

    Katta

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

    您好、Krishna、

    问题得到解决。 但还有另一个问题。 我收到如下错误消息

    错误状态:verify_error

    错误地址:0x0  

    解决方案是否与您提供的建议相同?  

    谢谢。  

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

    您好!

    shared_Verify.c 中存在一个已知问题、将在下一个 c2000ware 版本中修复。

    如果您需要紧急更新文件、可将 miniBuffer 从大小4扩展到8、并在文件中的其他位置进行相应更新。

    如果您需要帮助、请告诉我。

    谢谢、

    Katta

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

    您好!

    我扩展了 miniBuffer 的大小并在其他地方进行了更新。 但是、在选择 DFU 选项后、我仍然会在选择 Verify 选项后收到相同的错误。 是否存在不同类型的错误?

    此致。  

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

    您好!

    希望您已经分配了 miniBuffer[4]-miniBuffer[8]并递增了 BlockHeader.DestAddr += 0x8  

    请附加您的文件。 我将看到是否需要任何校正。

    谢谢、

    Katta

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

    您好!

    我使用"cpu_flash"构建选项运行应用程序代码。 并且错误消息发生了变化。 不过、我还是收到了以下消息。

    错误消息:blank_error

    错误地址:0x8200  

    什么可能是问题? 我在论坛上搜索、但看不到任何有关 blank_error 的帖子。

    此致  

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

    您好!

    您能否在尝试编程之前擦除所有扇区?  

    可以通过一种方法来调试该问题。 我已在第一次答覆中解释过。

    谢谢、

    Katta

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

    您好、Krishna、

    当我选择擦除选项并键入"all"时、我将收到如下所示的相同错误消息

    错误状态:blank_error

    错误地址:0x8000  

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

    尊敬的 John:

    您可以在 shared_erase.c 文件中添加

           while (fapi_checkFsmForReady ()=fapi_Status_FsmBusy);

    oReturnCheck = Fapi_issueODE19 CommandWithAddress (Fapi_EraseSector、(uint32 *)(sectAddress[i]));

    使用更新的内核构建尝试应用程序。

    如果您看到行为发生任何变化、请告诉我。

    谢谢、

    Katta