AVR Development

Over the years I have done quite a bit of firmware programming using various flavors of the Atmel AVR 8-bit RISC microcontroller and the AVR target of the GNU C compiler. Below I share a couple of C libraries I have written that were originally used on personal projects and on manufacturing automation projects.

AVR Helper Library

The AVR Helper Library is a small collection of modules written in C that I have found useful while developing and prototyping Atmel AVR-based software. It includes a buffered USART module, buffered and unbuffered SPI modules, and some odds and ends like "gentle" EEPROM update functions, a thermistor temperature calculation function, and "endian" conversion functions.

The library builds for different AVR families which include the ATmega128, the ATmega103, the AT90S8515, the AT90S8535, and the AT90S4433. It should be relatively easy to modify the make files and source to build the libraries for other AVR microcontrollers.

I have released this code under the GNU Lesser General Public License with the hope that others might find it useful.

I have moved the sources for this library to Bitbucket, https://bitbucket.org/dferreyra/avr-helper/wiki/Home.

You can find the online documentation here.

AVR Threads Library

The AVR Threads Library provides basic preemptive multitasking/multi-threading to the Atmel AVR family of microcontrollers. It is written mostly in C with some assembly language. It implements a simple round-robin style task switcher.

This library provides basic thread start and stop functions, a couple of flavors of mutual exclusion semaphore, and events to help synchronize threads.

The library builds for three AVR families which include the ATmega128, the ATmega103, and the AT90S8515 and AT90S8535. It should be relatively easy to modify the make files and source to build the libraries for other AVR microcontrollers.

I have released this code under the GNU Lesser General Public License with the hope that others might find it useful.

I have moved the sources for this library to Bitbucket, https://bitbucket.org/dferreyra/avr-threads/wiki/Home. There you will also find patches for improvements that were kindly provided by other users.

You can find the online documentation here.

Topic attachments
  Attachment Size Date Comment
pdfpdf helper.pdf 105.8 K 11 Nov 2008 - 20:05 AVR Helper Library Documentation
pdfpdf threads.pdf 73.1 K 11 Nov 2008 - 20:05 AVR Threads Library Documentation
ziptgz helper-1.3-src.tgz 28.0 K 11 Nov 2008 - 20:33 AVR Helper Library 1.3 sources. (See HISTORY for recent changes.)
ziptgz threads-1.3-src.tgz 24.0 K 11 Nov 2008 - 20:33 AVR Threads Library 1.3 sources. (See HISTORY for recent changes.)
r12 - 11 Nov 2008 - 20:33:41 - DeanFerreyraYou are here: Bourbon Street Software  > AVRDevelopment
 
Home
NearlyFreeSpeech  This site is powered by the TWiki collaboration platform