AvrX Real Time Kernel

Home
Up
AvrX Fifo
Overview
Theory
Getting Started
AvrX 2.6
AvrX 2.3 IAR
Mail

AvrX 2.3 for IAR Assembler

08-June-01

AvrX 2.3 is no longer being supported.  This page is here in case someone wants to implement very tight, fast code on small AVR processors in assembly.

AvrX is written to the IAR assembler, v 1.40,  Each source module is compiled as a library. Code segments are not loaded into the final executable file unless referenced with an EXTERN statement.  The assembler is free.  The version at IAR changes every so often so the link might be bad.  Just go to IAR and follow the links to Products/Embedded Workbench/AVR/

There are two zip files containing the entire code base.  AvrX23_8515.zip and AvrX23_2313.Zip.  The difference is in the test code (different Port assignments for LEDs) and Registers.inc, where the target processor is defined. 

Each package contains the following files:

AvrX.asm   Kernel source file
AvrX.inc   Header file for Kernel
avriodef.inc   Defines hardware bits and pieces for the Avr processors
registers.inc   Global register declarations

There is a debug monitor along with a simple serial io package.  Depending upon the chip there is a full featured monitor (well, fuller) and a stripped down version.  Rename the appropriate version to "monitor.asm" and the test cases will build. 

monitor.asm   Debug monitor
serialio.asm   Interrupt driven serial I/O with simple input and output routines.

I wrote these test cases to verify the correctness of the kernel. Although the coding is sloppy and commenting is minimal, they would be a good place to look for usage of various AvrX API. Between the test cases and the monitor process I think that all AvrX API are referenced and used at some point.

SemQTest.asm   Semaphore tests
TimQTest.asm   Timer Queue Manager tests
MsgQTest.asm   Message queue tests

The following script files build AvrX and the test cases providing you have all the source in the same directory and the IAR assembler tools on the DOS path.

build.bat   DOS Batch script
MsgQTest.xcl   Xlink command file for the Message Queue Test case
SemQTest.xcl   Xlink command file for the Semaphore Queue Test case
TimQTest.xcl   Xlink command file for the Timer Queue Test case