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.

[参考译文] MSP430F149:编译错误

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1104767/msp430f149-compilation-error

器件型号:MSP430F149

您好!

我们需要使用新编译器编译旧工程。  但存在一些不兼容的问题。 旧代码结构 如下所示: port5.out.PIN6 = 1。 新编译器不理解此构造。 旧编译器: https://sourceforge.net/projects/mspgcc/ 。 新编译器: https://www.ti.com/tool/MSP430-GCC-OPENSOURCE。  如何解决此问题?  请提供帮助、谢谢。

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

    P5OUT |= BIT6;

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

    而不改变这条线

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

    如果您有旧头文件、请查找允许该语法的结构定义、并将其复制到新编译器的新头文件中。

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

    将 iostructures.h 添加到新工程中、但这会导致汇编器出现问题:

    汇编器消息:

    错误:预期的符号名称
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccaQzxz.s:1875:错误:指令中缺少符号名称
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccaQzxz.s:1875:错误:行末尾的垃圾、第一个无法识别的字符为`x'

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

    Dmitrii、

    我不清楚具体的错误是什么。 您使用的是 CCS 吗? 是否可以发布更多错误消息?

    Evan

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

    我使用 MSP430-gcc、make 和命令行。

    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:汇编器消息:
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1873:错误:预期的符号名称
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1875:错误:指令中缺少符号名称
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1875:错误:行末尾的垃圾、第一个无法识别的字符为`x'
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1876:错误:.size 指令中名称`后的预期逗号
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1877:错误:行末尾有垃圾、第一个无法识别的字符为`0"
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1879:错误:预期的符号名称
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1880:错误:指令中缺少符号名称
    C:\Users\D3EF3~1.pot\AppData\Local\Temp\ccvDFVzJ.s:1880:错误:行末尾的垃圾、第一个无法识别的字符为`x'

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

    我在 iostructures.h 中找到了一些有趣的行 它们可能会导致错误:  

    #if defined (__MSP430_has _Port1__) ||  defined (__MSP430_has _Port1_R_)
    _MSP430_extern _ struct port_full_t port1 asm ("0x0020");
    #endif
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我不确定您能否轻松地将所有旧头文件复制到新项目中。 复制所需的每个数据结构可能更容易。 否则、您将最终调试项目实际不需要的大量问题。

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

    只有一个头文件、完全需要定义新结构。 但不幸的是、我无法处理该汇编器错误。

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

    您需要查看生成的汇编器源代码、以查看正在发生的情况。 "-S"选项将指示 gcc 在该点停止、让您使用.s 文件进行检查。

    一旦您确定了导致故障的原因、您就应该能够确定。