我使用 TI RTOS TCP 回显示例开发了 TCP/IP 通信代码。 我已将一个器件配置为主器件、五个从器件。 当三个从器件处于与主器件通信环路中时、它可以正常工作、但除此之外、如果我在通信环路中再添加一个从器件、则主器件中的数据将在微控制器侧不采取任何操作的情况下被损坏。 如果有三个以上的从器件尝试与主器件通信、它也会导致代码崩溃。 我尝试增加微控制器的标桩尺寸、但没有任何运气。
请帮我解决这个问题。
此致、
Sagar
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 TCP 回显示例开发了 TCP/IP 通信代码。 我已将一个器件配置为主器件、五个从器件。 当三个从器件处于与主器件通信环路中时、它可以正常工作、但除此之外、如果我在通信环路中再添加一个从器件、则主器件中的数据将在微控制器侧不采取任何操作的情况下被损坏。 如果有三个以上的从器件尝试与主器件通信、它也会导致代码崩溃。 我尝试增加微控制器的标桩尺寸、但没有任何运气。
请帮我解决这个问题。
此致、
Sagar
您好!
它可能与堆内存分配或内存泄漏有关。 请查看以下帖子是否有用。
您好!
您可以在下面的选项卡中找到程序堆。 对于堆栈、这不是 MCU 问题、而是 C 语言编程问题。 下面是一篇有关的文章、您也可以通过 Google 搜索来查找更多信息。
https://www.geeksforgeeks.org/stack-vs-heap-memory-allocation/
https://hackr.io/blog/stack-vs-heap

为了给大家一个好机会,我将在下星期三休假,我的答复将被推迟。
e2e.ti.com/.../master.zipe2e.ti.com/.../peripheralConfigure.zipe2e.ti.com/.../slave.zipe2e.ti.com/.../6116.tcpEcho.cfg
您好、Charles、
根据您的建议、我配置了堆大小。 我已经为主器件和从器件添加了代码。 在 master.c 中、我使用了一个名为"ethernetPacketBuf[4096]"的缓冲区、我通过 UART 获取数据并将其存储在该缓冲区中。 我接收到3600字节将存储在该缓冲区中、但仍然观察到数据泄漏问题。 我还在这里附加了项目的配置文件。
期待您的回复。
此致
Sagar
您好 Sagar、
我发现 这个 线程 存在一些与 TI-RTOS NDK 相关的已知问题。 尤其是以下两个问题可能与您的相关、但 我不确定。 您能不能看看以下两个问题及其解决方法、看看它们是否有所不同。