111 lines
3.8 KiB
C
111 lines
3.8 KiB
C
/*
|
||
* lwipopts.h - STM32F407VET6 平台的 LwIP 配置文件
|
||
*
|
||
* 根据 STM32F407VET6 硬件特性优化配置
|
||
*/
|
||
|
||
#ifndef __LWIPOPTS_H__
|
||
#define __LWIPOPTS_H__
|
||
|
||
/* ---------- 平台特定配置 ---------- */
|
||
|
||
/* 无操作系统配置 */
|
||
#define NO_SYS 1
|
||
#define SYS_LIGHTWEIGHT_PROT 0
|
||
#define NO_SYS_NO_TIMERS 1
|
||
#define NO_SYS_NO_SYS_TIMEOUT 1
|
||
|
||
/* 内存配置(STM32F407VET6 有 192KB RAM) */
|
||
#define MEM_SIZE 16384 /* 16KB 内存池 */
|
||
#define MEMP_NUM_PBUF 16 /* PBUF 数量 */
|
||
#define MEMP_NUM_UDP_PCB 8 /* UDP PCB 数量 */
|
||
#define MEMP_NUM_TCP_PCB 8 /* TCP PCB 数量 */
|
||
#define MEMP_NUM_TCP_PCB_LISTEN 4 /* TCP 监听 PCB 数量 */
|
||
#define MEMP_NUM_TCP_SEG 16 /* TCP 段数量 */
|
||
|
||
/* PBUF 配置 */
|
||
#define PBUF_POOL_SIZE 16 /* PBUF 池大小 */
|
||
#define PBUF_POOL_BUFSIZE 1520 /* PBUF 缓冲区大小(以太网 MTU + 头部) */
|
||
|
||
/* 网络接口配置 */
|
||
#define LWIP_NETIF_LINK_CALLBACK 1 /* 启用链接状态回调 */
|
||
#define LWIP_NETIF_HOSTNAME 1 /* 启用主机名 */
|
||
#define NETIF_MAX_HWADDR_LEN 6 /* MAC 地址长度 */
|
||
|
||
/* ---------- 协议栈配置 ---------- */
|
||
|
||
/* IPv4 配置 */
|
||
#define LWIP_IPV4 1 /* 启用 IPv4 */
|
||
#define LWIP_ARP 1 /* 启用 ARP */
|
||
#define LWIP_ICMP 1 /* 启用 ICMP(Ping) */
|
||
#define LWIP_IGMP 0 /* 禁用 IGMP */
|
||
#define LWIP_DHCP 1 /* 启用 DHCP */
|
||
|
||
/* IPv6 配置 */
|
||
#define LWIP_IPV6 0 /* 禁用 IPv6 */
|
||
|
||
/* TCP 配置 */
|
||
#define LWIP_TCP 1 /* 启用 TCP */
|
||
#define LWIP_TCP_KEEPALIVE 1 /* 启用 TCP 保活 */
|
||
#define TCP_TTL 255 /* TCP TTL */
|
||
#define TCP_WND 2048 /* TCP 窗口大小 */
|
||
#define TCP_MAXSEG 1460 /* TCP 最大段大小 */
|
||
|
||
/* UDP 配置 */
|
||
#define LWIP_UDP 1 /* 启用 UDP */
|
||
#define UDP_TTL 255 /* UDP TTL */
|
||
|
||
/* DNS 配置 */
|
||
#define LWIP_DNS 1 /* 启用 DNS */
|
||
|
||
/* ---------- 应用层配置 ---------- */
|
||
|
||
/* 套接字 API - 在无操作系统环境中禁用 */
|
||
#define LWIP_SOCKET 0 /* 禁用套接字 API */
|
||
|
||
/* 网络接口 API - 在无操作系统环境中禁用 */
|
||
#define LWIP_NETIF_API 0 /* 禁用网络接口 API */
|
||
|
||
/* 网络连接 API - 在无操作系统环境中禁用 */
|
||
#define LWIP_NETCONN 0 /* 禁用网络连接 API */
|
||
|
||
/* ---------- 性能优化 ---------- */
|
||
|
||
/* 校验和配置 */
|
||
#define CHECKSUM_BY_HARDWARE 1 /* 启用硬件校验和 */
|
||
|
||
/* 内存优化 */
|
||
#define MEM_ALIGNMENT 4 /* 内存对齐 */
|
||
#define MEM_SIZE_ALIGNED 1 /* 内存大小对齐 */
|
||
|
||
/* ---------- 调试配置 ---------- */
|
||
|
||
/* 调试级别 */
|
||
#define LWIP_DEBUG 1 /* 启用调试 */
|
||
#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_OFF
|
||
#define LWIP_DBG_TYPES_ON LWIP_DBG_ON
|
||
|
||
/* 具体模块调试 */
|
||
#define NETIF_DEBUG LWIP_DBG_OFF
|
||
#define PBUF_DEBUG LWIP_DBG_OFF
|
||
#define IP_DEBUG LWIP_DBG_OFF
|
||
#define ICMP_DEBUG LWIP_DBG_OFF
|
||
#define TCP_DEBUG LWIP_DBG_OFF
|
||
#define UDP_DEBUG LWIP_DBG_OFF
|
||
#define TCPIP_DEBUG LWIP_DBG_OFF
|
||
#define DHCP_DEBUG LWIP_DBG_OFF
|
||
#define DNS_DEBUG LWIP_DBG_OFF
|
||
#define SOCKETS_DEBUG LWIP_DBG_OFF
|
||
|
||
/* ---------- 平台特定定义 ---------- */
|
||
|
||
/* STM32F407VET6 特定定义 */
|
||
#define STM32F407xx 1
|
||
#define LAN8720_PHY_ADDRESS 0x00 /* LAN8720 PHY 地址 */
|
||
|
||
/* 硬件校验和支持 */
|
||
#define ETH_PAD_SIZE 0
|
||
#define LWIP_CHECKSUM_ON_COPY 0
|
||
|
||
#endif /* __LWIPOPTS_H__ */
|