Arduino the RTOS?

Is the Arduino program environment that runs the uploaded sketch (the bootloader) an RTOS?

(the reason behind the question....)

I am in college and my senior research project is Embedded Programming. For the purposes of my research and practice, the Computer Science department bought me an arduino 0007, so I have been playing with it and developing programs and such (its been great to get my programming abilities away from that silly PC).

In my research I am learning about the RTOS (real time operating system) that is the cornerstone of larger embedded products ( cell phone, graphing calculator, etc.).

The bootloader doesn't actually run the sketch, it's just a program that gets it onto the chip. There's no RTOS in Arduino at the moment, just a simple executable.


So, the program that runs on the chip @ power on is different from the bootloader then? What is the program that receives the serial upload from the computer when power on happens?

The bootloader is the program that runs when you power up the arduino. It's an idiot-simple program that listens for a serial command to start writing uploaded data to flash (it's a bit more complex than that, but not much). If it does not receive this command within a short time, it jumps to the address space beyond the bootloader and the microcontroller starts executing the program there. There's no OS involved.


Has the freeRTOS implementation of a RTOS for uc have been ported to the ATmega168 and by extension to the arduino?
I think i saw an ATmega168 version, but I doubt it's useable on the arduino with the bootloader. I'm not much into thoses technical specs but I think there's not enough memory to run it without getting rid of the bootloader

but i'm surely wrong ^^

Apparently one has been ported to the ATmega32... maybe it could also run on the ATmega168.

Hi, we have ported FreeRTOS past year (2009), you can look at these links:

The versión 0.1 Alpha (for the 0017 IDE) is available here:

And there is a v0.2 Alpha which runs in 0018 at:

We did not make the v0.2, but are working in the v0.3.


Back to top