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.

[参考译文] MSP430FR5969:构建 WISP 5项目时出错

Guru**** 2537840 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1076586/msp430fr5969-getting-errors-while-building-wisp-5-project

部件号:MSP430FR5969

您好,

我正在尝试使用 CCS 10.4构建无线识别和传感平台(WISP) 5代码(github.com/.../wisp5),但我遇到了许多错误,请参见下图。 多次重复出现“[E0300] Redefinition of structure tag not allowed”错误之一。  同一论坛上有一个主题(e2e.ti.com/.../msp430fr5969-msp430fr5969-issues-with-assembly-files  ),讨论了一个类似的问题,即如何在 CCS 中构建 WISP 项目,但没有提到如何解决该问题。  我们非常感谢您的任何建议和帮助。  

谢谢你

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

    [我不知道答案。 通过设置“生成设置->生成->编译器->高级->汇编器选项->生成列表文件”,我找到了一些内容。]

    汇编程序反对标记“__timer”和“__mq”,它们是在“sys/_types.h”中声明的不完整的结构类型。 (如果我删除它们,则构建成功。 由于这是一个全系统的 include 文件,因此这不适合作为修复方法,尽管我认为这些符号很少被使用。)

    sys/_types.h 似乎被包括两次,但幂等标头并未停止第二次包含,因为我可以看到两条'.define“1”,_SYS_Types_H_”行。 我怀疑这种方法的关键在于 CCS asm430 UG (SLAU131X)第89页“……一个.cdecls 创建的 C/C++环境不是由以后的.cdecls 继承的;每个.cdecls 的 C/C++环境都是新的。”;sys/__types.h 由两个单独的.cdecls 包含。

    那么,这是如何实现的? 我注意到(GitHub)项目文件要求 C 编译器“TI v4.3.3”,这听起来很旧——我使用的是“TI v18.12.4LTS”(CCSv9.3)。 在另一个问题上,丹尼斯成功了,我猜他正在使用一个比我更新的编译器。 可能是较旧的 CCS 版本和较新的版本不会声明这些符号,或者.cdecls 行为不同。

    您 目前的选择似乎是:

    1)尝试使用较旧的 CCS 版本(可能很难找到)或更新得多的 CCS 版本。

    2)从 sys_types.h 中删除__timer 和__MQ 声明 [作为一个负责任的成年人,我不能推荐这种做法,但如果你这样做是为了让你的项目再次进行,我将不知道。]

    CCS 论坛中的某个人也许有更多的见解?

    [编辑:固定排版。]

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

    这似乎与问题 EXT_EP-6927匹配,该问题似乎已在 C2000编译器中修复。 还有:

    解决方法:在单个.cdecls 子句中包括标题共享定义:.cdecls C,list %{#include "head...

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

    感谢 Bruce 的建议和帮助。 首先,我将尝试安装较旧的 CCS 版本(可能是版本6)以查看它是否有效。似乎较旧的 CCS 版本仍可供下载, https://software-dl.ti.com/ccs/esd/documents/ccs_downloads.html。