主题中讨论的其他器件: C2000WARE
您好!
我将在 F28388D controlCARD 评估(TMDSCNCD28388D)中测试 Enet_lwip 示例项目。 Web 服务器工作正常,我可以看到“lwIP - Interactive example”网页,Web 服务器响应 GET 请求。
但深入验证应用程序、我面临以下问题:
-由于变量“sysstickPeriodValue”设置为15000000,所以不能将其清除;在 Concerto 库中,系统定时器中断周期设置为10ms。 在该示例中,变量“SysTick PeriodValue”用于系统计时器中断周期,并通过 lwIPTimer 函数更新 lwIP 以太网计时器。 假设 CM 时钟频率为125MHz (我不知道使用哪个 c28x1项目、因此我不知道系统时钟配置)、 系统定时器中断周期为120ms、lwIP 以太网定时器随 SYstickPeriodValue 值递增。
-如果我在 CCS“Predefined Symbols”窗口中添加调试符号以启用 LWIP_platform_assert 宏,则应用程序将在“错误处理函数”中停止。 lwip 堆栈预计 Ethernet_Pkt_Desc 结构(pktDescriptionorRXCustom)被分配到堆 RAM 中。在示例中、pktDescriptionorRXCustom 是一个全局数组。
此外、我不清楚为什么需要在本示例中使用自定义回调函数
//
//分配回调以在需要时获取数据包缓冲区
//在发送中断回调时释放 TxPacketBuffer
//接收数据包完成中断时进行接收数据包回调
//
pInitCfg->pfcbRxPacket =以太网_receivePacketCallbackCustom;
pInitCfg->pfcbGetPacket =以太网_getPacketBufferCustom;
pInitCfg->pfcbFreePacket =以太网_releaseTxPacketBufferCustom;
-如果我继续重新加载网页(例如,按住 Ctrl+R 按钮在 Firefox 浏览器上重新加载页面),Web 服务器将崩溃。 我观察到,TCP 连接期间的许多“三方握手”仍处于挂起状态,导致 TCP 在两端(客户端、服务器)重新传输数据包。
我知道 enet_lwip 项目只是一个示例、应用程序改进是开发人员的关注点、但我们非常感谢您的任何帮助。
提前感谢、
小
电源
我正在使用以下库和 IDE:
C2000Ware_2_01_00_00
CCS 9.2.0.00013
