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/TMS320F28069:从 controlSUITE 和 v6 C2000编译器更新到 c2000Ware 和 v18 C2000编译器时出错

Guru**** 2394305 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/857429/ccs-tms320f28069-errors-when-updating-from-controlsuite-and-v6-c2000-compiler-to-c2000ware-and-v18-c2000-compiler

器件型号:TMS320F28069
Thread 中讨论的其他器件:controlSUITEC2000WARE

工具/软件:Code Composer Studio

我一直致力于更新使用 controlSUITE 中的 F2806x_headers 文件和 C2000代码生成工具 v6.2.10编译器的 f28069项目。 我正在尝试更新项目以使用 C2000Ware 和 C2000代码生成工具 v18.12.0.LTS 编译器中的 F2806x_headers 文件。 我能够编译除链接器文件之外的所有内容。 该项目使用 f280069的闪存 API。 使用 v18编译器进行编译时遇到此错误:

"./Cmd/F28069_new.cmd "、第154行:错误#10099-D:程序不能放入可用内存中。 对齐/分块的放置在".text"大小为0x10526的第0页上失败。 可用存储器范围:
FLASH_DEFG 大小:0xfdfc 未使用:0x1最大空洞:0x1
FLASH_H 大小:0x4000未使用:0x0最大空洞:0x0 

此外、我还收到一条警告、指出链接器文件的此部分(-lrts2800_fpu32.lib 部分)没有匹配部分:

AppStart:
{
-rts2800_fpu32.lib (.text)
}load = flash_strap、
PAGE = 0 

工程开始编译时、我在控制台中收到以下消息两次:

'CP'不能被识别为内部或外部命令、
可操作的程序或批处理文件。

我主要想知道"'CP"不被识别为命令"。 为什么在使用 v18编译器而不是 v6编译器进行编译时、我会在控制台中获得该信息? 此外、为什么在使用 v18编译器而不是 v6进行编译时会遇到上述其他错误?

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

    Jake、

    关于.text 段中不适合的数据的第一个错误、我建议您参考此 wiki 页面、了解有关如何在存储器段中合并或拆分信息的详细信息。

    我还建议您从 C2000Ware 中提供的链接器之一开始。 然后在该 cmd 文件的顶部添加您的调制。 我将让编译器团队的某个人评论您的第二个错误/问题。


    此致、

    Ozino

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

    要解决以下问题...

    [引用用户="Jake Johnson22"]

    我收到一条警告、指出链接器文件的此部分(-lrts2800_fpu32.lib 部分)没有匹配部分:

    1
    2.
    3.
    4.
    5.
    appstart:
     {
         -lrts2800_fpu32.lib <boot.obj>(.text)
     } LOAD = FLASH_STRAP,
       PAGE = 0

    [/报价]

    将这些链接器命令文件行更改为类似于...的内容

    应用程序启动:
    {
    rts2800_fpu32.lib (.text)
    } >外部 

    包含从 boot.obj 更改为 boot28.asm.obj 的引导例程的目标文件的名称。  通过将此文件名与通配符一起使用,您可以降低启动目标文件名称中的其他更改导致问题的可能性。   

    更不用说、您也不需要前导-L  这是因为目标文件名周围的<>具有相同的效果。

    谢谢、此致、

    乔治