[elektro] Nuvoton Cortex-M0 - endian

Ábrahám Gábor abraham at plus7.hu
Sun Nov 20 18:59:13 CET 2011


Van rá gyári makro. Ha ezt használod írhatsz gépfüggetlen kódot.


<http://www.gnu.org/s/hello/manual/libc/Byte-Order.html>

Gábor

----- Eredeti üzenet ----- 
From: Bali Zoltan
Sent: Sunday, November 20, 2011 6:48 PM
To: elektro at tesla.hu
Subject: Re: [elektro] Nuvoton Cortex-M0 - endian

Levelek megint összevissza jönnek...

Varázsszót már találtam rá, __big_endian , csak struktúra definícióban
nem működik
a tagokra (Error). A struktúrára meg értelmetlennek tartja (warning).

Viszont, ha a tag elé a párját teszem, a __little_endian, akkor nincs hiba.

Azért belenéztem a proci utasításkészletébe, hát nem tartana semmiből a
fordítónak
beszúrni egy REV, vagy REV16 -ot a kódba, ha odabiggyesztem a
__big_endian kulcsszót.
Persze megoldottam a __REV, __REV16 makrókkal.
Mondjuk a nyolc utasítás meg a 8 órajel nem zavar, csak randa.

   NETWORK_RECEIVE_INITIALIZE(frame->buf_index);
   ENCGetArray( (uint8_t*) &received_tcp_packet,20);
   received_tcp_packet.sport        = __REV16(received_tcp_packet.sport);
   received_tcp_packet.dport        = __REV16(received_tcp_packet.dport);
   received_tcp_packet.seqno        = __REV(received_tcp_packet.seqno);
   received_tcp_packet.ackno        = __REV(received_tcp_packet.ackno);
   received_tcp_packet.hlen_flags   =
__REV16(received_tcp_packet.hlen_flags);
   received_tcp_packet.window       = __REV16(received_tcp_packet.window);
   received_tcp_packet.checksum     =
__REV16(received_tcp_packet.checksum);
   received_tcp_packet.urgent       = __REV16(received_tcp_packet.urgent);


Köszi

Üdv.  Zoli



2011. 11. 20. 18:22 keltezéssel, Info írta:
> itt is említik pl
> http://www.codeproject.com/KB/cpp/endianness.aspx
>
>
>

-----------------------------------------
          elektro[-flame|-etc]



-----
A(z)  üzenetben nem található vírus.
Ellenőrizte: AVG - www.avg.com
Verzió: 2012.0.1872 / Vírus adatbázis: 2092/4628 - Kiadás dátuma: 
2011.11.20.



More information about the Elektro mailing list