DMA'e gönderilen data array'in swaplanması mümkün mü?

Başlatan XX_CİHAN_XX, 12 Şubat 2018, 20:55:25

XX_CİHAN_XX

SAMD51 serisi ARM CM4 MCU ile çalışıyorum. ST7789V LCD Driverlı bir TFT ekranı 8080- 8bit paralel modda sürüyorum. Bu veri yolunu da bir DMA ile kontrol ediyorum.
LCD'nin görsel verilerini tuttuğum bir const array buffer'ım var. Bu array'in pointer adresini DMA modülüne veriyorum ve transferi başlatarak buffer'daki verilerimin sırasıyla LCD'ye gönderilmesini sağlıyorum. Sorun tam burada başlıyor. Buffer'daki 0xAABB şeklindeki bir veri DMA'den geçip LCD portundan çıkarken 0xBBAA olarak çıkıyor. Yani Little Endian modda çalışıyor. Fakat LCD'im default olarak MSB first şekilde ayarlı. LCD'imin init ayarlarından LSB first şeklinde ayarlamama rağmen işe yaramadı sanıyorum o özellik 16bit paralel mod için. Bu nedenle DMA modülünden bu endian ayarlama işini yapmam gerektiğini düşünüyorum.
Pratik alternatif bir öneri var mı? Resim verisi olduğu için dizi boyutları büyük manual olarak tek tek her veriyi swap yapmak ile uğraşamam.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

baran123

Hocam dizi sabit ise bunu bir bilgisayar programında swaplayıp yeni diziyi çıktı alabilirsiniz ve kod'unuza ekleyebilirsiniz.


XX_CİHAN_XX

Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

OptimusPrime

https://donanimveyazilim.wordpress.com || Cihân-ârâ cihân içredir ârâyı bilmezler, O mâhîler ki deryâ içredir deryâyı bilmezler ||