ATMega128, gcc a data ve FLASH

Jan Smrz jan.smrz@honeywell.com
Úterý Září 18 11:01:51 CEST 2007


Tak to makro GET_FAR_ADDRESS zminovane v one diskuzi na avrfreaks 
nepomohlo :-( Skonci to na hlasce assembleru "Constant expression 
expected". Kdyz se podivam do asm kodu, tak je neco takovehoto:

ldi    r24, lo8(r30)
ldi    r25, hi8(r30)

Coz je evidentne spatne. Mozna drivejsi gcc to prekladalo jinak. Nema 
nekdi nejaky dalsi napad?

J.S.



Jan Waclawek wrote:
> Ja viem ze so hajzel, ale opytajte sa tu pritomnych OpenSource 
> fundamentalistov na riesenie... Je jednoduche, dopiste si to sam, gcc je 
> predsa OpenSource... :-|
>
> Toto by nepomohlo?
> http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=308706
>
> wek
>
>
>
> Jan Smrz 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.
>>     



Další informace o konferenci Hw-list