Unique Operating System for AVR

OPEX v1.0 -- Author: Steve Childress

beta 1. Testing to date with demo program is reliable with long run times -- Author: Steve Childress

download OPEX demo1

EXTRACTED FROM THE PDF FILE DESCRIBING OPEX

OPEX Is...

C software for WinAVR (GCC) optionally using the Atman IDE
For an embedded system (microprocessor) programmer who is using the C language.

A control program

To oversee multiple "thread-like" processes. Each process or "task" uses only ~22 bytes of overhead

A Scheduler

To cause processes to run when desired, such as:

An Easy Way To Implement Multiple State Machines

Using the Scheduler's functions which include, among others

A clock and calendar

With time zone, daylight savings and leap year, maintained using a microprocessor timer such as the 32768KHz asynchronous oscillator of the Atmel megas.

Serial port support

Functions for interrupt driven input/output, optionally non-blocking, for binary or string (ASCII 8 bit) data

Monitoring and Debugging Aids

Functions to format and display a list of all processes, the detailed state and status of each, plus RAM used and unused, and maximum observed stack depth

Automatic Memory Allocation Housekeeping A task may use the OPEX forms of malloc() to obtain temporary use of a block of RAM. When the task quits, OPEX automatically frees this memory if the task did not do so. A modified version of the standard malloc() is included in OPEX.

Complete with Examples

Dallas 1-wire reader for DS1820 temperature chips
I/O bit sensing and switch debouncingSerial I/O for host commands and set clock/calendar