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.

[参考译文] 无法解析函数#39;__delay_cycles#39

Guru**** 2529560 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/772983/function-__delay_cycles-could-not-be-resolved

器件型号:MSP430F5529

工具/软件:Code Composer Studio

因此、在安装了以下编译器的情况下运行 CCS v8.3.0.00009:

  • TI V18.12.1.LTS
  • TI V18.14.LTS
  • GNU v7.3.2.154

我得到以下错误:

无法解析函数'_delay_cycles

在使用 GNU v7.3.2.154编译的项目中。

我找到了此论坛帖子(https://e2e.ti.com/support/tools/ccs/f/81/t/680225?tisearch=e2e-sitesearch&keymatch=__delay_cycles)

但它让我感到困惑、我认为它实际上没有解决任何问题。

我有这个最小的示例显示了我的项目上的问题:

#include 


int main (){
P1DIR |= BIT0;
P1OUT |= BIT0;

while (1)
{
P1OUT ^= BIT0;
__DELAY_CYCLES (1000000);//@suppress ("无法解析函数")
}

返回0;
}

请注意、此代码确实起作用、但如果没有"@suppress"编译的注释、则会出错。

编辑:格式化、某种程度上一句话被遗漏了

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您发帖。 我稍后会查看详细资料,并作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否与大家分享您看到这一点的项目? 我无法重现错误。 我想知道它是否来自不识别内在函数的静态代码分析检查器。

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

    [引用 user="Johes">您是否可以与共享您看到的项目? 我无法重现错误。 我想知道它是否来自不识别内在函数的静态代码分析检查器。

    John

    [/报价]

    很抱歉耽误你的回复、我很忙。 我已附上一个 zip 文件夹、其中包含最小的项目 example.e2e.ti.com/.../7043.test.zip

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

    如果我将该项目导入 CCS、我将看不到错误。

    但是、如果我进入项目属性。 选择 show advanced settings 并将静态代码分析选项更改为使用工程而不是工作区级别设置、然后我会看到:

    假设您看到的是这种情况、则这意味着您已启用静态源代码分析工具、并且无法识别__delay_cycles、因为它是内在函数。

    通常、静态代码分析默认处于关闭状态。 在我的示例中、我为项目启用了它、但在您的示例中、必须在工作区级别启用它。

    如果您转到首选项对话框。 然后单击底部的"显示高级设置"。 然后导航到此处:

    取消选中"无法解析函数"复选框。  然后单击应用并关闭。

    此致、

    John

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

    我的首选项对话框中似乎没有"C/C++"子菜单。

    我在 Windows 上。

    是否有某种方法可以关闭工作区的静态代码分析? 不确定如果您说它默认为关闭状态、它会如何打开。 如果我实际需要错误消息、我宁愿不关闭它。

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

    您需要单击左下角的"Show advanced settings"以进入"C/C++"选项。

    "是否有办法关闭工作区的静态代码分析? 不确定如果您说它默认为关闭状态、它会如何打开。 如果我实际需要错误消息、我宁愿不关闭它。"

    请注意、这与建筑无关。 编译器生成的错误和警告与代码分析功能无关。 静态代码分析是 Eclipse 的一项功能、但嵌入式 C 和 C++代码通常会出现问题。 如果您感兴趣的话、有些商业供应商会为您提供更好的工具。

    关闭代码分析将关闭该特定规则和所有其他规则。 我建议关闭这一转弯、因为它会提供错误的肯定、剩下的就离开了。 我发现在启用分析后关闭分析的唯一方法是取消选中规则。

    此致、
    John

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我在显示高级设置后找到它。 我完全没有在你上次的答复中告诉我这样做。

    我只需禁用这个、感谢您的帮助!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没问题。