-1
$\begingroup$

I am looking into FreeRTOS, just for personal learning and I am stuck on how the fundamentals of how it works with Linux.

So for example, I am able to build FreeRTOS on my linux ubuntu machine. Now the part I am stuck on is: it must be running ontop on Ubuntu, so how do I get the real time performance from it? Wouldnt it be limited by what Ubuntu OS scheduler does behind the scenes?

Secondly, I have an embedded linux device from my company to experiment with. If I wanted to put an application/program running/using FreeRTOS does it replace the (custom) embedded linux OS that is already on this device?

$\endgroup$
  • 1
    $\begingroup$ Despite having been answered here, this question seems off-topic. Perhaps one of the moderators will migrate it somewhere more appropriate. $\endgroup$ – Yuval Filmus Apr 4 at 7:34
1
$\begingroup$

As per ghellquist, in product FreeRTOS is designed to run directly on hardware, it is the kernel, it doesn't run on a kernel. What may be confusing is that there are also Windows and Linux ports of FreeRTOS - but these are development and test environments that run the FreeRTOS kernel's core code (the code that is part of every FreeRTOS port) - so the kernel is deciding which FreeRTOS thread is running when - but does not actually implement any context switching code as such (it just starts and stops Windows/Linux threads rather than creating and managing its own). You would never actually deploy a system or in any way get real time behaviour using the Windows or Linux ports - to deploy you would use one of the many other ports.

| cite | improve this answer | |
$\endgroup$
0
$\begingroup$

FreeRTOS runs directly on the hardware. It replaces Linux and all other OS-s at run time. No part of the Linux scheduler is involved.

A different thing is that you might use Linux or Windows in developing and configuring A FreeRTOS system.

| cite | improve this answer | |
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.