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 wyatt_ogden
Visitor
676 Views
Registered: ‎01-13-2019

ZYNQ 7000 using FreeRTOS with SMP architecture

Hey everyone,

Here's what I'm trying to accomplish... I want to run one instance of FreeRTOS on both of the ARM cores. I can't seem to find anything about this. Yet I have found another solution, which is using AMP with two separate instances on both cores. I'm trying to avoid doing this.

I can't seem to find any answers online. Although I have found other RTOS's capable of SMP on the ZYNQ boards.

 

So is this possible? If so, what resources can I take a look at to help guide me? What is the amount of effort required to do this? Is it better to just workaround using AMP as a solution? Also, if not FreeRTOS, what RTOS's will allow me to do this easily?

 

Thanks and Cheers!

0 Kudos
4 Replies
Visitor sushmita25
Visitor
525 Views
Registered: ‎10-30-2018

Re: ZYNQ 7000 using FreeRTOS with SMP architecture

Hey,

I am trying to do the same.

As of now I am trying for SMP on Baremetal. But cpu1 is not waking up.

I have used Software Generated Interrupt to wake up CPU1. But cpu1 is not wakening up.

Is there I am missing something. I am doing it on Zedboard.

Do you have any example of SMP

0 Kudos
Visitor nisohack
Visitor
110 Views
Registered: ‎11-26-2019

Re: ZYNQ 7000 using FreeRTOS with SMP architecture

I would also like to know how to use SMP instead of AMP. I do not want to download a separate application for the other CPU. I want to download one application for both CPUs and have both CPUs start at the same entry point I specify in the linker file. Anyone know how to do this?

0 Kudos
Scholar ericv
Scholar
93 Views
Registered: ‎04-13-2015

Re: ZYNQ 7000 using FreeRTOS with SMP architecture

@nisohack 

FreeRTOS was designed / implemented for single core and getting it to operate as a SMP RTOS involves a fair amount of effort. With a bit of search, you'll find a few instances where it's reported as done successfuly and may consider to contact them. Fundamentally, a SMP RTOS needs to be designed / implemented from scratch as a multi-core RTOS and that alike a 180 degrees shift from the way a single core RTOS is implemented.

I am highly biased because our product is a SMP RTOS - I agree with you, a single binary makes more sense . You should be able to get what you want from our freeware page. 

https://code-time.com/smp_free.html

The uAbassi freeware version may have enough features to fulfill your needs.

Same for SMP bare-metal (a different web page) - link with the library and you get SMP bare-metal.

0 Kudos
Visitor nisohack
Visitor
53 Views
Registered: ‎11-26-2019

Re: ZYNQ 7000 using FreeRTOS with SMP architecture

Thanks @ericv. I actually figured it out... turns out the RTOS I'm using (not FreeRTOS) does it, just wasn't familiar enough with the tools.
0 Kudos