Hi, I’m a few days into FreeRTOS and the V4.0.0 TCP/IP stack on a TEENSY4.1 board. Without the TCP/IP stack, the RTOS is runs just fine. My goal is to build up a few working examples using V4.0.0 of FreeRTOS-PLUS-TCP, so I’m working through the “FreeRTOS-Plus-TCP Networking Tutorial”. I’m stuck in “Initialising the TCP/IP Stack”. The note at the top says that version of init is deprecated, and points to an updated page; however I don’t need IPv6 or multiple interface/endpoint capabilities at this point. Do I lose other features if I stick with the deprecated init and just set the ipconfigIPv4_BACKWARD_COMPATIBLE to 1 in the FreeRTOSIPConfig.h header file?
Thanks in advance,
Ed
Hi @edsut,
No, it should be working fine except for all other IPv6 functionalities. One critical point is that multi-endpoints means you are able to have multiple IP addresses on the device. If you need only one IP address, it’s fine. But I’ll encourage you to use new method described in Initialising the TCP/IP Stack. Could you tell us why you’d like to use deprecated init instead of new ones?
Thank you.
Honestly I’d prefer to not go the deprecated route. I started off with the newer initialization (using FreeRTOS_FillEndPoint), but I wasn’t able to figure out how to initialize the xInterfaces and xEndPoints parameters.
If there’s a simple example of that somewhere, point me to it and I’ll use it!
Thanks,
Ed
Hi,
For user side, you can refer to FreeRTOS_Plus_TCP_IPv6_Demo.
For interface side, you can refer to NetworkInterface_WinPCap.c or DriverSAM for Windows/SAM source code.
Let us know if you have any other questions!
Thank you.
Hi @edsut
Thank you for your feedback, can you tell us if the doc
pointed by @ActoryOu helpful? If not, can you please let us know what are the issues you faced, it will help us improve our documentation and help you better. Thank you
Ok just wanna post an update…
I’m now running with the latest (ipconfigIPv4_BACKWARD_COMPATIBLE = 0).
My confusion was that I thought I had to prepopulate xInterfaces and xEndpoints but I see now (duh) that’s what xxxFillInterfaceDescriptor( ) and FreeRTOS_FillEndPoint() are for.
Progress continues.
Thanks,
Ed
Thanks for your feedback!
I’m closing this issue. Let’s know if you want to discuss further.
Referring to the “Initialising the TCP/IP Stack” example, I’m not seeing where xInterfaces or xEndpoints are instantiated in the code that calls xxxFillInterfaceDescriptor. Is this allowed?
Hi @arecksiedler0531
The xInterfaces and xEndPoints can be instantiated as arrays with their respective data types.
An example from the Windows Simulator demo provides an explanation
FreeRTOS_FillEndPoint
would then populate the endpoints and xxxFillInterfaceDescriptor
populates the interfaces.