FreeRTOS on BeagleBoard

Dear All,

I plan to use FreeRTOS on BeagleBoard. Can someone please, advise on
how to proceed about the same.

Regards,
Malik

Hi,

Dear All,

I plan to use FreeRTOS on BeagleBoard. Can someone please, advise on
how to proceed about the same.

I did not try it myself, but you can find a FreeRTOS Community
Contribution to the Beagleboard here:

Please let me know how things work out with it. I would be interested
as well to see FreeRTOS running on the Beagle.

Regards,

Robert

Regards,
Malik

..."Then again, e=mc^2 may only be a local phenomenon." - Einstein

My public pgp key is available at:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x90320BF1

Having evaluated FreeRTOS on an 260MHz ARM9, we gave up on it. The deal-breaker for us was the lack of truly functional TCP/IP stack, that didn’t suck on performance, was not a pain to program with (due to rather arcane API) and cost a bomb otherwise. Of course, there were several other factors why we finally dropped the FreeRTOS idea. Linux, stripped down, bare minimal, with some kernel tweaks, still probably eats away 20% (just throwing a number) of the performance we could’ve got sticking to a lighter RTOS, and with all it’s warts (actually very few), was lot better in the end.

So I would be curious to know what motivation others have to run OS’s like FreeRTOS on an rather well endowed Cortex-A8 based SBC.

Having evaluated FreeRTOS on an 260MHz ARM9, we gave up on it. The
deal-breaker for us was the lack of truly functional TCP/IP stack, that
didn't suck on performance, was not a pain to program with (due to rather
arcane API) and cost a bomb otherwise.

FreeRTOS is used with many TCP/IP stacks that are suitable for use on
a small embedded system. Some are open source (free), some are
commercial (and therefore the price is set by the vendor). FreeRTOS
ships with examples that use TCP/IP stacks, but does not provide its
own propitiatory option (yet). The open source options are generally
*not* optimised for throughput, but flash and RAM footprint, because
that is normally the most important attribute in their intended
operating environments.

Of course, there were several other
factors why we finally dropped the FreeRTOS idea. Linux, stripped down, bare
minimal, with some kernel tweaks, still probably eats away 20% (just
throwing a number) of the performance we could've got sticking to a lighter
RTOS, and with all it's warts (actually very few), was lot better in the
end.

FreeRTOS is a tiny real time kernel - not an operating system. It is
designed for small to medium size microcontrollers, not application
processors. It is an intentional conscious decision to keep a wide
gap between the Linux/Android/WinCE/whatever domain, and the FreeRTOS
domain, because Linux/Android/WinCE/whatever have the market pretty
well covered for anything you might want - with well established
products and well established vendors (be they open source or
commercial).

That said, FreeRTOS does often get used outside of its originally
intended domain, predominantly because of its simplicity (3 core files
and one port file). There is also a growing usage in multi
processor / multi core systems where FreeRTOS is sometimes paired with
a Linux/Android/WinCE/whatever machine to provide real time
functionality, where the Linux/Android/WinCE/whatever machine provides
the user interface, apps, communications, blah, blah.

To comment on the platforms it was always envisioned/intended it would
run on - they would be from the MSP430, through Cortex-M3/ARM7/PIC32/
RX600, to the low end ARM9 type platform. However, I know of people
using it on ARM11, A8 and Atom CPUs. There is no reason not to use it
on those CPUs, if it makes sense for your particular application, but
normally once that (in FreeRTOS terms) lofty level was reached, there
would be a better alternative.

So I would be curious to know what motivation others have to run OS's like
FreeRTOS on an rather well endowed Cortex-A8 based SBC.

Regards,
Richard.

+ http://www.FreeRTOS.org
Designed for Microcontrollers.
More than 7000 downloads per month.

Having evaluated FreeRTOS on an 260MHz ARM9, we gave up on it. The
deal-breaker for us was the lack of truly functional TCP/IP stack, that
didn’t suck on performance, was not a pain to program with (due to rather
arcane API) and cost a bomb otherwise.

