Quality RTOS & Embedded Software

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


Initialization Overview (Xilinx BSP Repository)

Posted by razed11 on September 26, 2015


I took some time to take a Xilinx Zynq example project (two tasks + queue) and strip away everything to understand how the source files are integrated. Then I tried the BSP repository approach. I generally don't like to give up too much control to these automated tools but it is quite nice and cleaner. Nice work.

Can I get a rough overview of how the RTOS is initialized under these conditions? Where is the timer tick configured and the vectors configured. Do these things happen before main? They seem to as my application just creates the queue and two tasks and it works just fine. I noticed that the FreeRTOS vector table symbol is in play so that table must be relocated at some point.



Initialization Overview (Xilinx BSP Repository)

Posted by rtel on September 26, 2015

The start up sequence when using a stand alone BSP and when using a FreeRTOS BSP are in fact identical - its just that the callback functions which have to be provided by the application when using a standalone BSP are included in the port layer when using the FreeRTOS BSP.

The batch file you elude to in your other post copies the FreeRTOS source file, and the Zynq (Cortex-A9) port layer, into the repo directory, but if you look in the repo directory you will find it already contains some files before the stanard FreeRTOS files are copied across. You will find these in the FreeRTOSDemoXilinxFreeRTOSBSPrepobspfreertos822xilinxv10srcSourceportableGCCARMCA9 directory.

The Zynq uses the standard Cortex-A9 FreeRTOS port layer. The files that are already contained in the repo directory are portZynq7000.c and portasmvectors.S - these two files provide the additional information required to configure and run the standard Cortex-A9 port layer on the Zynq.


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

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

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Meet Richard Barry and learn about running FreeRTOS on RISC-V at FOSDEM 2019

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

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

Xilinx Microblaze and Zynq partner