Arduino Uno Stuff

Program Arduino Uno With avr-gcc and Threads


This is my Arduino Uno™ (and others) stuff. It’s a build system, an “operating system” and a collection of utility routines for easy programming of an Arduino Uno without using the Arduino Software. Instead it bases directly on the AVR Libc and other tools to enable “low-level” c programming of the Arduino. While this makes it impossible to use any of the nice Arduino libraries it provides more control and a, perhaps a more familiar, development setup for advanced users.

Most importantly it comes with a real-time scheduler (currently based on a modified Atomthreads) that allows to run multiple tasks. The modifications include runtime per-thread and total system load indicators (on serial port debug output and via a LED). A system task is compiled-in and started automatically. It asserts the watchdog and outputs system monitoring information (task load, stack high water marks, and more).



A minimal template for writing single-thread applications using AVR Libc: