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