工具/软件:
你好!
今天的问候!
我有一个使用 TI RTOS (2.16) 并使用 USB 的现有工程。 但我现在愿意使用以太网。 我愿意 将 TcpEcho 套接字代码与现有应用集成。 根据我的理解、我必须在属性中添加 NDK、并且必须更改.cfg NDK 配置。 我在整合这些项目时仍面临一些问题。 您能指导我如何实现这一目标吗? 我收到未定义的栈大小和 NIMUDeviceTable 错误。
期待您的帮助! 请查看下面随附的屏幕截图
此致、
Siddhi Upadhyay




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.
工具/软件:
你好!
今天的问候!
我有一个使用 TI RTOS (2.16) 并使用 USB 的现有工程。 但我现在愿意使用以太网。 我愿意 将 TcpEcho 套接字代码与现有应用集成。 根据我的理解、我必须在属性中添加 NDK、并且必须更改.cfg NDK 配置。 我在整合这些项目时仍面临一些问题。 您能指导我如何实现这一目标吗? 我收到未定义的栈大小和 NIMUDeviceTable 错误。
期待您的帮助! 请查看下面随附的屏幕截图
此致、
Siddhi Upadhyay




您好、
您能先尝试一下 TcpEcho 项目吗? 您是否会遇到编译问题?
有关未定义的 NIMUDeviceTable、请参阅此帖子。 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/574689/rtos-tm4c1294ncpdt-tiva-ti-rtos-unresolved-symbol-nimudevicetable?tisearch=e2e-sitesearch&keymatch=NIMUDeviceTable#。 如果您导入了 TcpEcho 工程、则 NIMUDeviceTable 在板级文件 ek_TM4C1294XL .c 中定义。 由于要将以太网添加到现有工程中、因此板级配置文件很可能不会更新。 理想的方法是首先按原样运行 TcpEcho 工程、然后将生成的板级配置文件与当前板级配置文件进行比较、然后调整所需的设置。
尊敬的 Charles:
感谢您的答复。
我了解了这两个工程的.cfg 文件、并尝试集成它们。 我在这方面取得了良好进展。 但 TcpEchoHooks.c 中调用了函数 netOpenHook ,我也在我的独立代码中使用了相同的函数,并正确地声明了它,但它给了我一个错误的说 “netOpenHook 未定义“ 。 我已将 NDK 配置添加到我的.cfg 中。 我还提到了栈挂钩函数中的函数声明。 我附上了下面的屏幕截图以供您参考。
请帮助我解决这个问题、期待您的答复。
此致、
Siddhi








尊敬的 Siddhi:
[引述 userid=“641596" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1547611/ek-tm4c1294xl-willing-to-integrate-the-tcpecho-example-project-from-ti-rtos-ndk-wit-another-existing-application-project/5958709
我了解了这两个工程的.cfg 文件、并尝试集成它们。 我在这方面取得了良好进展。 但 TcpEchoHooks.c 中调用了函数 netOpenHook ,我也在我的独立代码中使用了相同的函数,并正确地声明了它,但它给了我一个错误的说 “netOpenHook 未定义“ 。 我已将 NDK 配置添加到我的.cfg 中。 我还提到了栈挂钩函数中的函数声明。 我附上了下面的屏幕截图以供您参考。
请帮助我解决这个问题、期待您的答复。
此致、
Siddhi

链接期间会生成错误。
在下面的文章中、Todd 提到使用 XCCONF 配置的 TcpEcho 工程 将 自动拾取必要的库。 您可以在 debug/configPkg 中查看生成的 linker.cmd 文件。 您可以看到需要添加的 NDK 库。
在下面的文章中、OP 显示了如何在链接器脚本中指定 NDK 库、以及如何解决问题。
没有、工程没有编译、我收到相同的错误、netOpenHook 未定义、首先在_pem4f.oem4f 文件中引用。
[/报价]尊敬的 Siddhi:
我认为您至少在链接器命令文件中添加 NDK 库后进行了编译。 现在我感到困惑了。 如果您无法构建工程、如何将固件加载到闪存中?
在任何情况下,我会建议您从一个干净的 TcpEcho 项目开始,因为它被证明是开箱即用。 然后、您可以添加与 USB 相关的源代码。 你有试过吗?
我也想给你们一个机会,我将在下星期离开办公室。 我的回复可能会出现延迟。
您好:
不、我没有TcpEcho以该示例作为基础。
我继续工作我的独立项目,并手动添加了必要的文件从TcpEcho例子,tcpEcho.c,tcpEchoHooks.c,EK_TM4C1294XL.c,,, EK_TM4C1294XL.h和Board.h。 之后、我通过.cfg文件配置了 NDK。
但我遇到了一个问题、netOpenHook即 NDK 的函数 (tcpEchoHooks.c) 没有正确链接或引用。 要解决此问题、我必须将上述文件移动到inc 和src 文件夹之外。 由于netOpenHook预计会全局定义、因此将这些文件放置在内部inc 或src 阻止 NDK 正确链接它们。