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.

[参考译文] TMS320F2809:通过箭头对 F2809进行编程

Guru**** 2524460 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/961486/tms320f2809-programming-f2809-by-arrows

器件型号:TMS320F2809
主题中讨论的其他器件:UNIFLASH

您好!

我尝试解决客户的问题。

F2809是由外部制造商生产的 PCB 的一部分。 几年前、制造商获得了 F2809固件的输出文件。 此后、F2809已由分配器编程、并随后组装到 PCB 上。 因此、Uniflash 无需手动编程。

现在、制造商说他必须从 Arrows 购买 F2809、因为从现在起、它是德州仪器唯一的合作经销商。 但 Arrow 不知道如何使用 out-file、他们需要十六进制文件。

因此、我使用在 Code Composer Studio 中集成的实用程序创建了一个十六进制文件。 我使用 Uniflash 尝试的这个十六进制文件。 我猜需要几分钟、但 Uniflash 成功编程、没有出现错误消息。

但是、在为 PCB 供电后、我看到固件无法正常工作。 我尝试使用输出文件对 PCB 进行重新编程。 然而、CSM 密码现在包含明显未知的字节、所以 PCB 不再可访问、并且看起来已经死了。

向任何人提示如何创建 hex 文件(也包含 CSM 密码)、以便 Arrow 可以使用它。

非常感谢您的参与、

Karlheinz

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

    Karlheinz、

    [引用]但在为 PCB 供电后、我看到固件无法正常工作。 我尝试使用输出文件对 PCB 进行重新编程。 但是、CSM 密码现在包含明显未知的字节、因此 PCB 不再可访问、看起来已经死了。

    您应该能够从 hex 文件中获取 CSM 密码并解锁器件。

    [引用]向任何人提供了如何创建 hex 文件(还包含 CSM 密码)的提示、以便 Arrow 可以使用该文件。 [/报价]

    以下是 HEX2000实用程序支持的不同十六进制格式。 使用箭头检查它们需要哪种十六进制格式? 有关 这些十六进制格式的更多信息、请参阅《C28x 汇编工具手册》。

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

    感谢 Manoj 的回复、

    我查看了十六进制文件、发现它显然是8位格式、而不是16位格式。 至少对于 CSM 密码、16位 被截断为8位。 我不知道如何填充截断的位、我尝试了0xFF 和0x00、但可能是随机填充的、因此我无法解锁。

    是的、我必须使用箭头检查它们可能需要的东西。 我只担心尝试会损坏另一个电路板。

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

    Karlheinz、

    如果您有 COFF 文件(.out)、则获取密码不会太困难。 我们可以使用 HEX2000实用程序来获取0x3F7FF8 - 0x3F7FFF 内容(密码内容)。

    此致、

    曼诺伊

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

    Karlheinz、

    尝试创建包含以下内容的十六进制命令文件:

    ApplicationName.out
    --intel
    --image
    --memwidth=16
    --fill=0xFFFF
    ROMS
    {
    应用程序:org = 0x082004,len = 0x1DFEC,romwidth = 16
    个文件={ application.hex }
    
    
    

    您需要调整 applicationName 以匹配您的输出文件以及 ROMS 指令的 org 和 len 字段、以匹配器件的闪存。 我通常将其用于生成用于引导加载实用程序的十六进制文件。  将上述内容保存到文件中后、将其作为参数传递给 hex2000实用程序、并将其从 application.hex 文件中输出。

    最棒的

    Trey

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

    Manoj、

    我有密码、但仍然无法解锁器件。 我在密码部分刷写了16位十六进制文件的8位列、我假设其他8位未知。

    谢谢、

    Karlheinz

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

    Trey、

    请您回答 。 我将等待 Arrows 给出他们真正需要的答案。 当我得到他们的答案时、我将尝试您的方法。

    Karlheinz

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

    现在可以关闭此主题吗? 如果您有其他问题、您可以重新打开此帖子(或)打开新帖子?

    此致、

    曼诺伊