A MESSAGE PASSING INTERFACE FOR MULTIPROCESSING WITH
ATMEL MICROCONTROLLERS

By Kalim Moghul

Abstract:
Microcontrollers are versatile integrated circuits typically incorporating
a microprocessor, memory, and I/O ports on a single chip. These self-contained
units are central to embedded systems design where low-cost, dedicated
processors are often preferred over general-purpose processors. Embedded
designs may require several microcontrollers, each with a specific task. Efficient
communication is central to such systems. The focus of this project is the design
of a communication layer and application programming interface for exchanging
messages among microcontrollers. In order to demonstrate the library, a smallscale
cluster computer is constructed using Atmel ATmega32 microcontrollers as
processing nodes and an Atmega16 microcontroller for message routing. The
communication library is integrated into aOS, a preemptive multitasking real-time
operating system for Atmel microcontrollers.

Full Report (pdf)

Source code