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/MSP430F5419A:编译器从TI切换到GCC后出现问题

Guru**** 2559620 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/589467/ccs-msp430f5419a-problems-after-compiler-switch-from-ti-to-gcc

部件号:MSP430F5419A

工具/软件:Code Composer Studio

您好,

目前,我的项目使用TI 15.12 Tm3 LTS编译器。 我必须切换到GCC版本6.2 .v.1.16 ,因为我从TI编译器获得了代码大小限制消息。 之后,程序将不再工作。 编译器切换后是否需要进行更改?

感谢你的帮助。

巴西

马丁·索埃

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

    您是否收到一条消息,表示您已达到CCS中许可证的大小限制,或者您是否收到一条消息,表示您的程序无法装入可用内存? 如果这是第一条消息,则有一个快速解决方案。 您可以下载并安装没有代码大小限制的最新版本的CCS。 或者,您可以下载在当前CCS安装中禁用代码大小限制的许可证文件。 这两个项目均可通过此链接获得:

    processors.wiki.ti.com/.../Download_CCS


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

    我收到以下消息:

    错误#1.0269万:输出文件"testsw_Paul_ECD_v5.out"超出代码大小限制
    错误#1.001万:链接期间遇到错误;未生成"testsw_paul_ecd_v5.out
    gmake:***[testsw_paul_ecd_v5.ut]错误1
    gmake:由于错误,目标'all'没有重制。


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

    在这种情况下,您可以下载最新的CCSv7,也可以通过以下链接下载许可证文件: processors.wiki.ti.com/.../Download_CCS

    然后将该许可证文件拖放到当前的CCS中。 链接中提供了相关说明。

    此致,
    John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的。 感谢您的回答。 这是一个解决方案。

    但是,在切换到GCC后,我要做什么才能再次运行该程序?

    巴西

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

    从TI编译器切换到GCC时,通常情况下CCS将创建新的构建配置。  例如,如果“Debug”是您当前的构建配置,而您进入属性并将编译器切换到GCC,则会弹出一个对话框,指出CCS将创建一个名为Debug_GNU的新构建配置。  这样,您的原始构建配置将被保留。  这样做是因为TI和GCC编译器非常不同,您不能只是来回交换。

    因此,您应该能够将构建配置切换回原始配置。

    如果您在项目资源管理器窗口中查看该项目,它将显示当前的生成配置。  您可以通过右键单击项目并选择“生成配置”->“设置为活动”,然后选择要使用的配置来更改此设置。

    此致,

    John

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

    您好,John:

    好的。 编译器有何区别? 我必须更改哪个代码才能再次使用该程序?

    巴西

    马丁·索埃

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

    构建选项非常不同
    如何定义中断是不同的
    在代码中使用#pragma必须迁移到GCC等效对象
    汇编代码不同
    ...

    这里有一些信息:
    www.ti.com/.../slau646b.pdf

    MSP430 GCC适用于熟悉GCC并希望使用GCC的用户。 如果您不是一个狂热的GCC用户,那么您真的希望使用TI编译器(或IAR编译器),因为代码的大小和性能要好得多。

    此致,
    John