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/MSP430F5329:MSP430-GCC 内部编译器错误

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/951137/ccs-msp430f5329-msp430-gcc-internal-compiler-error

器件型号:MSP430F5329

工具/软件:Code Composer Studio

我已从版本5更新为适用于 MSP430的 gcc 编译器的9.2.0.50。 现在、在一个文件中、它显示 为:Font.c:在函数'eve_font_char_multi'中: Font.c:253:1:error:Unable to generate reload for: 253 |} |^ (INSSn 111 110 112 7 (设置(reg:SI 6 R6 [orig:72 _100 ][72]) (ashift:SI (zero_extend:SI (reg:QI 6 R6 [orig:96 handle ][96])) (CONST_INT 7 [0x7])) 59{* MSP430.MD:757} (expr_list:REG_DEAD (reg:QI 6 R6 [orig:96 handle ][96]) (无))) 在 RTL 传递期间:reload font.c:253:1:内部编译器错误:在 find_reload 中、reload .c:3814 编译是使用 MSP430-elf-gcc -c -mmcu=msp430f5329 -O2 -Wall -Wextra -G2 -mlarge 完成的(即使 LTO 问题仍然存在) 、这是否为已知问题? 您是否需要预处理的源进行测试? 提前感谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    是的、这看起来像是一个错误。

    在即将发布的9.3.0.31版本中,在这方面做了一些工作(我想将在几周内推出),因此可能已经修复了。

    现在、我认为您可以通过使用小于或等于4的移位量来解决它。 尝试将值移动4、然后移动3。

    或者将移位量放入"易失性"变量中、以便将其存储在存储器中。

    我知道这些变通办法很烦人、抱歉!

    如果您可以发布预处理源、我将能够检查它是否已在9.3.0.31中修复、或者我们是否需要在将来的版本中修复它。

    谢谢

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

    e2e.ti.com/.../font.zipThis可以解释问题… 故障似乎在被调用函数中、该函数(正确)自动内联(用于记录的 eve_font_char_multi_glyph)。 该程序使用不神圣的宏移位来为图形芯片编写控制字、因此有许多类似的东西

    EVE_CORO_BYPASS ((((2UL<<30)|(((x)和511UL)<<21)|((((y)和511UL)<<12)|((((句柄)和31UL)<<7)|(((((单元)和127UL)<<0))))));

    它们的形式可能会触发错误。 无论如何、我将尝试该变通办法、如果所有其他操作都失败、则恢复为旧编译器。

    已附加预处理文件进行测试。 使用 msp430-elf-gcc -c -mmcu=msp430f5329 -O2 -Wall -Wextra -G2 -mlarge font.i 进行编译

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

    您好、Jozef、

    我有一个问题、即 GCC 维护已转移给您?

    伊斯天

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

    非常感谢您提供测试用例。

    我可以使用9.2.0.50重新生成内部编译器错误、并可以确认错误已在9.3.0.31中修复。 源代码编译不会出现任何问题。

    如果要实施变通办法需要大量工作、我建议使用您以前使用的版本、因为9.3.0.31应该很快发布、任何变通办法都是多余的。

    此致、

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

    您好、伊斯天、

    是的、如果可能、我会尝试直接为 MSP430-GCC 提供支持。 但是、如果我无法在几天内回复、TI 应与客户接洽。

    此致、

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

    您好、 Jozef、

    很高兴听到这个消息!

    伊斯天