[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] AT90CAN128 support
From: |
Henrik Maier |
Subject: |
Re: [avr-gcc-list] AT90CAN128 support |
Date: |
Fri, 03 Feb 2006 16:07:39 +1000 |
User-agent: |
Thunderbird 1.5 (Windows/20051201) |
Ned Konz wrote:
What is needed for AVR-GCC to support the AT90CAN128 () that isn't
already provided by the Atmega128 support?
The AT90CAN128 has a completely different register structure and
location and for that reason is not binary compatible with the
ATmega128. This affects mainly the avr-libc library and your application
code rather than the compiler, as the instruction set is identical.
Refer to Atmel's APP note AVR096 which explains the differences:
http://www.atmel.com/dyn/resources/prod_documents/doc4313.pdf
That is, why not just use
-mmcu=atmega128
for the AT90CAN128?
Won't work and you can even kill your MCU by doing this. You are very
likely to initialise the peripherals wrong.
That's what I was planning on doing; is there some reason why that
wouldn't work?
Did I miss an important detail somewhere (uh oh... gotta read the
datasheet)?
Always a good idea to study the reference material first.
You might need to supplement avr-libc by adding some register/bit
definitions for added CAN hardware or maybe slightly different linker
scripts, but this can be done by the user and has no impact on AVR-GCC.
This already has been done a fair while ago and since avr-libc 1.2.5 the
AT90CAN128 is properly supported including EEPROM.
Henrik
http://www.proconx.com