亲爱的大家,
首先,我必须说我是
STM32F7 微控制器的新手,但我对一般基于 ARM-Cortex M4/M7 的控制器、lwIP 堆栈或 FreeRTOS 并不陌生。
我有以下两个问题:
- SMT32F767ZI + lwIP + FreeRTOS:我尝试使用 STM32CubeIDE (1.5.1) 使用 lwIP+FreeRTOS(在 Nucleo-F767ZI 板上)构建一个简单的应用程序。我建立了一个新项目,配置了我的 MCU 并尝试 ping 我的威廉希尔官方网站
板。这确实行不通。ping 响应有回复,但这是一种“神秘”数据(很多 5s,看起来像是以太网帧同步序列的一部分,但这应该不会被 Wireshark 捕获,见附件文件)。我将 lwIP 堆栈调试到发送响应的位置,我不得不说,即使是 DMA 传输描述符引用的数据,似乎也没有问题(这不是 5s 的序列,这是在 Wireshark 中看到)。有没有人遇到过这样的问题?随着 PING 数据包的接收和处理,我假设基本配置没问题。FreeRTOS 和 lwIP 通过 STM32CubeIDE 中的 GUI (.ioc) 文件包含,lwIP 设置几乎没有变化,设置为:启用 ICMP、TCP 和 UDP 模块,校验和计算由硬件完成。
- 第二个问题:我尝试在导入到 STM32CubeIDE 工作区的 LwIP_HTTP_Server_Netconn_RTOS 示例上设置我的应用程序。但是我无法构建示例,因为缺少很多文件(例如 httpd_opts.h),并且示例的目录结构似乎与应有的目录结构完全不同(例如,没有路径“lwip/apps/httpd_opts.h ). 有谁知道如何解决这个问题(获取丢失的文件)?
我的第一个问题的应用程序被配置为 LwIP_HTTP_Server_Netconn_RTOS 示例(MPU,内存中的固定部分),就我可以从 LwIP_HTTP_Server_Netconn_RTOS 源文件重新设计它而言。