ATMega128, gcc a data ve FLASH

Miroslav Sinko sinkomiro@rocketmail.com
Pondělí Září 17 16:50:05 CEST 2007


Som Vas nechtiac oklamal... uz som doma, takze zapis PROGMEM je OK, ale
na citanie musite pouzit pgm_read_byte_far apod pre dalsie datove typy.
A tento far pristup je podmieneny:

#if defined(RAMPZ) || defined(__DOXYGEN__)

/* Only for devices with more than 64K of program memory.
   RAMPZ must be defined (see iom103.h, iom128.h).
*/

miro

--- Jan Smrz <jan.smrz@honeywell.com> wrote:

> Dekuji,
> 
> bohuzel PROGMEM je definovan takto:
> 
> #define __ATTR_PROGMEM__ __attribute__((__progmem__))
> 
> zadne atributy near, far apod tam nevidim. Jedine atributy far tam
> vidim v souvislosti s instrukcemi pro cteni dat, 
> coz mi ale moc nepomuze, kdyz neziskam spravnou adresu
> 
> 
>    J.S.
> 
> 
> 
> 
> 
> 
> Miroslav Sinko wrote:
> > Teraz to nemam pri sebe, ale najdite si v prislusnom headri
> (pgmspace.h
> > ?) ako je definovane PROGMEM. Tam niekde uvidite, ze pointer je
> near *.
> > V tom istom headri su definovane aj far pointery, len ich treba
> > spravnym #define aktivovat. Je to tam cez #ifdef bloky.
> >
> > miro
> >
> > --- Jan Smrz <jan.smrz@honeywell.com> wrote:
> >
> >   
> >> Zdravim,
> >>
> >>    mam zde MCU ATMega128, kde ve flash bych chtel mit ulozeno
> pomerne
> >>
> >> velke mnozstvi dat. Protoze bych to chtel mit jednoduse
> odladitelne, 
> >> programovatelne atd., tak data jsou soucasti zdrojoveho kodu a to
> >> jako 
> >> pole, tj.
> >>
> >> uint8_t PROGMEM data[] = {0x12, 0x34, ....}
> >>
> >>    Nemate nekdo reseni, jak se vyporadat s omezenim gcc na pouze
> >> 16-bit 
> >> pointery? I kdyz se to pokusim pretypovat (uint32_t)data, tak
> adresu 
> >> promenne nejdrive zmensi na 16-bit a pak pretypuje na 32-bit.
> >>
> >>    J.S.
> >> __
> >>     
> >
> >
> >   
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
> 



       
____________________________________________________________________________________
Be a better Heartthrob. Get better relationship answers from someone who knows. Yahoo! Answers - Check it out. 
http://answers.yahoo.com/dir/?link=list&sid=396545433



Další informace o konferenci Hw-list