>> R. K. schrieb:
>> Bei den Stellaris ist halt einfach MSB-First fix einprogrammiert.
> Ja, weil das der Rest der Welt auch so macht...
Doch genau damit habe ich ein Problem. Ich empfange einen
kontinuielichen Datenstrom. Ich clocke dabei die SPI selbst und
speichere einfach alle empfangenen Bits in einem grossen Buffer. Danach
suche ich in diesem Buffer nach meinem Sync-Wort und decodiere die
Daten.
Da ich asynchron arbeite kann ein Daten-Byte auch über mehre Bytes im
Speicher verteilt sein. Durch die LittleEndian eigenschaft des Cortex
ergeben sich dann deutliche Unschönheiten.
Der DMA füllt beispielsweise den Buffer an der stelle [1] mit dem ersten
Byte. Danach füllt er den Buffer an der stelle [2] mit dem nächsten
Byte... Wenn ich die Daten für eine effiziente Verarbeitung mit
32-Bit-Variablen verarbeiten will krieg ich ein riisen Problem wegen dem
little Endian. Könnte ich die Daten mit LSB first im Speicher ablegen,
so würde das ganze zwar vedreht, jedoch gibt es keine Fehler im
Speicher.
Vielleicht kennst du auch eine Möglickeit, damit der DMA meine
Byte-Daten so in den Speicher schreibt, damit ich die Daten später als
32-Bit interpretieren kann?