UPGRADE YOUR BROWSER

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!

Reply
Visitor
Posts: 12
Registered: ‎07-30-2017
Accepted Solution

Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

Hi, I´m ussing zybo a digilent Zynq development board for my PhD, i´m tryin to run two standalone program in each arm core. There is an example for this application in XAPP1079, but i don´t have the stadalone_AMP option in SDK. I don´t now if this is only for olders version or i need to install it. Anyone nows how can i fix this problem or another way to run this two programsclose in the two cores


Accepted Solutions
Scholar
Posts: 835
Registered: ‎03-22-2016

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

@javierperez

You need to uncheck "Reset Processor" on the 2nd one. 

When it resets it does both.


* Henry Bucher, Baremetal Labs, Extreme Financial Engineering: btlabs.us

View solution in original post


All Replies
Scholar
Posts: 835
Registered: ‎03-22-2016

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

@javierperez Hello Javier

PhD and Zybo user here too!

There is no standalone_amp option in Vivado/SDK, I can assure you that.

You just select standalone/core0 and standalone/core1 for each of the binaries. 

Be careful with your link script so you dont overlap memory locations.

Hope that helps.

 


* Henry Bucher, Baremetal Labs, Extreme Financial Engineering: btlabs.us
Visitor
Posts: 12
Registered: ‎07-30-2017

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

Yes i select both on the run properties but only the core 1 app run, i dont know how to make that link script im new in soc applications and its really dificult to find information. Can you help me. thanks
Scholar
Posts: 835
Registered: ‎03-22-2016

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

[ Edited ]

In the SDK go Run/Run Configurations...

Select "System Debugger using ...."

Then in the tab "Aplication" you can choose what ELF to run on each core.

Then Click "Run" 

 

Once you are done with testing, you can then create a BIN file to place on your SD card or burn into the QSPI (or equivalent).

 

 

 


* Henry Bucher, Baremetal Labs, Extreme Financial Engineering: btlabs.us
2cores.PNG
Visitor
Posts: 12
Registered: ‎07-30-2017

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

I made a simple example with two programs one for the cpu0 with a 0.5sec blinking leds and for the cpu1 an empty while loop, when i select both programs on the run cofigurations only the last cpu1 runs the blinking one doesnt work, and if i change the order the leds starts to blink. I take some pictures of the procces maybe im doing something wrong thanks again fr your help, i really appreciate that

1.png
2.png
3.png
4.png
Scholar
Posts: 835
Registered: ‎03-22-2016

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

@javierperez

You need to uncheck "Reset Processor" on the 2nd one. 

When it resets it does both.


* Henry Bucher, Baremetal Labs, Extreme Financial Engineering: btlabs.us
Visitor
Posts: 12
Registered: ‎07-30-2017

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

Sorry i uncheck "Reset Processor" on the 2nd core, but i get the same results. You know if there is some example code that i can test to start with. Thanks

Visitor
Posts: 12
Registered: ‎07-30-2017

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

Finally i find the last error, thanks for all your help, the only thing i should do is change the base addres in the lscript.ld file. I was writing both programs at the same spot in the memory, i select the default value for the cpu0 0x100000, and give same space for the cpu1 0x200000, and thats all. It finally works, thanks is really difficult find goods resources. I think i should do a tutorial for begginers when i end this project. Thanks again

Highlighted
Scholar
Posts: 835
Registered: ‎03-22-2016

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

@javierperez  

I just ran two hello worlds printing "Hello World 1" and "Hello World 2" every second - I am sure it works.

One thing very important: make sure the two program sections dont overlap in memory

So edit your link script such that ps7_ddr_0_S_AXI_BASEADDR (where all programs go by default) have different addresses (see pics below)

 


* Henry Bucher, Baremetal Labs, Extreme Financial Engineering: btlabs.us
core1.PNG
core2.PNG
Scholar
Posts: 835
Registered: ‎03-22-2016

Re: Zynq 7000 Bare-Metal System Running on Both Cortex-A9 Processors

@javierperez Oh I responded and I haven't seen your last comment. Well glad you worked out the solution. 

It is a great feeling to get things running isnt it? Very happy.


* Henry Bucher, Baremetal Labs, Extreme Financial Engineering: btlabs.us