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.

[参考译文] CC3235MODASF:根据编译器优化级别、最新 dsk 的链接器失败

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/995197/cc3235modasf-linker-failure-with-latest-dsk-depending-on-compiler-optimization-level

器件型号:CC3235MODASF

您好!

使用最新的 SDK、如果编译器未设置为优化级别4 (整个程序)、则我的工程无法链接。

SDK 5.10.0.02

编译器20.2.4

CCS 10.2.0.00009  

cc3235modasf 与 ti-rtos

undefined                    first referenced                                                             
  symbol                          in file                                                                  
 ---------                    ----------------                                                             
 CryptoCC32XX_HmacParams_init C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<md5.obj>   
 CryptoCC32XX_decrypt         C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<wifi.obj>  
 CryptoCC32XX_open            C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<md5.obj>   
 CryptoCC32XX_sign            C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<md5.obj>   
 I2C_Params_init              C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<i2c_if.obj>
 I2C_close                    C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<i2c_if.obj>
 I2C_init                     C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<i2c_if.obj>
 I2C_open                     C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<i2c_if.obj>
 I2C_transferTimeout          C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<i2c_if.obj>
 Watchdog_Params_init         C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<wdt_if.obj>
 Watchdog_clear               C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<wdt_if.obj>
 Watchdog_convertMsToTicks    C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<wdt_if.obj>
 Watchdog_init                C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<wdt_if.obj>
 Watchdog_open                C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<wdt_if.obj>
 Watchdog_setReload           C:/workspace/ccs_v3/cc32xx_roomz_lib/Release/cc32xx_roomz_lib.lib<wdt_if.obj>
 
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "sensor_v3.out" not built

它是在我从 SDK_4_40_00_07切换时启动的。

您是否需要任何特定信息才能重现此问题?

C é dric

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

    请尝试将"source/ti/drivers/lib/drivers_cc32xx.aem4" lib 添加到链接器中(在 CCS 中、您应该将其添加到 Project Properties:Build->ARM Linker->File Search Path 中)。

    在链接项目时、此存档似乎在某种程度上缺失。

    BR、

    Kobi  

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

    您好、Kobi、

    源"ti/drivers/lib/ccs/m4/drivers_cc32xx.a"已存在、当编译器优化级别设置为4时、链接器会无错误地完成。

    只有在更改编译器优化级别时、我才会遇到问题。  

    也许相关的事实是、我正在使用两个 CCS 项目、一个是静态库、另一个是使用静态库的输出。

    C é dric

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

    我不确定您的静态库。 我希望链接器会采用包含 TI 驱动程序库的静态库、但它应该与优化级别无关(因此、如果链接器在一个优化级别下工作、它将在不同级别下工作)。

    您是否仅在应用程序失败时更改其优化级别?

    我尝试过此操作、无法重现问题。 您能否从5.10示例工程开始(更改优化并查看其是否正常工作)并在其中添加/替换您的工程文件。