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.

[参考译文] CCS/TMS320F2812:从 cdb 转换为 tcf

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/936670/ccs-tms320f2812-converting-from-cdb-to-tcf

器件型号:TMS320F2812

工具/软件:Code Composer Studio

你好

我正在将 CC3.1项目转换为 CC6.2。 我已使用 cdb2tcf.exe 工具转换 cdb 文件。

我正在为 TMSC320F2812进行编译。

构建无法按预期工作、我想知道转换期间是否出现问题。 大多数情况下、我只是不确定对 tcf 文件的期望。 cdb 文件包含近12000行、而 tcf 文件少于200行。 tcf 文件是否涵盖了 cdb 文件所做的一切?

tcf 文件还使用存储器名称、例如 L0SARAM 和 M0SARAM。  根据 https://www.ti.com/lit/ug/spru007i/spru007i.pdf、旧存储器名称的使用时间可长达

环境["ti.BIOS.oldMemoryNames "]= true; 

它是什么。 但是、L0SARAM 和 M0SARAM 不会出现在2812名称列表中(甚至没有此器件的旧存储器名称列表)、仅 LSARAM 和 MSARAM -它们是否仍然可以使用?

提前感谢

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

    您好!

    我会从 您的5.x 产品中导入一个 TMSC320F2812 DSP/BIOS 示例。 将该.tcf 与转换生成的.tcf 进行比较。 然后根据需要进行调整。  

    Todd

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

    你好 Todd

    比较后,我尝试更改旧内存名称以匹配示例(L0SARAM->LSARAM、M0SARAM->MSARAM),但似乎没有太大的效果。 我剩下的大多数 tcf 文件似乎与示例太不相同、无法提供更多帮助。 是否有更复杂的示例可在某处获得?

    我假设问题是配置文件、因为代码尚未更改。 但还有其他常见问题吗? 我使用过相同的编译器和链接器选项、但是否有 CC3.1默认选项在 CC6.2中不再是默认选项、因此不会包含在我的新项目中?

    我已附上 cdb 和 tcf 文件、以防我说服您快速查看这些文件。

    感谢你的帮助。

    e2e.ti.com/.../4375.f2812.cdb.log

    e2e.ti.com/.../3441.f2812.tcf.log

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

    我建议您通过图形界面查看 cdb 中的设置。 然后、从 您的器件的 DSP/BIOS 示例开始对.tcf 进行相同的设置。 因此、基本上是并排打开并复制旧 cdb 中的值。 您需要单步执行每个设置。

    Todd

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

    你好 Todd

    好主意。 到目前为止、我已经比较了图形界面中的配置文件、发现了一些小的差异、我已经尝试纠正了这些差异。 但是、它似乎没有改变任何东西。 剩下的是 DIO 类驱动程序、它出现在 tcf 配置中、但不出现在 cdb 中。 但它位于 cdb 文件中,因此这可能正是 gconf 选择显示的内容。

    然后、我尝试使用 CCS3.1中的4.1.0编译器在 CCS6.2中编译项目。 这正常工作、程序按预期运行。 程序使用与20.2.2编译器相同的 tcf 文件进行编译、生成的 cdb 文件与时间戳完全相同、这让我相信 tcf 文件毕竟不是问题。 使用20.2.2编译器进行编译时、我收到警告"Data is being written to auto-generated file F2812.I10"-我正在转换为 Intel hex 格式。 因此我的工作原理是、写入错误文件的数据会导致程序发生故障。

    4.1.0编译器不会发生这种情况。 从我可以收集的内容中、这通常在初始化数据写入第1页时发生、这应由 tcf 文件和链接器确定。 我使用的是 TI 标准的 DSP281x_Headers_BIOS.cmd 文件和 boot.cmd 文件、其中包含以下内容:

    部分{

    boot:  {}> BOOTMEM

    }

    对于4.1.0编译器、.boot 列在映射文件中、当转换为十六进制时:

    将 F2812.out 转换为 Intel 格式...

      "F2812.OUT"  =>.boot

      "F2812.OUT"  =>.BIOS

      "F2812.out"  =>.cinit

      "F2812.out"  =>.sysinit

    等等

    对于20.2.2编译器、.boot 不会被转换。

    这一点在映射文件中也很明显、其中.boot 显示在 BOOTMEM 中4.1.0、而不是20.2.2。 不过、根据编译控制台、在与任一编译器链接时使用 boot.cmd 文件。

    我假设这与前面提到的警告有关。 是否有任何想法、到底是什么问题以及如何解决?

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

    我建议您继续使用较旧的编译器。 我们尚未针对任何较新的编译器验证 DSP/BIOS。

    Todd