cheap mbt must be the officer ladies first choice. The polished brass hardware makes mbt shoes sale look formal. Zipper top closure makes it convenient for you to put your stuff in. There is also hang tag made of leather, a slip pocket to put cards in and two side pockets to hold some documents.mbts. Inside, there is multi-function slip pocket for your cell phone and zip pocket with leather pull mbt shoes. You can ring to clip an accessory or key fob. mbt sale!

AvrX Real Time Kernel

AvrX is a Real Time Multitasking Kernel written for the Atmel AVR series of micro controllers. AvrX contains approximately 40 API in the following Six categories:
bulletTasking
bulletSemaphores
bulletTimer Management
bulletMessage Queues
bulletSingle Step Debugging support
bulletByte FIFO support with synchronization.

The Kernel is written in assembly.  Total kernel size varies from ~500 to 700 words depending upon which version is being used.  Since the kernel is provided as a library of routines, practical applications take up less space because not all functions are used.

RTOS's are nice in that the OS maintains state information for the programmer.  So, instead of a complicated state machine for each task, running off an interrupt timer, the designer can write linear code (do this, wait for something, then do that... etc).  In general the linear code is much easier to design, debug, understand and it is almost always smaller.

Since each task appears to have a complete CPU, it is also easier to develop independent modules that can be wired together later on.  With the included debug monitor tasks can be paused, stepped and resumed at run time - useful for debug and calibration. Because the monitor is a separate, high priority, task, it almost always allows a working window into the system no matter how broken the user code is.

There are two versions of AvrX available:

AvrX v2.3 for the IAR assembler.  This is a tiny version that is suitable for Assembly programming only.  It makes very efficient use of RAM and takes very few cycles to service interrupts.  See my Mini-Sumo for an example of a significant application written for the Atmel 2313 processor which only has 128 bytes of RAM.

AvrX 2.6 for the IAR Systems and GCC C compiler.  This version of AvrX is written for a small memory model (16 bit pointers) and a native C interface.  The code size is larger than the 2.3 version (~700 words vs. 500) and all registers need to be swapped with each context change, so it is somewhat slower and uses more SRAM.  The SRAM issue can be mitigated by using as many register variables as possible at the top level of the task.  As for speed,  processing a system timer tick took 211 cycles in AvrX 2.3 but takes only 234 in AvrX 2.5.  Interrupt handlers can be written in C.  See the example code for details.

I started a mailing list for AvrX support issues: www.yahoogroups.com/group/avrx  Just click over and register as a Yahoo member and you can join the group.

[Home] [Comments?]
Last  update  31-Oct-2007