Witam szanowne grono.
Próbuję rozpoznać DMA bojem. Przy ustawieniu "DMA_CH_SRC/DESTRELOAD_BLOCK_gc", wyniki były inne, ale w symulatorze ok. Tak mam to teraz.
Chyba najprostszy przykład jaki się da:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
przy wyłączonej optymalizacji, w symulatorze w tablicy "b" pojawia się kopia tablicy "a".
W debugerze w "b" pojawia się kolejno od pozycji 0 do 9:
Kod:
0112233445
przy optymalizacji -Os, -O2 i -O3 w symulatorze bez zmian wszystko ok. W debugerze nic się nie kopiuje i program nie wychodzi z pierwszej pętli.
przy optymalizacji -O1 i -Og w symulatorze bez zmian. W debugerze:
Kod:
0001122334
Po zmianie "DMA_CH_BURSTLEN_1BYTE_gc" na 2, 4.. zdublowane wartości pojawiają się co 2,4 bajty. Dla 4:
Kod:
0012334566
Ktoś coś?