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.

[参考译文] RTOS/CC2650EM-5D-RD:重新安装 TI-RTOS 后无法链接

Guru**** 2589245 points
Other Parts Discussed in Thread: CC2650

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/592207/rtos-cc2650em-5xd-rd-fail-to-link-after-reinstalling-ti-rtos

器件型号:CC2650EM-5D-RD
Thread 中讨论的其他器件:CC2650

工具/软件:TI-RTOS

您好!  

我必须重新安装整个 C:\TI 树(ouch、such)请参阅所附树结构:

现在、我尝试重建个正常工作的 CC2650/5XD 项目、该项目最初基于 TI 示例"SPP_ble_server_cc2650_app"、我收到以下链接错误:


未定义 第一个参考
符号 文件中
------ --------
driverlib_release_0_47020 C:/ti/tirtos_cc13xx_cc26xx_2_21_00_06/products/tidrivers_cc13xx_cc26xx_2_21_00_04/packages/ti/drivers/lib/drivers_cc26xxware.aem3 

错误#10234-D:未解析的符号仍存在
错误#10010:链接期间遇到错误;"SPP_BLE_server_cc2650_app.out"未生成

>>编译失败
makefile:193:目标'SPP_BLE_server_cc2650_app.out'的配方失败
gmake:***[SPP_BLE_server_cc2650_app.out]
由于未重做所有目标错误1:未重做目标错误。

****构建完成****

我已验证消息(drivers_cc26xxware.aem3)中注明的文件是否存在。

我还尝试使用'c:\ti_tirtos_cc13xx_cc26xx_2_21_00_06>..\xdctools_3_32_00_06_core\gmake.exe -f tirtos.mak drivers'重建驱动程序,但得到的错误相同。

链接器搜索路径如下:

仍然缺少什么?

谢谢

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

    [引用]我现在尝试重建 个正常工作的 CC2650/5XD 项目、该项目最初基于 TI 示例"SPP_ble_server_cc2650_app"、我得到以下链接错误:

    
    未定义 第一个参考
    符号 文件中
    ------ --------
    driverlib_release_0_47020 C:/ti/tirtos_cc13xx_cc26xx_2_21_00_06/products/tidrivers_cc13xx_cc26xx_2_21_00_04/packages/ti/drivers/lib/drivers_cc26xxware.aem3 查看 C:\ti_tirtos_cc13xx_cc26xx_2_21_00_06\products\cc13xxware_2_04_03_17272\driverlib\driverlib_release.h、找到以下宏: 

    //
    //
    //! 此宏应从预编译
    //!函数中调用一次! 可交付软件、将可交付结果锁定到特定 DriverLib
    //! 版本。 必须使用不是
    //的代码进行调用! 优化的距离。
    //!
    //! 此宏锁定到编译时使用的当前 DriverLib 版本。
    //!
    //! 如果尝试将预编译的可交付结果与其他版本一起使用
    //! 将生成链接器错误、表明
    //! "driverlib_release_xx_yyyyy 未定义"或类似。
    //!
    //! 要覆盖该检查、例如升级 DriverLib 但不升级
    //! 预编译的可交付结果、或在混合预编译的可交付结果时、
    //! 应用程序开发人员可能会(自行承担风险)声明缺少 DriverLib
    //! 使用\ref DRIVERLIB_RELEASE_RELEASGE()宏释放。
    ////
    *****************
    #define DRIVERLIB_ASSERT_CURR_RELEASE ()\
    DRIVERLIB_ASSERT_RELEASE (0、47020) 

    因此、有关符号 driverlib_release_0_47020未定义的链接器错误表明您的问题是由预编译库版本不匹配引起的。

    从您的屏幕截图中、driverlib 正在从${CC26CCWARE}/driverlib/bin/ccs/driverlib.lib.链接 我查看了 tirtos_cc13xx_cc26xx_2_21_00_06中正在运行的 CC2650项目、发现 driverlib 链接自 "${COM_TI_RTSC_TIROTOSSIMPLELINK_INSTALL_DIR}/products/cc26xxware_2_21_01_15600/driverlib/bin/ccs/driverlib.lib、即 在${COM_TI_RTSC_TIROTOSSIMPLELINK_DIR}目录下、而不是 CC26_INSTALL 目录下:${COM_TI_INSTALL}

    我怀疑您的链接器错误是因为 ${CC26CCWARE}变量指向的 driverlib 版本与 C:/ti/tirtos_cc13xx_cc26xx_2_21_00_06下的版本不同