mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-15 09:17:44 -04:00
* Add IPv6 Demo (#937) * Add demo changes * Update kernel and library paths * Update main.c * Run uncrustify * Fix spell checker * CI check file headers update * Add IPv6/v4 UDP echo server with zero copy/non-zero copy versions * Add VS proj file changes to include the UDP echo sample code * readme update --------- Co-authored-by: Tony Josi <tonyjosi@amazon.com> * Update Backward Compatibility Flag (#954) * Update Backward Compatibility Flag * Update FreeRTOS_GetUDPPayloadBuffer_ByIPType * Update FreeRTOS_IPStart to FreeRTOS_IPInit_Multi * Update Application APIs * Remove ipconfigCOMPATIBLE_WITH_SINGLE * Update Static Lib files (#956) * Update Static Lib files * making vApplicationIPNetworkEventHook backward compatible in demos * Update CI check file headers --------- Co-authored-by: Tony Josi <tonyjosi@amazon.com> * Add WinPCap NetworkInterface Changes (#958) * Update winpcap network interface * Run uncrustify * Update function to include NetworkInterface_t parameters * Adding compatibility for xApplicationDNSQueryHook with latest dev branch for old demos (#957) * adding compatibility for xApplicationDNSQueryHook with latest dev branch * adding tcp echo server source * removing unused sub demos * fix build issues (#969) * Update demo to latest +TCP dev/IPv6_integration (#978) * remove macro namings * rename sin_addr to sin_address.ulIP_IPv4 for ipv6 demo * replace in6addr_any with FreeRTOS_in6addr_any * replace mainCREATE_UDP_ECHO_SERVER_TASK with mainCREATE_UDP_ECHO_TASKS_SINGLE * handle removal of sin_addr macro to sin_address.ulIP_IPv4 * updating +TCP repo to latest dev/IPv6_integration * minor update to more clear code * more sin_addr to sin_address.ulIP_IPv4 replacements * fix makefiles for qemu and posix demos * review feedback changes * Update FreeRTOS-Plus-TCP for RC2 * Change from PR (#994) * Update FreeRTOS-Plus-TCP for RC2 * Update copyright * Ignore WinPCap for files header check failure. * Update checker * Update manifest * Point manifest to latest commit * Fix Spell-checker * Update doxygen * Update xApplicationDHCPHook for backward compatibility (#999) * Update xApplicationDHCPHook for backward compatability * Update IPv6 * Update VisualStudio Static Project files * Update pxEndPoint error (#1002) * Update IPv6 demo ReadMe (#1004) * Update ReadMe * Update setup requirement * Update UDP demo info * Update comment * TCP demo changes post build separation (#1011) * adding sin_family to dest adddr for FreeRTOS_sendto * updating FreeRTOS_bind to input sin_family post build separation changes * updating FreeRTOS_connect to input sin_family post build separation changes * minor fix * updating copyright year * updating file headers * updating +TCP submodule * updating file headers * updating file headers * updating manifest file to have latest +TCP submodule hash * Fix issue with posix demo while running with ipconfigIPv4_BACKWARD_COMPATIBLE enabled for +TCP stack (#1027) * Update the submodule pointer to IPv6 main * Update manifest with latest TCP commit * Update file checker exception * Ignore Visual studio project file from file header checker --------- Co-authored-by: Tony Josi <tonyjosi@amazon.com>
93 lines
2.6 KiB
Makefile
93 lines
2.6 KiB
Makefile
CC = arm-none-eabi-gcc
|
|
BIN := freertos_tcp_mps2_demo.axf
|
|
|
|
BUILD_DIR := build
|
|
|
|
FREERTOS_DIR_REL := ../../../FreeRTOS
|
|
FREERTOS_DIR := $(abspath $(FREERTOS_DIR_REL))
|
|
KERNEL_DIR := $(FREERTOS_DIR)/Source
|
|
|
|
FREERTOS_PLUS_DIR_REL := ../../../FreeRTOS-Plus
|
|
FREERTOS_PLUS_DIR := $(abspath $(FREERTOS_PLUS_DIR_REL))
|
|
|
|
INCLUDE_DIRS += -I.
|
|
|
|
FREERTOS_TCP = ${FREERTOS_PLUS_DIR}/Source/FreeRTOS-Plus-TCP
|
|
|
|
# Demo Source Files
|
|
SOURCE_FILES += startup.c
|
|
SOURCE_FILES += syscalls.c
|
|
SOURCE_FILES += main.c
|
|
SOURCE_FILES += main_networking.c
|
|
SOURCE_FILES += TCPEchoClient_SingleTasks.c
|
|
|
|
INCLUDE_DIRS += -ICMSIS
|
|
|
|
# FreeRTOS Kernel
|
|
INCLUDE_DIRS += -I$(KERNEL_DIR)/include
|
|
|
|
SOURCE_FILES += $(KERNEL_DIR)/tasks.c
|
|
SOURCE_FILES += $(KERNEL_DIR)/list.c
|
|
SOURCE_FILES += $(KERNEL_DIR)/queue.c
|
|
SOURCE_FILES += $(KERNEL_DIR)/timers.c
|
|
SOURCE_FILES += $(KERNEL_DIR)/event_groups.c
|
|
|
|
# FreeRTOS Kernel ARM Cortex-M3 Port
|
|
INCLUDE_DIRS += -I$(KERNEL_DIR)/portable/GCC/ARM_CM3
|
|
|
|
SOURCE_FILES += $(KERNEL_DIR)/portable/GCC/ARM_CM3/port.c
|
|
SOURCE_FILES += ${KERNEL_DIR}/portable/MemMang/heap_3.c
|
|
|
|
# FreeRTOS+TCP
|
|
INCLUDE_DIRS += -I${FREERTOS_TCP}/source/include/
|
|
|
|
SOURCE_FILES += $(wildcard ${FREERTOS_PLUS_DIR}/Source/FreeRTOS-Plus-TCP/source/*.c )
|
|
|
|
# FreeRTOS+TCP Port for ARM MPS2 SoC
|
|
INCLUDE_DIRS += -I${FREERTOS_TCP}/source/portable/NetworkInterface/MPS2_AN385/ether_lan9118
|
|
INCLUDE_DIRS += -I${FREERTOS_TCP}/source/portable/Compiler/GCC
|
|
|
|
SOURCE_FILES += ${FREERTOS_TCP}/source/portable/BufferManagement/BufferAllocation_2.c
|
|
SOURCE_FILES += ${FREERTOS_TCP}/source/portable/NetworkInterface/MPS2_AN385/NetworkInterface.c
|
|
SOURCE_FILES += ${FREERTOS_TCP}/source/portable/NetworkInterface/MPS2_AN385/ether_lan9118/smsc9220_eth_drv.c
|
|
|
|
DEFINES := -DQEMU_SOC_MPS2 -DHEAP3
|
|
|
|
LDFLAGS = -T mps2_m3.ld -specs=nano.specs --specs=rdimon.specs -lc -lrdimon
|
|
LDFLAGS += -Xlinker -Map=${BUILD_DIR}/output.map
|
|
|
|
CFLAGS += -nostartfiles -mthumb -mcpu=cortex-m3 -Wno-error=implicit-function-declaration
|
|
CFLAGS += -Wno-builtin-declaration-mismatch -Werror
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
CFLAGS += -ggdb3 -Og
|
|
else
|
|
CFLAGS += -O3
|
|
endif
|
|
CFLAGS += -fstrict-aliasing -Wstrict-aliasing -Wno-error=address-of-packed-member
|
|
|
|
OBJ_FILES := $(SOURCE_FILES:%.c=$(BUILD_DIR)/%.o)
|
|
|
|
CPPFLAGS += $(DEFINES)
|
|
CFLAGS += $(INCLUDE_DIRS)
|
|
|
|
.PHONY: clean
|
|
|
|
$(BUILD_DIR)/$(BIN) : $(OBJ_FILES)
|
|
$(CC) -ffunction-sections -fdata-sections $(CFLAGS) $(LDFLAGS) $+ -o $(@)
|
|
|
|
%.d: %.c
|
|
@set -e; rm -f $@; \
|
|
$(CC) -M $(CPPFLAGS) $< > $@.$$$$; \
|
|
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
|
|
rm -f $@.$$$$
|
|
|
|
INCLUDES := $(SOURCE_FILES:%.c=$(BUILD_DIR)/%.d)
|
|
-include $(INCLUDES)
|
|
|
|
${BUILD_DIR}/%.o : %.c Makefile
|
|
-mkdir -p $(@D)
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -MMD -c $< -o $@
|
|
|
|
clean:
|
|
-rm -rf build
|