LwIP 2.2.1在STM32F407VET6平台 移植
This commit is contained in:
105
ThirdParty/lwip-2.2.1/CMakeLists.txt
vendored
Normal file
105
ThirdParty/lwip-2.2.1/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
# LwIP 2.2.1 CMake configuration for STM32F407VET6
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
# Define LwIP library
|
||||
add_library(lwip)
|
||||
|
||||
# Set LwIP source directories
|
||||
set(LWIP_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
set(LWIP_INCLUDE_DIR ${LWIP_SRC_DIR}/include)
|
||||
|
||||
# Core LwIP sources
|
||||
target_sources(lwip PRIVATE
|
||||
# Core IPv4
|
||||
${LWIP_SRC_DIR}/core/ipv4/acd.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/autoip.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/dhcp.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/etharp.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/icmp.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/igmp.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/ip4.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/ip4_addr.c
|
||||
${LWIP_SRC_DIR}/core/ipv4/ip4_frag.c
|
||||
|
||||
# Core IPv6
|
||||
${LWIP_SRC_DIR}/core/ipv6/dhcp6.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/ethip6.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/icmp6.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/inet6.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/ip6.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/ip6_addr.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/ip6_frag.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/mld6.c
|
||||
${LWIP_SRC_DIR}/core/ipv6/nd6.c
|
||||
|
||||
# Core common
|
||||
${LWIP_SRC_DIR}/core/altcp.c
|
||||
${LWIP_SRC_DIR}/core/altcp_alloc.c
|
||||
${LWIP_SRC_DIR}/core/altcp_tcp.c
|
||||
${LWIP_SRC_DIR}/core/def.c
|
||||
${LWIP_SRC_DIR}/core/dns.c
|
||||
${LWIP_SRC_DIR}/core/inet_chksum.c
|
||||
${LWIP_SRC_DIR}/core/init.c
|
||||
${LWIP_SRC_DIR}/core/ip.c
|
||||
${LWIP_SRC_DIR}/core/mem.c
|
||||
${LWIP_SRC_DIR}/core/memp.c
|
||||
${LWIP_SRC_DIR}/core/netif.c
|
||||
${LWIP_SRC_DIR}/core/pbuf.c
|
||||
${LWIP_SRC_DIR}/core/raw.c
|
||||
${LWIP_SRC_DIR}/core/stats.c
|
||||
${LWIP_SRC_DIR}/core/sys.c
|
||||
${LWIP_SRC_DIR}/core/tcp.c
|
||||
${LWIP_SRC_DIR}/core/tcp_in.c
|
||||
${LWIP_SRC_DIR}/core/tcp_out.c
|
||||
${LWIP_SRC_DIR}/core/timeouts.c
|
||||
${LWIP_SRC_DIR}/core/udp.c
|
||||
|
||||
# API
|
||||
${LWIP_SRC_DIR}/api/api_lib.c
|
||||
${LWIP_SRC_DIR}/api/api_msg.c
|
||||
${LWIP_SRC_DIR}/api/err.c
|
||||
${LWIP_SRC_DIR}/api/if_api.c
|
||||
${LWIP_SRC_DIR}/api/netbuf.c
|
||||
${LWIP_SRC_DIR}/api/netdb.c
|
||||
${LWIP_SRC_DIR}/api/netifapi.c
|
||||
${LWIP_SRC_DIR}/api/sockets.c
|
||||
${LWIP_SRC_DIR}/api/tcpip.c
|
||||
|
||||
# Netif
|
||||
${LWIP_SRC_DIR}/netif/ethernet.c
|
||||
)
|
||||
|
||||
# Include directories
|
||||
target_include_directories(lwip PUBLIC
|
||||
${LWIP_INCLUDE_DIR}
|
||||
${LWIP_INCLUDE_DIR}/lwip
|
||||
${LWIP_INCLUDE_DIR}/netif
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/port
|
||||
${CMAKE_SOURCE_DIR}/Drivers/STM32F4xx_HAL_Driver/Inc
|
||||
${CMAKE_SOURCE_DIR}/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy
|
||||
${CMAKE_SOURCE_DIR}/Drivers/CMSIS/Device/ST/STM32F4xx/Include
|
||||
${CMAKE_SOURCE_DIR}/Drivers/CMSIS/Include
|
||||
${CMAKE_SOURCE_DIR}/BSP/Inc
|
||||
${CMAKE_SOURCE_DIR}/HAL/Inc
|
||||
${CMAKE_SOURCE_DIR}/Core/Inc
|
||||
)
|
||||
|
||||
# Compiler definitions for STM32F407
|
||||
target_compile_definitions(lwip PRIVATE
|
||||
STM32F407xx
|
||||
LWIP_PLATFORM_DIAGNOSTIC=1
|
||||
LWIP_NOASSERT=0
|
||||
)
|
||||
|
||||
# Compiler options
|
||||
target_compile_options(lwip PRIVATE
|
||||
-Wall
|
||||
-Wextra
|
||||
-Wpedantic
|
||||
-ffunction-sections
|
||||
-fdata-sections
|
||||
)
|
||||
|
||||
# Add port directory (will contain sys_arch.c and ethernetif.c)
|
||||
add_subdirectory(port)
|
||||
Reference in New Issue
Block a user