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.

[参考译文] MCU-PLUS-SDK - AM243X:mmcsd/FreeRTOS-FAT 和未解析的符号

Guru**** 2463330 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1475404/mcu-plus-sdk-am243x-mmcsd-freertos-fat-and-unresolved-symbols

器件型号:MCU-PLUS-SDK AM243X

工具与软件:

大家好!

提前感谢你可以与这个初学者分享任何帮助。

我不熟悉 CCS 和这个平台、但不熟悉一般的编码。

我正在尝试将 mmcsd/FreeRTOS-FAT 功能添加到 SDK 中的现有 udpclient 示例中、以便我可以从 SD 卡上的文件(即243EVM 板、如果有帮助)读取网络配置。

我遇到了使编译器找到所有合适头文件的难题、但现在我遇到了几个 ff_函数、它们由链接器显示为未解析的符号。

[127]未定义的    第一个引用
[128]           文件中的符号     
[129]--------     -------
[130] ff_fclose    ./app_main.o.    
[131] ff_filelength ./app_main.o.    
[132] ff_fopen     ./app_main.o.    
[133] ff_fread     ./app_main.o    
[134] ff_fwrite    ./app_main.o.

由于我是 CCS 新手、我很确定这是个问题、因为我不知道如何告诉编译器和链接器在哪里查找内容、但我已经在"Project"->"Properties"页面中花了一些时间来添加路径等。

想法?

谢谢!

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

    您好!

    Unknown 说:
    但现在我得到了几个 ff_函数、它们由链接器显示为未解析的符号。

    如果构建错误出现在链接器阶段、则可能尚未包含特定库。 请确保您已在示例中包含"freertos_fat"库。

    作为参考、请查看 MMCSD_FILE_IO 示例中包含的库:

    https://github.com/TexasInstruments/mcupsdk-core/blob/next/examples/drivers/mmcsd/mmcsd_file_io/am243x-evm/r5fss0-0_nortos/ti-arm-clang/example.projectspec#L52-L52

    此致、

    Prashant

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

    Prashant,

    非常感谢您的回复以及提供指向该特定行的链接。

    遗憾的是、该路径已经是 CCS 的"Project Properties"对话框中我的链接器设置的一部分。 我还能尝试什么呢?

    谢谢!

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

    您好!

    [报价 userid="642680" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1475404/mcu-plus-sdk-am243x-mmcsd-freertos-fat-and-unresolved-symbols/5664949 #56649"]很遗憾、该路径已经是 CCS 的"Project Properties"对话框中我的链接器设置的一部分。 我还可以尝试其他什么吗?

    在这种情况下、请共享编译日志以查看用于链接的确切命令。

    以下是示例构建日志:

    "c:/ti/CCS_VS/ccs2002/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang.exe cmcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -DSOC_AM243X -D_debug_=1 -g -wall -wl-diag-variable-type-not-at-end /ti/MCU_SDK/AM243x/mcu_plus_sdk_am243x_10_01_00_32/source/kernel/freertos/lib /ti/MCU_SDK/AM243x/mcu_plus_sdk_am243x_10_01_00_32/source/drivers/lib /ti/MCU_SDK/AM243x/mcu_plus_sdk_am243x_10_01_00_32/source/fs/freertos_fat/lib /ti/CCS_VS/ccs2002/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/lib /syscfg/ti_dpl_config.o /syscfg/ti_drivers_config.o /syscfg/ti_drivers_open_close.o /syscfg/ti_pinmux_config.o /syscfg/ti_power_clock_config.o /syscfg/ti_board_config.o /syscfg/ti_board_open_close.o /syscfg/ti_enet_config.o /syscfg/ti_enet_open_close.o /syscfg/ti_enet_soc.o /syscfg/ti_enet_lwipif.o -lfreertos.am243x.r5f.ti-arm-clang.debug.lib -ldrivers.am243x.r5f.ti-arm-clang.debug.lib -lfreertos_fat.am243x.r5f.ti-arm-clang.debug.lib

    此致、

    Prashant

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

    谢谢!

    我认为这让我更接近答案。 我的链接器输出中没有该特定库、即使我_do_在我的链接器设置中有路径也是如此。 我该如何解决这个问题?

    [2]构建目标:"enet_cpsw_udpclient_am243x-evm_r5fss0-0_freertos_ti-arm-clang.out"
    [3]正在调用:ARM 链接器
    /home/user/ti/mcu_plus_sdk_am243x_10_01_00_32/source/kernel/freertos/lib /home/user/ti/mcu_plus_sdk_am243x_10_01_00_32/source/networking/enet/lib /home/user/workspace_ccstheia/enet_cpsw_udpclient_am243x-evm_r5fss0-0_freertos_ti-arm-clang/Debug/syscfg、-w-wl_dl_diag_ex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16 -mlittle-endian -mthumb -dosc_am243X -d_debug_=1 -g -w-w-w-w-var-variable-type-not-at-end -w-w-un-unused-function -dosch /home/user/ti/ccs2001/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/bin/tiarmclang /home/user/ti/mcu_plus_sdk_am243x_10_01_00_32/source/drivers/lib /home/user/ti/mcu_plus_sdk_am243x_10_01_00_32/source/board/lib /home/user/ti/mcu_plus_sdk_am243x_10_01_00_32/source/networking/lwip/lib /home/user/ti/ccs2001/ccs/tools/compiler/ti-cgt-armllvm_4.0.1.LTS/lib /home/user/ti/mcu_plus_sdk_am243x_10_01_00_32/source/fs/freertos_fat/lib /syscfg/ti_dpl_config.o /syscfg/ti_drivers_config.o /syscfg/ti_drivers_open_close.o /syscfg/ti_pinmux_config.o /syscfg/ti_power_clock_config.o /syscfg/ti_board_config.o /syscfg/ti_board_open_close.o /syscfg/ti_enet_config.o /syscfg/ti_enet_open_close.o /syscfg/ti_enet_soc.o /syscfg/ti_enet_lwipif.o -lfreertos.am243x.r5f.ti-arm-clang.debug.lib -ldrivers.am243x.r5f.ti-arm-clang.debug.lib -lenet-cpsw.am243x.r5f.ti-arm-clang.debug.lib -llwipif-cpsw-freertos.am243x.r5f.ti-arm-clang.debug.lib -llwip-freertos.am243x.r5f.ti-arm-clang.debug.lib -llwip-contrib-freertos.am243x.r5f.ti-arm-clang.debug.lib -lboard.am243x.r5f.ti-arm-clang.debug.lib
    [5]makefile:154:目标"enet_cpsw_udpclient_am243x-evm_r5fss0-0_freertos_ti-arm-clang.out"的配方失败

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

    您好!

    我认为这让我更接近答案。 我的链接器输出中没有该特定库、即使我_do_在我的链接器设置中有路径也是如此。 请如何解决此问题?

    请将缺少的库添加到工程中并重新编译示例。 要添加、请打开 工程属性。

    导航至 Build -> Arm Linker -> File Search Path。  按如下所示添加库。

    请参阅下图。

    进行上述更改后、点击 Apply and Close 并重新编译工程。

    此致、

    Tushar

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

    非常感谢! 我再也找不到这个选择了,我很感激你花时间带我走过去。

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

    您好!

    很高兴听到您现在能够构建。

    很乐意提供帮助。

    此致、

    Tushar