器件型号: AM2432
我正在使用处理 AM243x 工业通信 SDK 11.00.00.08 和 第三方 EtherNet/IP 协议栈 。
EtherNet/IP 协议栈通过基于套接字的接口运行、因此在第 2 层实现工作协议(例如 LLDP)时、我需要在 L2 处处理原始以太网帧、并将其与协议栈的接口集成。
为此、我尝试使用 SDK 中提供的多个函数 LLD(低级驱动器) 。
(我正在尝试使用它来访问和传输 LLDP 所需的原始以太网帧。)
我打算使用的功能是:
-
cb_lld_recv -
cb_lld_sendto -
cb_lld_set_rxnotify -
cb_rawsock_open
为了启用这些函数、我链接了以下库:
-
tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib -
tsn_unibase-freertos.am243x.r5f.ti-arm-clang.debug.lib
但是、在构建过程中、我遇到了许多问题 未解析的符号 错误、包括:
未解析的符号 EnetSoc_getCoreId、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetQueue_initQ、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetQueue_getQCount、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetQueue_enq、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetQueue_DEQ、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tsnp/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetQueue_append、首先在 ind_comms_sdk_am243x_11_00_00_08/MCU_PLUS_sdk/source/networking/tsn/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetMem_allocEthPkt、首先在 ind_comms_sdk_am243x_11_00_00_08/MCU_PLUS_sdk/source/networking/tsn/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetDma_submitTxPktQ、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetDma_submitRxPktQ、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetDma_retrieveTxPktQ、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetDma_retrieveRxPktQ、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetDma_enableTxEvent、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetAppUtils_validatePacketState、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetAppUtils_freePktInfoQ、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetAppUtils_freeMac、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetAppUtils_assertLocal、首先在 ind_comms_sdk_am243x_11_00_00_08/MCU_PLUS_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetAppUtils_allocMac、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_getTxDmaHandle、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_getRxDmaHandle、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_filterPriorityPacketsCfg、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_coreDetach、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_coreAttach、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_closeTxDma、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_closeRxDma、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_applyClassifier、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
未解析的符号 EnetApp_acquireHandleInfo、首先在 ind_comms_sdk_am243x_11_00_00_08/mcu_plus_sdk/source/networking/tns/lib/tsn_icssg_combase-freertos.am243x.r5f.ti-arm-clang.debug.lib 中引用
我的问题:
-
要使用 LLD 函数、需要链接哪些额外的库?
-
是否有任何所需的预定义符号/编译器定义 才能启用这些 Enet LLD 功能?
-
在带有 SDK 11.00.00.08 的 AM243x R5F 上使用 LLD 进行原始以太网帧访问的正确过程是什么?
由于我使用的是第三方 EtherNet/IP 协议栈、因此我不能依赖 TI EtherNet/IP 适配器示例、因此我需要了解哪些模块和设置是绝对必要的。
如果需要、我可以提供完整的构建配置、链接器命令文件或完整构建日志。
非常感谢您的帮助。