Quality RTOS & Embedded Software

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


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 ]    [ Sitemap ]    [ ]

Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.

Free TCP/IP and file system demos for the RTOS

Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

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

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

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

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists