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.

[参考译文] TMS320F28069:工具读取 C2000的代码并生成十六进制文件

Guru**** 2616045 points

Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/696429/tms320f28069-tools-read-code-for-c2000-and-generate-as-hex-file

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

https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/619616

您好!
我找到了上面的线程。
我正在尝试从 F28069读取0x3e8000-0x3fff、并将其转换为十六进制。
但这对我来说并不成功。
请 您指出 我的错误吗?


步骤:

-在 CCS 调试中构建并执行了一个 C2000Ware 示例项目[flash_f28069]。
-存储器范围0x3e8000-0x3ffff 保存为[ccsread.out]
-输出文件作为命令文件传递给 hex2000.exe,如下所示:

>>>
ccsread.out
-ti_txt

ROM

 答:origin=0x007d0000、len=0x30000

部分
{.text、.data、.cinit、.sect1、.vectors、 .econst:

<<<<<<<<<<<<<

--- hex2000.exe 没有生成文件,只是响应了:

>>>
C:\ti\__hex2000>hex2000 180605b.cmd
警告:在(ccsread.out)中找不到.text 段
警告:在(ccsread.out)中找不到.cinit 段
警告:在(ccsread.out)中找不到.sect1段
警告:在(ccsread.out)中找不到.vectors 段
警告:在(ccsread.out)中找不到.econst 段
正在转换为 TI-TXT 格式...
  "ccsread.out".data =>.data
警告:07d0000h 处的 ccsread.out (.data)段位于未配置的存储器中
  (已跳过)
<<<<<<<<<<<<<

我附加了一些文件和图像:

/cfs-file/__key/communityserver-discussions-components-files/171/180605_5F005F00_e2e_5F00_materials.zip


我的目标:
它是将 几个十六进制文件合并或合并为一个十六进制文件。
链接的线程是我找到的唯一方法。

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

    当您可以将项目输出文件转换为 hex 时、为什么要将项目加载到器件中?
    尝试删除链接器的 SECTIONS 部分、只需离开 ROMS 部分即可。 您可以在链接器文件中列出多个输出文件、并将它们组合在一起。 您只需确保它们在存储器使用中不会重叠。

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


    Chris、
    感谢你的答复。


    >>>
    当您可以将项目输出文件转换为 hex 时、为什么要将项目加载到器件中?
    <<<

    步骤是重复。
    我想问您的理解、最好合并两个 TI-hex 文件而不使用实际的 C2000器件。

    第二种方法似乎是、将几个十六进制文件编程到同一个 C2000器件、读取并保存到输出、然后将输出转换为十六进制。

    >>>
    尝试删除链接器的 SECTIONS 部分、只需离开 ROMS 部分即可。 您可以在链接器文件中列出多个输出文件、并将它们组合在一起。 您只需确保它们在存储器使用中不会重叠。
    <<<

    没有改善。 我可以再次征求您的建议吗?

    cmd 文件>>>>>

    ccsread.out
    -ti_txt

    ROM

     答:origin=0x007d0000、len=0x30000

    <<<<<<<<<<<<<


    hex2000响应>>>

    C:\ti\__hex2000>hex2000 180606a.cmd
    正在转换为 TI-TXT 格式...
      "ccsread.out".data =>.data
    警告:07d0000h 处的 ccsread.out (.data)段位于未配置的存储器中
      (已跳过)

    <<<<<<<<<<<<<

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

    我猜调试中转储的.out 格式可能与 hex2000不兼容。 使用 ofd2000.exe (如果这不会产生有用的结果、请尝试 dis2000.exe)尝试确定输出文件中存在的内存范围。

    出现这些警告消息的最常见原因是 OUT 文件中这些段的加载地址超出了十六进制命令文件中 ROMS 指令中定义的存储器范围。

    此致
    Chris