CodeVisionaAVR a dostep do calego EEPROMu(?)

Oct 27, 2003 9 Replies

witam,



mam cvavr (1.23c prof.); atmega16 ma 512 bajtow eepromu;



czemu jak zadeklaruje (globalnie): eeprom unsigned char dupa[512]; to kompilator wywala errory,



a jak zadeklaruje: eeprom unsigned char dupa[511]; to jest ok. (?!)



(zadnych innych zmiennych eeprom, w calym kodzie,oczywiscie nie ma)



jeszcze jeden -powalajacy- bug tego "profesjonalnego" kompilatora: jak zadeklaruje zmianna (globalna): eeprom unsigned char array3d[3][2][24]; to kompilator wywala write/verify errors podczas programowania flasha i eepromu (?!?!?!?!?) (mimo, ze procesor+programator_stk200 sa ok) a jak dam: eeprom unsigned char array3d[3*2*24]; to jest ok; :) , :( , ?...



no i,btw, w gcc nie ma takich niespodziewanek :(.



qba


masz racje, w c/c++ indeksy zaczynaja sie od zera czyli tablica [512] to dane [0]..[511]

chyba cos ci sie pochrzanilo z pascalem/delphi ;) tam bylo chyba tak: array[0..511] - 512 bajtow array[1..512] - tez 512 bajtow :)

Uzytkownik "Qba" snipped-for-privacy@gazeta.pl napisal w wiadomosci news:bnj91r$67k$ snipped-for-privacy@korweta.task.gda.pl...

no widzisz ja tez uzywam gcc i jestem zadowolony

Uzytkownik "Qba" snipped-for-privacy@gazeta.pl napisal w wiadomosci news:bnj91r$67k$ snipped-for-privacy@korweta.task.gda.pl...

Witam,

Czy aby indexy tablic nie zaczynaja sie od 0 ?

Bo AVR-y maja blad polegajacy na tym, ze wartosci pamietane w komorce o adresie 0 bywaja tracone.

I co - CV automatycznie broni adresu 0 jak Reytan? ;-)

Pozdrawiam

Marcin Stanisz

Kompilator ICCAVR wyrzuca ostrze¿enia przy próbie u¿ycia komórki EEPROM o adresie 0, ze wzglêdu na zamazywanie jej warto¶ci w niektórych procesorach. Byæ mo¿e twórcy CV poszli dalej... ;-) TG

procesorach.

W rzeczy samej do wersji 1.23.8d kompilator pomija³ komórkê o adresie 0. Niedawno wysz³a jednak wersja 1.23.9 i czytaj±c jakie zmiany wprowadzono wzglêdem poprzedniej wersji widzimy rzecz nastêpuj±c±:

"the EEPROM location at address 0 is now used by the compiler (for newly created projects), as the corruption of this location was fixed by Atmel"

Wynika z tego, ¿e komórka o adresie 0 znów jest dostêpna.

pozdrowienia Rafa³

Witam. Dok³adnie.... Wersja CVAVR 1.23.9 kompiluje bez problemu podane poni¿ej linie kodu:

//-------------------- eeprom unsigned char array3d[3][2][24];

//-------------------- eeprom unsigned char dupa[512];

Pozdrawiam. Seba

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required