Hallo,
ich bin gerade dabei, den DMA-Controller eines Atmel- Cortex M0+
(SAMD11) zu programmieren. Dazu müssen die DMA-Deskriptoren laut
Datenblatt auf 128 bit-Adressen ausgerichte werden.
Leider führt
1 | DmacDescriptor dacDesc __attribute__ ((aligned (16)));
|
zur Compilermeldung "alignment may not be specified for 'dacDesc' "
Etwas Nachforschung ergab, dass die Definition von DmacDescriptor im
mitgelieferten Definitionsfile "dmac.h" offenbar eine falsche
Alignment-Spezifiklation enthält:
1 | ...
|
2 | } DmacDescriptor
|
3 | #ifdef __GNUC__
|
4 | __attribute__ ((aligned (8)))
|
5 | #endif
|
Ist das die Ursache für den Fehler beim Compilieren? Wie lässt sich das
Problem beheben, ohne "dmac.h" zu editieren? Letzteres fände ich sehr
unschön.