[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-gcc-list] Data pointer, pointing to the flash ROM???
From: |
Keith Gudger |
Subject: |
RE: [avr-gcc-list] Data pointer, pointing to the flash ROM??? |
Date: |
Mon, 7 Jul 2003 07:13:23 -0700 (PDT) |
I don't know if this will help, but this is how I convert from IAR
interrupts to gnuc interrupts:
Define in source code your interrupts like this (e.g.):
#ifdef __ICCAVR__
#pragma vector=(TIMER0_OVF0_vect) // needed for IAR_AVR
#endif
AVR_INTERRUPT(TIMER0_OVF0_vect) TIMER0_OVF_interrupt(void)
include a .h file with the following defines:
#define TIMER0_OVF_interrupt(x) SIGNAL (SIG_OVERFLOW0)
#define flash const
#define near
#define far
#define C_task int
#define AVR_INTERRUPT(x)
Keith
On Sun, 6 Jul 2003, Scott and Roxanne Munns wrote:
> Desi,
>
> As an everyday user of the IAR compiler (hoping to someday convince
> management to switch
> to avr-gcc), I have to use the __flash directive all the time. I think you
> understand the basic operation of it correctly - it means the data is stored
> in flash memory, not in RAM.
>
> If you have RAM to burn (or just have a limited number of __flash
> variables), I think you could do the following:
>
> #define __flash const
>
> Then the variables will be type-checked as constants, but be stored (and
> accessed) as RAM values instead of flash values. An added side benefit
> would probably be faster access times, since sequences to read values from
> flash (LPM/ELPM ops) are pretty slow.
>
> I wish my application allowed me to do this, but I have way more flash data
> than available RAM...
>
> Just my two cents worth,
> Scott
>
> -----Original Message-----
> From: address@hidden
> [mailto:address@hidden Behalf Of Desi
> Sent: Friday, July 04, 2003 3:37 PM
> To: address@hidden
> Subject: Re: [avr-gcc-list] Data pointer, pointing to the flash ROM???
>
>
> > Well, you're quite impatient. ;-)
>
> Sorry, it's my nature...
>
> > I still do want to help you, but haven't yet found the time to
> > really look into your butterfly code so far.
>
> Well I have new code, I'll tell yo later where
> to down load, because I'd be called not to
> attach nothing again, but I will put in some
> else place... And yes I still want some help...
>
> > Basically, you'll find the documentation for this in the avr-libc
> > docs under ``Program-space strings''. That's <avr/pgmspace.h>,
> > but if you want to go ahead yourself, please do read the docs.
>
> I do read the documentatio, but I'm trying to
> find something more explicit, I did try some thing
> as
>
> #define __flash __attribute__((progmem))
>
> or some thing like
>
> #define __flash_a __attribute__((section (".data")))
>
> but i still have the same warnings, and I do
> not see the menu yet in the display, but I did
> use some of the LCD subrutines and did work fine...
>
> I will read more of the prgspace.h and will try to
> desapeer some of the warnings, but by now the code
> work like 80% fine, except for the menus...
>
> Regards!!!
>
> Desi.
>
>
>
> _______________________________________________
> avr-gcc-list mailing list
> address@hidden
> http://www.avr1.org/mailman/listinfo/avr-gcc-list
>
>
> _______________________________________________
> avr-gcc-list mailing list
> address@hidden
> http://www.avr1.org/mailman/listinfo/avr-gcc-list
>
>
>