We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!


XAPP1079 in Vivado 2015.4

Posts: 1
Registered: ‎01-27-2016

XAPP1079 in Vivado 2015.4


I´m trying to update my project in Vivado 2014.4 to 2015.4.

In this project, I use both ARMs CPUs, using BSP source for SDK 2014.2.


But in XAPP1079 only are available BSP sources for Vivado 2015.2, and I can´t run the second ARM.

Are there any advance about this for Vivado 2015.4??


Thank you.

Posts: 4
Registered: ‎12-29-2015

Re: XAPP1079 in Vivado 2015.4

Hi everyone,


I have the same problem. I have started new project with licenced Vivado and SDK 2015.4 but we have not started the second core with default fsbl project.


thanks your helps.

Posts: 17
Registered: ‎05-12-2015

Re: XAPP1079 in Vivado 2015.4

Hi jasonweb,


I am interested too in using xapp1079 into Vivado 2015.4, but only the SDK part.

I used the update to Vivado 2015.2 but i see there are problems with the drivers of cdma and vdma: it doesn't recognize xil_types.h


Did you find any solution?


Thank you.




Xilinx Employee
Posts: 5,894
Registered: ‎08-01-2008

Re: XAPP1079 in Vivado 2015.4

I would suggest:
1. Compare the AMP BSP provided by Xapp1079 and the Xilinx standard BSP, mark the difference between them.
2. Then try to modify the standard BSP with the version you are using.
3. Make a repository folder and add it to the SDK repository.
Thanks and Regards
Please mark the post as an answer "Accept as solution" in case it helped resolve your query.
Give kudos in case a post in case it guided to the solution.
Xilinx Employee
Posts: 807
Registered: ‎02-01-2008

Re: XAPP1079 in Vivado 2015.4

As balkris suggests:

  1. copy the latest version of standalone bsp found at <sdk_install>/data/embeddedsw/lib/bsp/standalone_v5_3 to your local sdk repository (sdk_repo)
  2. rename it to standalone_v5_39
  3. modify data/standalone.mld and change OPTION DESC to something meaningfull and change OPTION VERSION to 5.39
  4. I presume you are using the gcc compiler so diff src/cortexa9/gcc/boot.S with the same file in your older standalone from sdk_repo and merge all of the differences into your new boot.S. The changes should include: adding the globals _cpu0_catch, _cpu1_catch, OKToRun and EndlessLoop0, and changing the beginning assembly code from the #if XPAR_CPU_ID sections to /* test which processor is running and jump to the catch address.......
  5. Also merge the differences of src/cortexa9/gcc/asm_vectors.S. The changes include: adding xparameters.h, the above mentioned globals, and adding the #if XPAR_CPU_ID code at the end of the vector table.
  6. For the extra icing on the cake, you could add the timer fix which prevents the global timer from being re-initialized by each cpu. This fix contains a #ifdef USE_AMP in src/cortexa9/xtime_l.c.

I've attached a zip file that contains just the above mentioned modified files for standalone_v5_39. Rename the attached to .zip.

Posts: 49
Registered: ‎10-21-2012

Re: XAPP1079 in Vivado 2015.4

Hi johnmcd,


    I'm also still having trouble running the application on CPU1 in 2015.4.


I've done the following:

Step Overview:

  • Created the FSBL as described in the original PDF
  • Created app_cpu0_bsp using the 5.39 BSP
  • Created app_cpu0 as an 'Empty Application' selecting the 'Use existing' to point to the newly created 5.39 BSP, imported files from the Vivado 2015.2 app
  • Created app_cpu1_bsp using the 5.39 BSP, and added the extra_compiler_flags value to contain '-g -DUSE_AMP=1'
  • Created app_cpu1 as an 'Empty Application' selecting the 'Use existing' to point to the newly created 5.39 BSP, imported files from the Vivado 2015.2 app
  • Generated the BOOT.bin using the (fsbl.elf, system.bit, app_cpu0.elf, app_cpu1.elf)

Only the application on CPU0 is running. Do you see anything that might be wrong?



Posts: 3
Registered: ‎02-05-2014

Re: XAPP1079 in Vivado 2015.4

Any luck?  I'm stuck at the same point.


Mark Koenig

(408) 891-3401

Xilinx Employee
Posts: 807
Registered: ‎02-01-2008

Re: XAPP1079 in Vivado 2015.4

FSBL does not need to be modified anymore. After opening your SDK project and adding the standalone BSP repository, create FSBL. As part of the zip located on the wiki for 2015.2, there is a readme that contains the instructions. The only difference will be the new BSP that you have created.

Posts: 10
Registered: ‎01-20-2014

Re: XAPP1079 in Vivado 2015.4

I got it solved.

i used this sdk_repo.zip and unzip it.

copy the "standalone_v5_3" folder from "C:\Xilinx\SDK\2015.4\data\embeddedsw\lib\bsp" to sdk_repo folder(local Project repo".

replace the each files from sdk_repo/bsp/standalone_v5_39 to sdk_repo/standalone_v5_3

delete the bsp folder in sdk_repo and rename the "standalone_v5_3"  "standalone_v5_39".

and follow all the steps in XAPP1079. to get the results.

first i tried with running the both cpu app in debug mode.

to run and check in debug mode you need to follow the below steps

1.in app_cpu0.c comment " Reset and start CPU1 code " completely.

2.when you launch the debug config in system debugger bode.

specify the both apps in application. and for for CPU1 check the stop at entry point.

and launch the debug.

3.cpu0 app with stop at entry point and cpu1 at bootfs.S file.

4.put trigger at the entry point of cpu1 and run the cpu1.

5.and also run the cpu0.

6. you must get both the prints on UART.




Manjunath BK

Posts: 1
Registered: ‎03-09-2017

Re: XAPP1079 in Vivado 2015.4

Hey johnmcd,


I am trying to recreate XAPP1079 in Vivado 2016.2. I tried to perform the diff and merge solution you proposed with the XAPP for Vivado 2015.2 but I am getting many errors trying to build the bsp in SDK (mostly relating to missing header files, despite using the current standalone bsp as my base... which is apparently standalone v5_5).


Is there a 2016.2 version of XAPP1079 coming out anytime or do you have any knowledge as to why I cannot convert the 2015.2 files up to 2016.2?