mutexEnc28j60
ENC28J60
Ethif_ISR
高prio
Ethif_Recv
最高prio
Lwip-Task
中prio
Tx pbuf List Rx pbuf List
中断
控制控制
binSemEthifISR
binSemEthifRecvbinSemEthifSent
使用 STM32F103RC 芯片,STM32IDE 1.11.0 编译器。LwIP 2.1.3 版本,FreeRTOS 10 支持套接字通信和ping通信。 核心是 lwip 在 OS 模式下的 移植,opt 配置 头文件 中的系统相关参数的配置 非常重要。 FreeRTOS 的 内存配置也非常重要,要考虑到 lwip 会动态创建 task。 主程序在初始化完成后,启动一个 task ,轮询 lwip 的底层数据包。 LwIP 协议栈 驱动 ethernetif.c ethernetif_init() -> low_level_init() -> 初始化底层 MAC&PHY [task] DefaultTask() -> ethernetif_input() -> low_level_input() -> mux + read() [task] tcpip_thread() -> low_level_output() -> mux + write()