ATMega128, gcc a data ve FLASH

Jan Smrz jan.smrz@honeywell.com
Pondělí Září 17 16:11:21 CEST 2007


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.
>> __
>>     
>
>
>   



Další informace o konferenci Hw-list