[NCLUG] TOPIC: Arduino vs RTOS; learning RTOS

Brian Sturgill bsturgill at ataman.com
Mon Aug 10 13:39:47 MDT 2020


Well, as we can't have meetings these days, I'll give a brief mini-subject
via email.

Arduino is a very simple API. Anyone that has done Linux programming at the
system call level (read, write, creat, signal, etc.) will have zero
problems doing it.
But because it is simple, some things are very hard.
For example, let's say you wanted to make a VOIP phone.
On a Raspberry Pi, you can make a simplistic one Python in less than 100
lines.
The reason is that you have threads and an operating system that will
automatically suspend and resume them as DMA occurs.
This just doesn't exist in Arduino. There are no threads. DMA can exist,
but you'll manage it yourself. It's a lot of work.

Quickly you'll desire to have a more powerful OS. Thus Free RTOS.

I knew Free RTOS existed, and I knew that ESP chips used it to implement
their Arduino layer.
But for a long time Amazon only had one book on it... for the STM32, which
to my knowledge, doesn't have TCP/IP and is thus of little interest to me.
I bought the book, but just couldn't make me get around to it.

I'm working on a WiFi Intercom project and found I just couldn't do it with
Arduino APIs. To successfully do this you simply must overlap the sound and
Wifi transfers. Thus I reluctantly decided that I really had to look at
RTOS. I had tried several times, but just wasn't able to find the
information. Well, it turns out that the reason there are few books on
Amazon, is that the book is Free! Indeed there is both an Overview Guide
and a Reference Manual.

You can find them here:
https://www.freertos.org/Documentation/RTOS_book.html
-- 

Brian


More information about the NCLUG mailing list