FreeRTOS is used with many TCP/IP stacks that are suitable for use on
a small embedded system. Some are open source (free), some are
commercial (and therefore the price is set by the vendor). FreeRTOS
ships with examples that use TCP/IP stacks, but does not provide its
own propitiatory option (yet). The open source options are generally
not optimised for throughput, but flash and RAM footprint, because
that is normally the most important attribute in their intended
operating environments.

Point taken. Please don’t get me wrong with the comments. I am pretty sure that we’d love to come back to FreeRTOS for some other projects, because we exclusively work with FOSS software (barring exceptional corner cases where were don’t have an option), and our own project would be eventually open-sourced. FreeRTOS has a good community support, and compared to the other RTOS’s, we found it to be closer to what one expects out of an RTOS (which BTW still is an OS). The core and crux of my surprise was genuinely due to someone using FreeRTOS with Cortex-A8, not to demean it as a software or the efforts behind it. Just for the records.

Of course, there were several other
factors why we finally dropped the FreeRTOS idea. Linux, stripped down, bare
minimal, with some kernel tweaks, still probably eats away 20% (just
throwing a number) of the performance we could’ve got sticking to a lighter
RTOS, and with all it’s warts (actually very few), was lot better in the
end.

FreeRTOS is a tiny real time kernel - not an operating system. It is
designed for small to medium size microcontrollers, not application
processors. It is an intentional conscious decision to keep a wide
gap between the Linux/Android/WinCE/whatever domain, and the FreeRTOS
domain, because Linux/Android/WinCE/whatever have the market pretty
well covered for anything you might want - with well established
products and well established vendors (be they open source or
commercial).

That is indeed the more established notion about most MCU RTOS’s, however looking at the kind of projects that FreeRTOS and some other MCU based RTOS’s are getting used in, the line between a light-weight POSIX OS and well-featured MCU RTOS’s is blurring. With processors Cortex-M4, I think the line between AP’s and MCU’s is blurring further.

Maybe you could take this as a feedback (from a user standpoint), the over-zealous adoption of Android has left the FOSS community which needs a leaner/meaner POSIX / POSIX-ish OS which really fills the gap (that “wide-gap”), is really real, and what we inadvertently were hoping for was possibly to see FreeRTOS could fill it. So you can blame that (and us) for what might not be the right choice.

That said, FreeRTOS does often get used outside of its originally
intended domain, predominantly because of its simplicity (3 core files
and one port file). There is also a growing usage in multi
processor / multi core systems where FreeRTOS is sometimes paired with
a Linux/Android/WinCE/whatever machine to provide real time
functionality, where the Linux/Android/WinCE/whatever machine provides
the user interface, apps, communications, blah, blah.

After making my original post, I did come accross this dual use of OS’s like a lean executive / MCU RTOS with fully-featured OS like Linux. Quite interesting, however I do not think that solution fills the “wide gap”.

To comment on the platforms it was always envisioned/intended it would
run on - they would be from the MSP430, through Cortex-M3/ARM7/PIC32/
RX600, to the low end ARM9 type platform. However, I know of people
using it on ARM11, A8 and Atom CPUs. There is no reason not to use it
on those CPUs, if it makes sense for your particular application, but
normally once that (in FreeRTOS terms) lofty level was reached, there
would be a better alternative.

So I would be curious to know what motivation others have to run OS’s like
FreeRTOS on an rather well endowed Cortex-A8 based SBC.

Appreciate the response, Richard. I am sure people would have a better understanding once they see more projects based on such use.

cheers,
Jay

Hi jay,
I am manish.Trying use FreeRTOS on beagle board xm.
I am curious to know how did you manage to get the tcpip stack up and
running on BBxm with FreeRTOS.I am finding it difficult to
find the approprate usb to ethernet adapter driver which would work
with freertos on BBxm.
The tcpIp stack i am looking at is eitehr freeTCPIP or Iwip.

Regards
Manish

Does anyone here have the supported uboot.bin file for booting freertos discussed here:

http://www.freertos.org/index.html?http://interactive.freertos.org/entries/20168818-freertos-port-for-ti-beagleboard-omap3530

The server seemed to be down or there’s nothing on the git repo.

thanks,