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


V8.2.2 Xilinx Repository Makefile Issues (Ubuntu)

Posted by razed11 on September 26, 2015


I'm using Xilinx SDK 15.2 and there are some minor issues when using the repository to create a BSP on Linux.

First, CreateRepoDirectoryStructure.bat doesn't work on Linux :) but it's easy enough to change .bat to .sh, replace copy with cp, and switch the direction of the slashes.

After including the repository and creating the BSP the build failed. It complains that arm-none-eabi-* commands do not exist. I noticed that Makefile, Makefiledep, and makefileps7_cortexa9 contain the following.

~~~~ ARCH_PREFIX = arm-none-eabi


gnu tools for Makefile

# CC = $(ARCHPREFIX)-gcc AS = arm-none-as AR = $(ARCHPREFIX)-ar CP = cp ~~~~

I changed the ARCHPREFIX and AS to use arm-xilinx-eabi and everything built but I have not yet linked and tried the application (I wanted to submit this before going home for the weekend). It's been a while since I wrote a fancy makefile but I thought there was a way to inherit ARCHPREFIX because it is passed explicitly as arm-xilinx.eabi to the top level make file.

Also the file *.s is created under src. I think this may be because there are no lower case .s files so the following expands to literally *.s on Linux. On windows it probably duplicates the files but I'm not sure.

~~~~ KERNELAROBJS = *.c *.S *.s ~~~~

V8.2.2 Xilinx Repository Makefile Issues (Ubuntu)

Posted by rtel on September 26, 2015

Thanks for the information. When you have everything sorted out I can add a link to this post from the web page that describes how to use the BSP version to help other Linux users.

Note the makesfiles etc. are all generated by the Xilinx tools, which is predominently a Linux tool, although I only use it on Windows. Could the mismatch in compiler names be due to a mismatch in SDK versions?


V8.2.2 Xilinx Repository Makefile Issues (Ubuntu)

Posted by razed11 on September 28, 2015

I believe I have this sorted out.

First, please find a shell script that is equivilent to the .bat script attached.

While Xilinx generates the makefiles it seems to simply copy the one included in the repository to BSPDIRECTORY/ps7cortexa91/libsrc/freertos822xilinxv10/src. Unlike the other libraries which simply have a single makefile called Makefile, Makefiledep and Makefileps7_cortexa9 are also generated. These three makefiles have the same contents.

I made two changes to Makefileps7cortexa9 which is the repository makefile.

I changed the AS definition to also use $(ARCHPREFIX). The definition of ARCHPREFIX is fine because it is indeed overridden by the definition passed at the command line (arm-xilinx-eabi).

~~~~ ARCH_PREFIX = arm-none-eabi


gnu tools for Makefile

# CC = $(ARCHPREFIX)-gcc AS = $(ARCHPREFIX)-as AR = $(ARCH_PREFIX)-ar ~~~~

To correct the *.s file that is created (literally a file named *.s is created) I used $(wildcard):

~~~~ KERNELAROBJS = $(wildcard *.c *.S *.s) ~~~~

I think these two changes will work for both Windows and Linux.

Finally "make clean" does not remove libfreertos.a. This is something that needs to be added to the root makefile. I'm not sure how to get that one fixed as I've found the Xilinx forum to be an unreliable place to post.


V8.2.2 Xilinx Repository Makefile Issues (Ubuntu)

Posted by rtel on September 29, 2015

Thanks for the valuable information. I would be grateful if you could post the updated makefiles so I can see if I can update (or request updates) that will ensure everything works on both host platforms. I can also then link to this post from the documentation page on the FreeRTOS.org website so Linux users can get the information quickly.


[ 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