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.

[参考译文] 编译器/TM4C129ENCZAD:链接 GPIO_Init()需要哪个库

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/585412/compiler-tm4c129enczad-what-library-is-required-to-link-gpio_init

器件型号:TM4C129ENCZAD

工具/软件:TI C/C++编译器

我通过 TivaWare 外设驱动程序指南、TIdrivers_tivac_2_16_01_13 html 文档(适用于 GPIO_Init())以及论坛获取有关哪个库(或封装?)的线索 必须包含在 CCS (v7.0) Properties-CCS Build-ARM Linker-File Search Path 设置中、才能成功链接 GPIO_InitTM 我找不到有关此详细信息的任何讨论;只找到所需的包含文件、这些文件已包含在代码文件中。

我们的目标是采用 TM4C129ENCZAD 的定制电路板。

文件搜索路径设置如下:

链接失败

错误#10234-D:未解析的符号仍然存在

未解析的符号 GPIOTIVA_config,首先在中引用,

C:/TI_CCS/tirtos_tivac_2_16_01_14/products/tidrivers_tivac_2_16_01_13/packages/ti/drivers/lib/drivers_tivaware 已检测.aem4f                

必须添加哪个库?

感谢你的帮助。

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

    链接器搜索路径设置:

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

    很遗憾听到您有问题。 我尝试通过打开 Resource Explorer 并导入示例项目"GPIO 中断"来重现您的问题、如下所示:

    我能够进行编译和链接、没有任何错误。 链接器文件搜索路径设置如下所示:

    宏"com_TI_RTSC_TIRTOSTIVAC_libraries"解析为我的计算机上的"C:\ti\tirex-content/tirtos_tivac_2_16_00_08"。

    查看创建的.map 文件、函数 GPIO_init 来自 目录"C:\ti\tirex-content/tirtos_tivac_2_16_00_08\products\tidrivers_tivac_2_16_00_08\packages/tidrivers\drivers_tivac_2_00_08\packages\ti_drivers\lib"中的库"drivers_tivotivotivot.aem4f"

    请告诉我这是否有帮助。

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

    您好!

    感谢您的快速响应。

    我导入了相同的示例(GPIO 中断)、运行了一个构建、然后检查了 ARM 连接器文件搜索路径窗口:

    打开带有'...'的图标,子窗口如上所示打开(“产品贡献的...”,其中没有定义路径。

    双击 COM_TI_RTSC_TIRTTOSTIVAC_library_path、然后选择 Variables 按钮、会打开一个新窗口、其中列出了所有项目变量(我猜...)。 以下屏幕截图显示了该列表中的组,其中 COM_TI_RTSC_TIRTTOSTIVAC.... 值出现:

    我没有看到任何连接 "C:\ti\tirex-content\tirtos_tivac_2_16_00_08" 的内容(您的机器在我的机器上需要"C:\ti\tirex-content/tirtos_tivac_2_16_01_14")。

    上述变量部分与我的项目中的变量相匹配(链接失败)。

    很抱歉、我太慢了、但我仍然不明白。 将继续思考/四处走动、但如果您有其他见解、您可以分享、感激。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尝试在您的机器上搜索文件"drivers_tivaware.aem4f"。 另一个可能的问题是:
    C:\ti_tirtos_tivac_2_16_01_14\products\tidrivers_tivac_2_16_01_13\packages/ti\drivers\lib
    然后、您只需将完整路径和文件名添加到 Include library file (包含库文件)框中即可。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我尝试了您的建议、每次添加一个文件/路径、然后将以下两个文件/路径添加到"链接搜索路径"窗口的上部框中:

    drivers_tivaware。aem4f

    drivers_tivaware 已检测.aem4f 文件

    这些路径为"C:\TI_CCS\tirtos_tivac_2_16_01_14\products\tidrivers_tivac_2_16_01_13\packages/ti\drivers\lib"

    以下屏幕截图显示了第二个设置的方式:



    两种情况下的结果都是:

    请注意,如果我删除(注释掉)对 GPIO_init()的调用,链接错误就会消失。

    我的头还在刮擦。 请注意、上面的错误指向我刚刚添加到链接搜索路径的文件夹。 我认为这是缺失符号的发生位置。 所有这些中缺少的是定义了缺少符号的库。 我认为这就是我所需要的、定义了缺失符号的路径和文件名(?)。

    再次感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Erik、
    查看您在上一篇文章中粘贴的图像-具体而言、在此处红色线条开始显示的位置(错误#10234-D...)
    在上面一行或两行、有一个"找不到文件 xxxxxxxxxxxxx"(或类似的内容)。 您没有粘贴、因为这条线通常被窗口大小"隐藏"-向上滚动一点。
    仔细查看无法找到的文件的完整路径-它肯定是计算机/文件结构中不存在的路径。 由于您的文件夹安装级别和其他参考资料、正确的路径通常稍有不同...
    例如、使用"Agent Rams背包"在您的 PC 中查找文件-并将实际路径与 CCS 路径进行比较。
    然后找出指向错误路径的变量、并修复它们...
    希望这是有道理的-如果不让我们知道的话。 祝你好运。
    布鲁诺