dcorreia
Posts: 4
Joined: Tue Mar 06, 2012 4:13 am

Help with Realtime OS

Tue May 28, 2013 7:38 pm

Hello All,

I am looking for a reliable real-time OS. Could some let me know there thoughts on the ones that are out there?

I have looked at ChibiOS it seems promising to me but I notice that everyone that talks about it always seems to mention that the raspberry Pi (ARM) are not made for real time performance, how well does ChibiOS work on raspberry pi in terms of it's performance for realtime?

Thanks alot

JxPond
Posts: 29
Joined: Wed May 22, 2013 9:32 pm

Re: Help with Realtime OS

Sun Jun 02, 2013 12:50 am

You may want to look at RISC OS. In single task mode it's very close to being realtime.

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Help with Realtime OS

Sun Jun 02, 2013 6:02 am

I believe this issue is mostly brought up in conjuction with Linux.
The GPU does meddle with timing , too , but this can disabled
through a config.txt option so far i know.

After that , the Pi should be as reliable as your ARM RTOS of
choice.

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

JacobL
Posts: 76
Joined: Sun Apr 15, 2012 2:23 pm

Re: Help with Realtime OS

Sun Jun 02, 2013 6:24 am

Another thing that might impact real-time performance is that the Pi does not have a vectorized interrupt controller. Compared to other systems with such a controller then IRQ latencies will be higher, which could impact real-time performance, depending on the application. It is only really a problem if you use many different interrupts, and they are inside the critical path of your RT requirement.

This means that all IRQs on the Pi goes to the same handler function (with the exception of FIQ). This handler function would then need to determine which IRQ was triggered by polling status registers. This all takes time, though if only few interrupts are in use, then this time might be minimal. A vectorized controller will be able to resolve this in hardware, reducing the software latency of the interrupt.

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 25020
Joined: Sat Jul 30, 2011 7:41 pm

Re: Help with Realtime OS

Sun Jun 02, 2013 7:01 am

dcorreia wrote:Hello All,

I am looking for a reliable real-time OS. Could some let me know there thoughts on the ones that are out there?

I have looked at ChibiOS it seems promising to me but I notice that everyone that talks about it always seems to mention that the raspberry Pi (ARM) are not made for real time performance, how well does ChibiOS work on raspberry pi in terms of it's performance for realtime?

Thanks alot
Hard or soft realtime - what are your timing criteria?
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
“I own the world’s worst thesaurus. Not only is it awful, it’s awful."

User avatar
CopterRichie
Posts: 131
Joined: Tue Mar 26, 2013 3:14 am
Location: Los Angeles CA.

Re: Help with Realtime OS

Mon Jun 24, 2013 11:43 am

Is the Real-Time Linux Kernel a possibility for the Raspberry Pi?

https://rt.wiki.kernel.org/index.php/Main_Page

ghans
Posts: 7882
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany

Re: Help with Realtime OS

Mon Jun 24, 2013 1:45 pm

Has been done , search the forums.


ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org

elatllat
Posts: 1337
Joined: Sat Dec 17, 2011 5:05 pm

Re: Help with Realtime OS

Tue Jun 25, 2013 4:31 am

SBC with 32GB RAM: https://hardkernel.com

FAQ : https://raspberrypi.stackexchange.com

Unanswered: https://www.raspberrypi.org/forums/search.php?search_id=unanswered

6677
Posts: 383
Joined: Wed Mar 14, 2012 9:23 pm

Re: Help with Realtime OS

Tue Jun 25, 2013 5:52 pm

JacobL wrote:Another thing that might impact real-time performance is that the Pi does not have a vectorized interrupt controller. Compared to other systems with such a controller then IRQ latencies will be higher, which could impact real-time performance, depending on the application. It is only really a problem if you use many different interrupts, and they are inside the critical path of your RT requirement.

This means that all IRQs on the Pi goes to the same handler function (with the exception of FIQ). This handler function would then need to determine which IRQ was triggered by polling status registers. This all takes time, though if only few interrupts are in use, then this time might be minimal. A vectorized controller will be able to resolve this in hardware, reducing the software latency of the interrupt.
Real time only defines that the system must process data for a given input within a specified time period, no one said that the time period had to be instantaneous. If the time period is half an hour, then the pi having a non vectorized interrupt controller really wont make a difference.

Return to “Bare metal, Assembly language”