Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT


Zynq: Can not compile FreeRTOS with the LwIP stack with the Xilinx SDK tools using the SOCKET_API option selected

Posted by mikeeeeeee on May 29, 2014

I am using version 2014.4 of the Xilinx SDK tools. I am using 8.0.1 downloaded from the FreeeRTOS site.

I have followed the http://www.freertos.org/RTOS-Xilinx-Zynq.html instructions to create a starting project and would like to use TCP/IP sockets in my application so I did the following steps. 1. Open the sytstem.mms file and clicked the modify Modify BSP button. 2. I check the box next to lwip140. Version 1.06a is the selected by default. 3. If I click OK now and rebuild the project it will rebuild without any errors. 4. I want to use the socket API so I select the lwip140 from the tree on the left and in the apimode row I change from RAWAPI to SOCKET_API. 5. I try and rebuild the BSP I get the following error.

lwIP can be used with the following EMAC peripherals found in your system: ps7ethernet0

ERROR:EDK - issued from TCL procedure "lwipswdrc" line 10 lwip140 () - lwIP with Sockets requires "xilkernel or freertos" OS ERROR:EDK - Error(s) while running DRCs. make: *** [ps7cortexa90/lib/libxil.a] Error 2 make: Target `all' not remade because of errors.

How can I build with the BSP with the socket API enabled in the LwIP stack with version 8.0.1 of FreeRTOS?

Zynq: Can not compile FreeRTOS with the LwIP stack with the Xilinx SDK tools using the SOCKET_API option selected

Posted by rtel on May 29, 2014

Well I'm afraid I cannot support Xilinx's tools, but am willing to speculate from experience of using them.

Real Time Engineers Ltd provide FreeRTOS projects for the Zynq with the FreeRTOS code being built as part of the application. The projects have a dependency on a hardware design project and a 'stand alone' BSP project.

Xilinx provide FreeRTOS as a BSP in place of the stand alone BSP. Therefore when you create a networking project only the application code is the main project, and that project has dependencies the lwIP BSP, a hardware project (as before) and the FreeRTOS BSP project.

My speculation is then that in the TCL code the lwIP BSP has a dependency on the FreeRTOS BSP, and as you are working with a project that builds FreeRTOS as part of the application the TCL code doesn't know about it and flags a dependency error.

As it happens I am also working on updating the official FreeRTOS project to include lwIP, but in my project lwIP is being built as part of the application, not as a BSP component, so the dependency will not exist. This is in active development at the moment, but I'm afraid I can't say when it will be released yet.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS