RTV forum PL | NewsGroups PL

Jakie są różnice między LITTLE_ENDIAN a BIG_ENDIAN w mikroprocesorach AVR i 8051?

LITTLE_ENDIAN czy BIG_ENDIAN ???

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie są różnice między LITTLE_ENDIAN a BIG_ENDIAN w mikroprocesorach AVR i 8051?

jfk
Guest

Tue May 25, 2004 9:35 am   



Witam

Pytanie jak w temacie. Konkretnie chodzi mi o PC i mikroprocki takie jak
AVR, 8051, motorolki.
Który jak ma te bity ułożone - gdzie najstarszy bit w poszczególnych
prockach?
Wysyłam całe struktury (z polami bitowymi) danych szeregowo (po RS232 i po
SPI ) i chciałbym wiedziec jak to powinno być.
Pytanie dotyczy takze kolejności bajtów w słowie 16 lub 32 bit.
Czy to zależy takze od kompilatora C ?
Dzieki za wszelkie odpowiedzi.
jfk

Andy
Guest

Tue May 25, 2004 5:49 pm   



Użytkownik "jfk" <jotefka@poczta.fm> napisał w wiadomości news:c8v7hd$mkn$1@inews.gazeta.pl...
Quote:
Witam

Pytanie jak w temacie. Konkretnie chodzi mi o PC i mikroprocki takie jak
AVR, 8051, motorolki.
Który jak ma te bity ułożone - gdzie najstarszy bit w poszczególnych
prockach?
Wysyłam całe struktury (z polami bitowymi) danych szeregowo (po RS232 i po
SPI ) i chciałbym wiedziec jak to powinno być.
Pytanie dotyczy takze kolejności bajtów w słowie 16 lub 32 bit.
Czy to zależy takze od kompilatora C ?
Dzieki za wszelkie odpowiedzi.
jfk



na PC'cie jest LITTLE ENDIAN

na prockach 8-bit owych to zalezy od kompilatora

KIEL na 8051 ma BIG ENDIAN
a avr-gcc ma LITTLE

--
Andrzej

Andy
Guest

Tue May 25, 2004 5:55 pm   



Użytkownik "jfk" <jotefka@poczta.fm> napisał w wiadomości news:c8v7hd$mkn$1@inews.gazeta.pl...
Quote:
Witam

Pytanie jak w temacie. Konkretnie chodzi mi o PC i mikroprocki takie jak
AVR, 8051, motorolki.
Który jak ma te bity ułożone - gdzie najstarszy bit w poszczególnych
prockach?
Wysyłam całe struktury (z polami bitowymi) danych szeregowo (po RS232 i po
SPI ) i chciałbym wiedziec jak to powinno być.



po RS zaraz za bitem START leci najmlodszy bit (LSB)

po SPI jest konfigurowalne
w AVR'ach bit DORD, po resecie jest DODR = 0 czyli MSB fist

--
Andrzej

J.F.
Guest

Tue May 25, 2004 6:26 pm   



On Tue, 25 May 2004 20:49:18 +0200, Andy wrote:
Quote:
na prockach 8-bit owych to zalezy od kompilatora
KIEL na 8051 ma BIG ENDIAN
a avr-gcc ma LITTLE

'51 jest dziwny :-)

adresy zaszyte w programie sa BE - Mov dptr,#..., Lcall, Ljmp.
Ale juz DPTR w rejestrach jest polozony jak LE [DPL 82, DPH 83).
CALL adresy na stos wrzuca LE.

Przy czym jest to praktycznie czysto 8-bit procesor, wiec kompilator
moze zastosowac dowolna konwencje ... no brak instrukcji DEC dptr
utrudnia operowanie na BE w XRAM.

Ale juz w takim 8080 czy Z80 - tylko LE.

J.

Adam Dybkowski
Guest

Tue May 25, 2004 10:01 pm   



jfk wrote:

Quote:
Pytanie jak w temacie. Konkretnie chodzi mi o PC i mikroprocki takie jak
AVR, 8051, motorolki.
Który jak ma te bity ułożone - gdzie najstarszy bit w poszczególnych
prockach?

Jądro ARM ma endianess wybieralny, ale już konkretne implementacje mogą
tą swobodę ograniczać. Najczęściej (np. w ARMach Atmela) jest to little
endian (LSB first) i tak to widzi kompilator gcc. Podobnie jest w
gcc-avr - też little endian (tzn. gdy np. słowo 32-bitowe leży w pamięci
to najniższy adres zajmuje jego najmłodszy bajt).

--
Adam Dybkowski
adybkows@amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows/

elektroda NewsGroups Forum Index - Elektronika Polska - Jakie są różnice między LITTLE_ENDIAN a BIG_ENDIAN w mikroprocesorach AVR i 8051?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map