where : ibrtses embedded

AVR page

This page is dedicated to Atmels AVR family of CPU's.

These CPUs feature 1 MIPS per MHz, and have a Flash which makes them incircuit (re-)programmable.
Unlike some competitors they have a straight forward register- and instructionset.
There is a quite responsive, but slow loading AVR Forum, where questions can be discussed,
follow the chat link

I'm currently using the just a small subset of the available families packed with lots of different cases.


The Atmel AVRASM is a standard to work with. Complete with MDI GUI.
Downloadable for free on the Atmel site



The IAR C Compiler is rather complicated to work with and rather expensive, in the order of
3000 CHFr, 1800 $US. Comes with Dongle. Their email support is responsive, unfortunately there
is no newsgroup.

Imagecraft AVR C Compiler

Imagecraft Their C Compiler is simpler to operate than the IAR and cheaper. In the order of 250$US.
There is a 30 day trial version. No dongle, but a code that has to be requested at Imagecraft.
The email support is responsive. A listserver is available, but no newsgroup. Yearly support is 30$.

E-LAB Pascal Compiler

E-Lab It took a while until I found this pascal compiler. It comes with a programmer plus a whealth of functions and libraries. A wizard configures a new project with a few clicks. Eg Multitasking is just a click. The first and only compiler I know of that treats EEPROM same a RAM. Even blockmoves to and from the EEPROM are supported. Support is responsive, plus a (slow) http forum is available. The standard version is approx 480Euro, the pro version is 940Euro.

Migrating from the 8535 to the Mega163

These two CPUs are almost identical, except for these differences :
And yes, registers keep changing their names.

Migrating from the Mega163 to the Mega323

These two CPUs are almost identical, except for these differences :
Therefore the migration is rather painless beside the following points :

Migrating from the Mega323 to the Mega32

Again almost identical, except for these differences :
Tricky is the programming such that the fuses have to be set first.
The Mega32 fuses in summary here

Migrating to the Mega128

Aahh, finally a CPU with sufficient code space. Yet it is not perfect. The JTAG
port is on top of the ADC and the SPI programming requires a tristate buffer.

As I till now couldn't refrain from using the internal ADC, I wasn't able to have
a look at the JTAG and its capabilities.

The Mega128 fuses in summary here

A cheap solution for many problems, the Tiny26

In a space saving SO20 case comes the Tiny 26. For just 0.90 Euro, it is a bargain.
The fuses are summarized here

The programming adapters

There are multiple pinouts on different connectors for SPI programming adapters.
SPI pinout 1 SPI pinout 2
Atmel, E-Lab Equinox
destroys something when rotated rotation safe

The JTAG connectors appear to be 10 pin flat ribbon cable plugs.
JTAG pinout 1 JTAG pinout 2
E-Lab Altera (CPLD & FPGA)

Other issues of interest

Questions ?
Feedback ?


sponsored links

last updated subpage: 17.feb.07, or perhaps later

Copyright (99,2007) Ing.Büro R.Tschaggelar