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.

[参考译文] TMS320F280025:在程序加载/闪存操作后、Uniflash 无法运行目标

Guru**** 2551300 points
Other Parts Discussed in Thread: UNIFLASH, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1234615/tms320f280025-uniflash-can-not-run-target-after-program-load-flash-operation

器件型号:TMS320F280025
主题中讨论的其他器件:UNIFLASHC2000WARE

您好、专家:  

F280025、Uniflash 无法 重置器件并在编程 hex 文件后运行、可以使用 out 文件重置器件、  

但 在下载 hex 文件时无法重置和运行代码、这可能是一个错误、可以通过 TI c2000ware 示例复制、

您能帮助检查是否有任何问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Unknown 说:
    F280025、Uniflash 无法 重置器件并在编程 hex 文件后运行、可以使用 out 文件重置器件、 

    使用十六进制文件编程后、断开再重新连接调试器(USB)电缆后、该程序是否运行?

    Unknown 说:
    您能帮我检查一下是否有问题吗?

    在这种情况下、调试探针可能会保持连接状态、此时程序将无法运行。 尝试 德语 选择以下选项:

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

    尊敬的 Kier:

    您可以使用以下示例代码在 F280025_launchpad 中重现此问题、LED 在下载出文件后闪烁、

    但从不在下载 hex 文件后更改。  

     e2e.ti.com/.../launchxl_5F00_ex1_5F00_f280025c_5F00_demo.7z

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

    我无法找到您的.out 文件和您的.hex 文件之间的差异。

    我无法复制'launchxl_ex1_f280039c_demo'的问题。

    您是否对.out 和.hex 都使用了相同的.uniflash 会话文件?

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

    是的、.out 和.hex 都有相同的 uniflash

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

    F280039应该可以、您需要在 F280025中重现此问题

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

    我的意思是、您使用相同的会话文件吗? 因此、您可以选择映像1或映像2并对其进行编程:

    我没有 F280025。 我仅限 F280039 Launchpad。 无论如何,我怀疑这种区别是否相关。

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

    我始终仅使用图1、我始终使用 F280039进行测试、似乎也有 相同的问题、  

    十六进制生成有什么问题吗?  

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

    e2e.ti.com/.../6648.led_5F00_ex1_5F00_blinky.7z

    我还在此处将 F28003x 文件发布到

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    十六进制生成是否有任何问题?  [/报价]

    不,我不这么认为。 我检查了它与您的.out 文件的内容相同。

    请发布您的 UniFlash 会话文件(.uniflash)

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

    uniflash_8.3.0、我确信以下内容是您需要的内容。  

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

    啊 现在、我可以重现您的问题。 请允许我邀请 TI 发表评论...

    Ki 您好。

    我认为这是几周前我在文章中报告的另一个问题的例子、但并没有深入到以下方面:

    https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1229558/uniflash-run-target-after-program-load-ineffective-cpu-status-incorrect/4657666?tisearch=e2e-sitesearch&keymatch=%20user%3A479799#4657666

    无论是 strong Zhang 的演示项目(launchxl_ex1_f280025c_demo)还是我今天尝试的等效示例(launchxl_ex1_f280039c_demo)、当所有其他内容相等时、.out 和.hex 文件的 UniFlash 行为确实存在差异。

     仅.out 成功运行目标、但.hex 成功运行。 后者是我在上面原始帖子中的用例。

    我向 dis2000进行了检查、发现.out 文件中没有额外的段在.hex 文件中缺失、无论如何、在刷写.hex 文件后循环启动 LaunchPad 确实可以运行程序。 此外、刷写.out 和.hex 的详细日志没有区别。

    那么、您可以尝试复制该问题、从而解释为什么.hex 加载映像不会"运行目标"?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
     'Run Target'仅对.out 成功,但对.hex 不成功。 后者是我在上一篇文章中的使用案例。

    我在 CCS 中尝试了这一点。 我加载生成的*。out 文件时、PC (程序计数器)设置为0x80000。 它将从此处禁用看门狗、然后跳转到应用的入口点(_c_int00)。 最终、它将运行到 main 以及其他指令中。

    加载*。hex 文件时、PC 设置为0x0、然后在某处卡住。 执行断开连接、然后再连接、然后再次断开连接将导致程序按预期运行。 下电上电也会执行同样的操作。

    输出文件中的符号将包含十六进制文件中缺少的程序入口点位置和其他调试符号信息。  

    我想我不确定这是否是预期行为。 或许 C2000团队的某个人可以发表意见。

    谢谢

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

    我在 UniFlash 上试用了这种功能。 我注意到、 如果你在加载后将 Reset Action 设置为 CPU Reset、这将允许程序按预期运行。 请注意、您需要禁用"运行后继续连接"选项

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

    非常感谢。 该权变措施对我来说是有效的。

    加载*。hex 文件时,PC 设置为0x0

    您终于找到了根本原因、非常感谢。 这已经困扰了我很多年了!

    这种差异的一种可能解释是标签"code_start"闪存入口点(0x80000)仅存在于.out 文件中。 话虽如此、可以假设闪存入口点90%的时间为0x80000 (在 F28003x 和其他情况下)、因为它是器件的一个特性:

    也许可以用 UniFlash 增强功能在"Run target"旁边的 UniFlash GUI 中键入闪存入口点地址(与会话文件保存)、以使此行为对于十六进制文件用户而言是透明的并可控的? 对于.out 文件、此框可变灰、内容将替换为"code_start"地址。

    模拟:

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

    凸点。 能否改进 UniFlash 以便在使用十六进制文件时设置非零 PC?

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

    我将回复您关于同一主题的另一条主题。 我们现在可以关闭该主题。

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

    我今天已经尝试了这一点、并注意到、如果我启用了在程序加载后执行 CPU 复位的选项、只要我禁用了在操作后保持连接、程序就会按预期运行。 这也许是一个可行的权变措施。