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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor javierperez
Visitor
4,595 Views
Registered: ‎07-30-2017

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

Jump to solution

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

1 Solution

Accepted Solutions
Scholar hbucher
Scholar
7,414 Views
Registered: ‎03-22-2016

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

Jump to solution

@javierperez

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

When it resets it does both.

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
13 Replies
Scholar hbucher
Scholar
4,575 Views
Registered: ‎03-22-2016

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

Jump to solution

@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.

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
Visitor javierperez
Visitor
4,567 Views
Registered: ‎07-30-2017

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

Jump to solution
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 hbucher
Scholar
4,566 Views
Registered: ‎03-22-2016

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

Jump to solution

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).

 

 

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
2cores.PNG
Visitor javierperez
Visitor
4,475 Views
Registered: ‎07-30-2017

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

Jump to solution

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
0 Kudos
Scholar hbucher
Scholar
7,415 Views
Registered: ‎03-22-2016

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

Jump to solution

@javierperez

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

When it resets it does both.

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
Visitor javierperez
Visitor
4,437 Views
Registered: ‎07-30-2017

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

Jump to solution

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

0 Kudos
Visitor javierperez
Visitor
4,425 Views
Registered: ‎07-30-2017

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

Jump to solution

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 hbucher
Scholar
4,369 Views
Registered: ‎03-22-2016

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

Jump to solution

@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)

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
core1.PNG
core2.PNG
0 Kudos
Scholar hbucher
Scholar
4,366 Views
Registered: ‎03-22-2016

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

Jump to solution

@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.

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
0 Kudos
Scholar hbucher
Scholar
2,830 Views
Registered: ‎03-22-2016

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

Jump to solution

@javierperez

 

Video/tutorial - running two baremetal apps in each core on Zynq

http://www.vitorian.com/x1/archives/587

 

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
Visitor javierperez
Visitor
2,808 Views
Registered: ‎07-30-2017

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

Jump to solution

Yes this little thing make me really happy, its so great to get things running in the good way. Thanks also for the video im sure that im not the only one with this problem, and you are going to help more people at the community. Keep working hard in you PhD and i wish you luck. Thanks again from spain

0 Kudos
Visitor helena
Visitor
2,075 Views
Registered: ‎02-08-2018

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

Jump to solution

@hbucher

 

Would this work if you needed inter-processor communication? What would be necessary to achieve that?

 

I'm a master's student currently working on my thesis and I've never used any Xilinx tool besides a few tutorials now so I'm a little overwhelmed.

0 Kudos
Scholar hbucher
Scholar
2,066 Views
Registered: ‎03-22-2016

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

Jump to solution

@helena yes it will work. 

Open a new post with your question and the community will sure help you.

vitorian.com --- We do this for fun. Always give kudos. Accept as solution if your question was answered.
I will not answer to personal messages - use the forums instead.
0 Kudos