06-30-2014 09:29 AM - edited 06-30-2014 10:40 AM
My problem : I am trying to build a Networking application with the FreeRTOS Source code included as part of the Application. Since I need the socket API's of lwip for the my application , the BSP throws an error as it needs xilkernel or FreeRTOS OS and it is not able to recognise that the FreeRTOS is part of my application!
Source of my Problem : TCL code of the lwIP BSP has a dependency on the FreeRTOS BSP, and since I am 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.
Now some of you might suggest why dont I just build the application using the Xilinx FreeRTOS BSP. I already did that and found out that the FreeRTOS bsp is horrendously outdated! The FreeRTOS BSP I could find is based on FreeRTOS V7.0.2 !! This was released in September 20 2011! And there are so many changes and improvements till the latest version which is V8.0.1 released 2nd May 2014!
I did look hard but could not find the BSP with FreeRTOS V8.0.1! So the only way to use the V8.0.1 was to directly download it from the freeRTOS Website and build it as part of my application. Integrating the FreeRTOS into the application was easy thanks to the Zynq demo project provided alone with the sources! Just when I thought every thing is going to be okay from here I hit this road bump! I searched on the freeRTOS website and found the exact same problem here
Bottomline :Can any one give me the slightest clue on how to build the lwip socket mode stanalone BSP with FreeRTOS included in the application ? Or point me to where I can get the FreeRTOS BSP for FreeRTOS v8.0.1 ? May be some how I missed it..
Hope I have included all the information pertaining to the problem
Thank you so much.
07-04-2014 12:13 AM
Are you using 2014.2 version of SDK?
If so, use the FreeRTOS BSP that I have attached (Xilinx_Zynq).
There is an issue with SDK 2014.2 where in the LwIP in socket API does not get compiled.
Please apply the patch given in the AR below:
07-04-2014 06:06 AM - edited 07-04-2014 06:09 AM
Thank you for the reply. I was able to successfully build the FreeRTOS BSP and compile it with the Socket API of Lwip. But as I mentioned in my original post , the Xilinx FreeRTOS BSP is extremely outdated. It is based on FreeRTOS version 7.0.2. I was looking for a way to used their latest version which is 8.0.1.
The reason is there has been a lot of changes to the FreeRTOS since 7.0.2 . Using the FreeRTOS BSP I dont have access to a lot of configuration parameters for the FreeRTOSConfig.h file as the only way to configure the settings in the FreeRTOSConfig.h file is in the BSP settings.
The other (more important )reason is the interrupt handling . The procedure on the official FreeRTOS site ( http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html ) applies to their latest version and none of these things can be done in the 7.0.2 version which is present in the Xilinx FreeRTOS BSP. Please correct me if I am wrong.
That is why I was looking for a FreeRTOS BSP based on the FreeRTOS 8.0.1 version or a way to compile a standalone BSP with Socket API's and FreeRTOS as part of the Application. That way I can use the latest version of FreeRTOS
06-22-2015 03:08 AM
I believe the latest FreeRTOS versions have lwip as part of their source code. So you don't need xilinx lwip BSP's any more. You just need the Standalone BSPs for other xilinx functions.
The best way to set up the FreeRTOS is to download the demo project and follow the steps TO THE LETTER. After the demo application works you can edit it to suit your application.
Hope this helps!
10-07-2016 11:56 AM
You can have a look here : http://www.freertos.org/a00102.html
The demo projects are part of the source code. You just have to import them into your work space. Make sure you do not copy the sources and only reference them. These instructions are very explicit in the demo project instructions.
Hope that helps
All the best!
05-19-2017 06:15 AM
What is the difference between building sdk using Cortex-A9 RTOS port to run FreeRTOS on a ZC702 evaluation board using the Xilinx SDK and GCC and creating a FreeRTOS BSP ? I want to do udp communication for multiple ports and I want to make use of socket then which one should be chosen? sdk using cortex A9 RTOS port to run Free RTOS or creating a Free RTOS BSP? and Iam using Xilinx sdk 2016.4