Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

c dla atmela - podstawy ...

Awatar użytkownika
maxipalia
-
-
Posty: 63
Rejestracja: 30 lip 2004, o 17:41
Lokalizacja: Gdańsk
Kontaktowanie:

c dla atmela - podstawy ...

Postautor: maxipalia » 20 cze 2005, o 11:25

Właśnie przerabiam kod pisany w C na procesorek atmelka, na inny procek ... no ... i pojawia się tu taka "dyrektywa" xdata - nie spotkałem się z nią jeszcze - nie ma takiej w moim kompilatorze ... jak mam ją rozumieć ( no i czym ewentualnie ją zastąpić)


(przykłady występowania tego gatunku :P

unsigned char xdata STATUS[4];
int CopyX(char xdata* src, char xdata* dst, int len);

i podobne ...


z góry dziękuję za pomoc :D

Awatar użytkownika
tasza
-
-
Posty: 456
Rejestracja: 17 sty 2005, o 10:52

Postautor: tasza » 20 cze 2005, o 12:41

ha, w '51 typów pamięci dostatek, aby :570:

unsigned char xdata STATUS[4];

STATUS siedzi w XDATA (zewn. RAM), jak przerabiasz na np. avr-gcc to 'xdata' pewnie można usunąć...

int CopyX(char xdata* src, char xdata* dst, int len);
char xdata* src - to jest wskaźnik na char-y siedzące w XDATA,

jeżeli w tym programie są jakieś stałe, to pewnie też spotkasz 'code', to modyfikator, który
każe wstawić napis/stałą do pam. programu, na zawsze....
oglądnij sobie jakikolwiek manual do C na '51 np.:
uc51docu.pdf co jest dostarczany z pakietem uC51,
tam to wszystko jest wyjaśnione dokładnie, bo typy pamięci to pierwsze w czym się ginie

LucASWw
-
-
Posty: 248
Rejestracja: 23 sie 2003, o 18:26
Lokalizacja: UK

Postautor: LucASWw » 30 cze 2005, o 13:56

xdata jest to dyrektywa kompilatora mówiąca aby stałą, zmienną umieścić w zew. pamięci RAM ( w tym wypadku 4elementową tablice char), zresztą jak napisała Tasza.
Możesz pousuwać xdata, jednak może zabraknąć wew. RAM'u procesora, aby to wszystko pomieścić.

Wróć do „8051”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 45 gości