Hello,
I am using the FreeRTOS+TCP UltraScale port. In the UltraScale port, I noticed that x_emacpsif.h includes #include "xuartps.h"
However, in my hardware design the PS UART peripheral is not enabled. Because of that, the BSP does not generatexuartps.h, and the project fails to compile. From what I can see, the Ethernet driver itself does not seem to use any XUartPs symbols directly. If I comment out the #include "xuartps.h" line, the code appears to compile.
Is xuartps.h actually required by the FreeRTOS+TCP UltraScale Ethernet port or is this include just a leftover dependency from older code possibly for debug console support?
Thanks.
aggarg
(Gaurav Aggarwal)
May 12, 2026, 9:54am
2
emrecntz:
If I comment out the #include "xuartps.h" line, the code appears to compile.
Is xuartps.h actually required by the FreeRTOS+TCP UltraScale Ethernet port or is this include just a leftover dependency from older code possibly for debug console support?
From a quick glance it seems like not needed. @htibosch What do you think?
htibosch
(Hein Tibosch)
May 23, 2026, 2:47pm
3
Hi , I think that you can safely
#include "xpseudo_asm.h"
#include "xil_cache.h"
-#include "xuartps.h"
#include "xscugic.h"
Including xuartps.h is indeed not needed.
aggarg
(Gaurav Aggarwal)
May 25, 2026, 5:28am
4
Thanks @htibosch ! @emrecntz Would you please raise a PR for this change?
I have raised a PR here:
main ← ismailemrecntz:remove-unused-xuartps-include
opened 08:14PM - 27 May 26 UTC
### Description
This PR removes the unused `#include "xuartps.h"` from the Xi… linx Zynq and UltraScale network interface headers.
When the PS UART peripheral is not enabled in the hardware design, the Xilinx BSP does not generate `xuartps.h`. This causes FreeRTOS+TCP projects using these ports to fail compilation even though the Ethernet network interface does not appear to use any `XUartPs` symbols directly.
Removing this include avoids an unnecessary dependency on the PS UART driver for hardware designs where PS UART is disabled.
This was discussed on the FreeRTOS community forum:
https://forums.freertos.org/t/freertos-tcp-ultrascale-port-requires-xuartps-h/24996
### Changes
- Removed unused `#include "xuartps.h"` from the Zynq network interface.
- Removed unused `#include "xuartps.h"` from the UltraScale network interface.
### Testing
- Verified that the project compiles after removing the unused includes.
- Verified that no `XUartPs` symbols are used by these network interface headers.
I removed the unused xuartps.h include from both the Zynq and UltraScale network interface headers.
Thanks