What is the correct way to use FreeRTOS and FreeRTOS+TCP in a AMD/Xilinx Vivado/Vitis 2024 (Unified IDE) project?
As far as I can tell the FreeRTOS+TCP ports don’t work with Vitis’ new SDT approach of communicating HW meta data.
What am I supposed to do about this?
We recently had a community contribution as part of PR1227 updating the Xilinx network interface with the new SDT changes, and it is merged to the FreeRTOS+TCP latest main branch on Github.
The author has tested the changes in the PR for FreeRTOS+TCP Xilinx port with new drivers on Vitis 2024.2
Thanks, that’s great news!
However, now I struggle getting Vitis to find the includes:
I’m getting FreeRTOSConfig.h has not been included yet
in FreeRTOSIPConfigDefaults.h, probably because of include order. But no matter what I do, I can’t get rid of it.
I’m getting
FreeRTOSConfig.h has not been included yet
in FreeRTOSIPConfigDefaults.h
Compilation of which source file (.c
) is leading to that error in FreeRTOSIPConfigDefaults.h
?
FreeRTOS.h
should always be the first FreeRTOS related header file included in the source files and then FreeRTOS_IP.h
. Check if that’s the case in any application source/include files that include FreeRTOSIPConfigDefaults.h
.
You can also take a look at this page for folder structure information.
I think the error happens before actual compilation.
I think the #error directive in FreeRTOSIPConfigDefaults.h gets triggered.
I believe this error is reported when you are building the app_component
. Did you try a clean build after changing the include order?
If that doesn’t work, try commenting out the #error
line that’s causing the error and then build it to see if you are getting any other errors. This error might be a side effect of some other errors.