FreeRTOS-Plus-TCP - Support for new STM32Fxx Ethernet HAL

@ashvajit wrote:

Also , looking at this repo, is it really important to include all of the files ?

FreeRTOS+TCP has 42 basic files, plus a few extra from source/portable.

I normally do not make a selection but add a use a wildcard in a makefile:

    # add all library files
    C_SRCS += /
        $(wildcard $(PLUS_TCP_PATH)/source/*.c)

    # add files from portable
    C_SRCS += /
	    $(PLUS_TCP_PATH)/source/portable/BufferManagement/BufferAllocation_1.c \
		$(PLUS_TCP_PATH)/source/portable/NetworkInterface/STM32Fxx/NetworkInterface.c \
		$(PLUS_TCP_PATH)/source/portable/NetworkInterface/STM32Fxx/stm32fxx_hal_eth.c

Library files that are not needed will not be compiled, depending on macros like ipconfigUSE_IPv6 and ipconfigUSE_DNS.

I wrote earlier:

Please check the documentation on each of the missing application hooks.

An easy way to find the proper documentation is to open a search machine and look for “FreeRTOS xApplicationDNSQueryHook”.

This is how I just found the following pages:

vApplicationIPNetworkEventHook_Multi
vApplicationIPNetworkEventHook
xApplicationDNSQueryHook_Multi
xApplicationDNSQueryHook
xApplicationGetRandomNumber
ulApplicationGetNextSequenceNumber

The functions ending with _Multi are used when you use multiple endpoints, that is when ipconfigIPv4_BACKWARD_COMPATIBLE is not defined.

Indeed these functions are “application hooks”, also called “callbacks”. Take care when using them because the hook is called from the IP-task. It may have a higher task priority, and it may have less stack space. Also it is not allowed to call the +TCP API’s, because the code is running in the IP-task.

But in which file do I need to provide these definitions and where the prototypes should be placed?

I normally put them in a module where it is used. Your are free to choose.

Are there any sample for stm32 that’s what I am looking for…

I made a few Makefile projects to test the IP-stack and other software. You can find it here on github here.
Today I upgraded the stm32F40 project. I will also upgrade the stm32F7 project. I will report here when it is ready.