[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] at90can128
From: |
E. Weddington |
Subject: |
Re: [avr-libc-dev] at90can128 |
Date: |
Wed, 30 Jun 2004 09:39:33 -0600 |
On 30 Jun 2004 at 13:46, Steffen Rose wrote:
> Hi,
>
> I develop with the WinAVR-2004EX0-bin-install.exe package
> software for CANopen by using the at90can128.
> The header iocan128.h I updated to version 1.4.
>
> It works fine with our canary driver.
Great!
> Some little questions:
> 1) Within the WinAVR package i don't find the standard
> header assert.h. Do you add it in a later installation?
AFAICT, no. I don't see an assert.h shipped with 20040404, and not with a later
release of GCC, and it's not in avr-libc.
> 2) My first tests I did with
> WinAVR-20040404-bin-install.exe and -mmcu=atmega128. Now I
> test with WinAVR-2004EX0-bin-install.exe and
> -mmcu=at90can128.
> I don't understand, why the first environment compile with
> an alignment of 2 and the second environment compile with
> an alignment of 1. Can you give me a hint?
>
> The complete line I use, is:
> avr-gcc -mmcu=at90can128 -std=gnu99
> -I/cygdrive/c/winavr/avr/include -funsigned-char
> -funsigned-bitfields -fpack-struct -fshort-enums -g -c -Os
> -mcall-prologues -W -Wall -Wcast-qual -Wcast-align -o
> obj/can_canary.o -c can_canary.c
I don't know the answer to this one yet. Perhaps another developer can comment
on this one?
> 3) Additional to the settings in the iocan128.h I added this
> definitions:
> /* addition definition of 16bit registers */
> #define CANSTM _SFR_MEM16(0xF8)
> #define CANTTC _SFR_MEM16(0xE8)
> #define CANTIM _SFR_MEM16(0xE6)
> #define CANSIT _SFR_MEM16(0xE0)
> #define CANIE _SFR_MEM16(0xDE)
> #define CANEN _SFR_MEM16(0xDC)
>
These definitions (or very close) are already in the iocan128.h header in avr-
libc CVS. Go to here for the file in CVS (sorry for the wrapped url):
<http://savannah.nongnu.org/cgi-bin/viewcvs/avr-libc/avr-
libc/include/avr/iocan128.h?rev=1.6&content-type=text/vnd.viewcvs-markup>
HTH,
Eric