ATMega128, gcc a data ve FLASH

Jan Smrz jan.smrz@honeywell.com
Pondělí Září 17 17:12:31 CEST 2007


O pgm_read_byte_far vim. Muj problem je spis ziskat tu adresu promenne.

To makro z AVRfreaks od weka snad pomuze.

J.S.


 
Miroslav Sinko wrote:
> 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
>>
>>     
>
>
>
>   



Další informace o konferenci Hw-list