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.

[参考译文] MSP432P401R:Getting ../../driverlib/inc/MSP_compatibility.h:145:41:Warning: implicit declaration of function 'ASM'[-Wimplicit-function-declaration]

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/631748/msp432p401r-getting-driverlib-inc-msp_compatibility-h-145-41-warning-implicit-declaration-of-function-asm--wimplicit-function-declaration

部件号:MSP432P401R
主题中讨论的其他部件:MSP432WARE

在构建一些包含driverlib.h的代码时,我收到以下警告

../../driverlib/inc/MSP_compatibility.h:145:41:警告:函数'ASM'的隐式声明[-Wimplicit-function-declaration]
#define __wfi() ASM(" wfi")
^
../../driverlib/inc/MSP_compatibility.h:146:41:注:在宏'__wfi'的扩展中
#define __sleep()__wfi()
^
./src/sp_lpm.c:274:8:注:在扩展宏'__sleep'时
__sleep();

仅当我使用gcc编译标志 -std=c99时才会发生这种情况。 如果我删除它,警告将消失,代码将正常生成,否则它将无法生成。

我的文件包括以下内容:

#include <rom.h>
#include <ROM_map.h>
#include <driverlib.h>

是否应包含任何其他标题才能使其正常工作?

谢谢,此致,

Pedro

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

    让我们来看看这一点。 我什么都不知道。 您正在使用哪个版本的SimpleLink MSP432 SDK?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Evan,Chris,
    感谢您的快速回复。 我相信我们正在使用MSP432Ware_3_50_00_02。
    此致,
    Pedro
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    佩德罗

    您是否尝试过迁移到SimpleLink MSP432 SDK? www.ti.com/.../simplelink-msp432-sdk

    MSP432Ware不再进行更新,我们在过去一年中也不会进行任何更新。 MSP432 Driverlib现在可以在SimpleLink MSP432 SDK中找到,并且仍然完全受支持,我们刚刚将其打包在MSP432 SDK中,而不是在MSP432Ware中。 因此,可能存在此问题的修复程序。 以下文档的第4节将帮助您进行任何迁移,在此期间,您可以随时询问任何问题: www.ti.com/.../slaa656
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Evan:
    我们是在SimpleLink未出的时候开始项目的,现在由于项目的截止日期,迁移的工作将受到限制。 我将查看一个更新的驱动程序库,看看这是否会使问题消失而不会导致其他问题。
    再次感谢,
    Pedro
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Pedro,我会惊讶地看到,除了更改包含路径之外,是否还有大量迁移工作要转到SDK。 我认为最好移动,因为自从MSP432Ware以来,我们已经修复了驱动程序库中的一些错误。 请告诉我移植的情况。

    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jeff,谢谢! 这让我更深入地研究了这个,我从那里学到了一些东西,有很多文档和很多要知道的东西,所以学习新东西很有趣!

    因为我更深入地研究了这篇文章,所以我发现这篇堆栈溢出文章可能非常相关,并且似乎至少回答了为什么-std=c99似乎添加了警告的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    链接,因为我忘记添加它: stackoverflow.com/.../why-does-gcc-std-c99-treat-the-keyword-asm-as-a-function
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢Evan! 我们决定至少暂时不使用该标志,并开始考虑使用较新版本的driverlib。
    此致,
    Pedro