build: W600-SDK importiert, Firmware-Build und Hello am EVK
Docker-Build mit gcc-arm-none-eabi 4.9-2014q4 (statt Homebrew-Cask) verwendet, Dockerfile/tools/docker.sh dafür aus Task 13 vorgezogen. cmake/sdk.cmake schont gcc 4.9 (kennt -fcommon/-Wno-error=... nicht). Zwei zusätzliche SDK-Stubs (EarlyInit, pre_gpio_config) in src/sys/sdk_stubs.c ergänzt, siehe sdk/PATCHES.md.
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
# THE VERSION NUMBER
|
||||
SET(CMAKE_SYSTEM_NAME Generic)
|
||||
CMAKE_MINIMUM_REQUIRED (VERSION 3.10)
|
||||
PROJECT(WMLWIP)
|
||||
|
||||
SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
|
||||
SET(CMAKE_NINJA_FORCE_RESPONSE_FILE 1 CACHE INTERNAL "")
|
||||
|
||||
set(CMAKE_VERBOSE_MAKEFILE OFF)
|
||||
|
||||
# ENABLE ASM
|
||||
ENABLE_LANGUAGE(ASM)
|
||||
|
||||
SET(CMAKE_STATIC_LIBRARY_PREFIX)
|
||||
SET(CMAKE_STATIC_LIBRARY_SUFFIX)
|
||||
|
||||
SET(CMAKE_EXECUTABLE_LIBRARY_PREFIX)
|
||||
SET(CMAKE_EXECUTABLE_LIBRARY_SUFFIX)
|
||||
|
||||
# C FLAGS
|
||||
SET(CMAKE_C_FLAGS " -mthumb --function-sections --data-sections -mcpu=cortex-m3 -std=gnu99 -mabi=aapcs -march=armv7-m -fno-builtin ")
|
||||
STRING(APPEND CMAKE_C_FLAGS "-DGCC_COMPILE=1 -DWOLFSSL_USER_SETTINGS -D_IN_ADDR_T_DECLARED -D__MACHINE_ENDIAN_H__ -D_TIMEVAL_DEFINED -D__INSIDE_CYGWIN_NET__ ")
|
||||
|
||||
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g3 -gdwarf-2 -Wall -DDEBUG ")
|
||||
SET(CMAKE_C_FLAGS_RELEASE "-Os -Wall")
|
||||
|
||||
|
||||
# DEBUG ASM FLAGS
|
||||
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -O0 -g3 -gdwarf-2 -Wall -mthumb-interwork -mthumb -std=gnu99 -mcpu=cortex-m3 -march=armv7-m -mabi=aapcs -fno-builtin -DDEBUG ")
|
||||
SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -Os -Wall -mthumb-interwork -mthumb -std=gnu99 -mcpu=cortex-m3 -march=armv7-m -mabi=aapcs -fno-builtin ")
|
||||
|
||||
# Library sources
|
||||
SET(LIBRARY_SOURCES
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/api2.0.3/tls_sockets.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/api2.0.3/tls_netconn.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/dns.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/def.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/init.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/mem.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/memp.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/netif.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/pbuf.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/raw.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/stats.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/sys.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/tcp.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/tcp_in.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/tcp_out.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/udp.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/inet_chksum.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ip.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/timeouts.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/alg.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/ip4_frag.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/ip4_addr.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/ip4.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/dhcp.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/etharp.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/igmp.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/icmp.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv4/autoip.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/ip6_frag.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/ip6_addr.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/ip6.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/dhcp6.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/ethip6.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/icmp6.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/inet6.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/mld6.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/core/ipv6/nd6.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/sys_arch.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/netif/ethernetif.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/netif/ethernet.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/netif/wm_ethernet.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/tcpip.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/api_lib.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/api_msg.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/err.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/netbuf.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/netdb.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/netifapi.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/api/sockets.c"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/lwip2.0.3/apps/mdns/mdns.c"
|
||||
)
|
||||
|
||||
function(ADD_LIB_TARGET LIBTARGET)
|
||||
add_library(${LIBTARGET} OBJECT ${LIBRARY_SOURCES})
|
||||
# ADD_CUSTOM_COMMAND(TARGET ${LIBTARGET} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${EXECUTABLE_OUTPUT_PATH}/${LIBTARGET} ${CMAKE_CURRENT_SOURCE_DIR}/../../Lib/GNU/${LIBTARGET})
|
||||
endfunction()
|
||||
|
||||
ADD_LIB_TARGET(wmlwip.a)
|
||||
Reference in New Issue
Block a user