by Ron Kreymborg
SmallC for AVR has been extensively re-written to make it more efficient. Typical code space savings of over 50% on version 1 have been achieved. A complete User Manual is now available that puts in one place the details previously scattered throughout my old web pages. It includes many examples and code snippets on configuring and using the various AVR hardware.
The user manual includes a quick start and installation guide, sections on language implementation, code efficiency issues, startup code, monitoring stack usage, the runtime library, and detailed descriptions of the example programs listed below.
Download the SCCAVR User Manual (Revision 3) in PDF format.
Smallc is now FREE.
For those with a desire to fiddle, I have made the source code for SmallC available as well (see below). I did most of the extra development using DJ Delorie's excellent djgpp MSDOS version of gcc. This included the RHIDE debugger environment which, while clunky, did the job.
Download the full feature version of sccavr
Unzip the compiler into a directory called \sccavr. Unzip the example programs below into directories off this, eg. \sccavr\chase. Further details are in the User Manual.
The source code for sccavr is now available for download as well.
These C programs are available in ZIPped format. Most assume the STK200 as the vehicle although they work just as well on the STK300. They demonstrate many of the features of sccavr, including IO and multi-module program suites. Currently they are:
| Simple travelling LED flasher | chase.zip | |
| Accessing external ram on a 8515 | extram.zip | |
| Port based LCD driver (revised) | lcd.zip | |
| Multi-tasking dispatcher | multi.zip | |
| Using Interrupts 1 | intex1.zip | |
| Using Interrupts 2 | intex2.zip |
Download the AVR Studio debugger source level debugger (ASTUDIO3.EXE) and IAR assembler/linker/librarian (IAR_ASM.ZIP) from the Atmel site.