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.

[参考译文] 编译器/MSP430F6.7471万A:--small_enum选项问题

Guru**** 2558250 points
Other Parts Discussed in Thread: MSP430F5529

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/586544/compiler-msp430f67471a---small_enum-option-problem

部件号:MSP430F6.7471万A
主题中讨论的其他部件:MSP430F5529

工具/软件:TI C/C++编译器

你好。

我有几个问题。

我在使用--small_enum选项编译项目时遇到了问题。

我想在我的项目中最小化enum变量大小。

然后,我执行了以下步骤:

1.打开项目属性,然后从左侧窗口中选择“MSP430编译器”。

2.选择“编辑标志...”,然后添加“--small_enum”  

3.关闭项目属性,然后清除添加 的项目--small_enum选项。

4.构建项目。

执行步骤4后,会出现如下所示的许多警告消息:

说明资源路径位置类型
#1.6027万-D对象文件具有不兼容的枚举类型("C:/ti/tirtos_msp43x_2_20_00_08/packages/ti/drivers/lib/drivers_MSP430F5529.aeX<GPIO430opinia.oe430X>"= MSP430F5529_MSP_SP3055C+(缺3055缺省

是否有解决此问题的建议?

以下内容在SLAU132O中的5.6 .1一节中进行了说明。

注意:不要将使用--small_enum选项编译的目标文件与不使用该选项编译的目标文件链接。 如果使用--small_enum选项,则必须将其用于所有C/C++文件;否则,将遇到在运行时才能检测到的错误

我认为这个问题与上述有关。

能否告诉我如何使用--small_enum选项编译所有目标文件?

我正在使用 MSP430_MSP430.3.LTS编译器,并且我的项目基于 用于15.12 封装的TIRTOS中的uartecho_MSP_EXP430F5529LP_TI_MSP430F5529。5529。

我确认了以下主题,但我不知道如何解决这个问题。

e2e.ti.com/.../130.9148万

我正在等待TI员工的评论。  

 此致,

Uchida-k

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

    [报价用户="Uchida-K"]

    执行步骤4后,会出现如下所示的许多警告消息:

    说明资源路径位置类型
    #1.6027万-D对象文件具有不兼容的枚举类型("C:/ti/tirtos_msp43x_2_20_00_08/packages/ti/drivers/lib/drivers_MSP430F5529.aeX<GPIO430opinia.oe430X>"= MSP430F5529_MSP_SP3055C+(缺3055缺省

    是否有解决此问题的建议?

    [/引述]

    唯一的解决方案是获取使用--small_enum构建的库的变体。  我不知道是否有这样的变体,或者是否有程序记录下来,让你可以建立一个变体。

    谢谢,此致,

    -George

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

    感谢您的回复。

    如果您获得有关此问题的任何更新,我希望收到您的信息。

    此致,

    Uchida-k
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    可以使用--small_enum重建TI-RTOS,但需要进行几处更改。 必须更改并运行所有库(例如driverlib,drivers,uia等)的makefile。 对于内核,您必须将其添加到BIOS.customCCOpts中。 例如:

    bios.customCCOpts ="-vmspx --nose_data=none --code_model=large --data_model=restricted -q --advocation:power =1 --program_level_compile -o3 -g --optimize_with debug --small_enu";

    但我真的不推荐。 使用此设置进行了零回归测试。 我不认为保存几个字节是值得的。

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

    我很抱歉耽误你的时间。
    感谢您的回复。

    我会尝试一下。
    如果还有任何问题,我将发布此主题。

    此致,

    Uchida-k