Example: ATxmega128A1
Some ATDF files contain nested <register-group /> elements, for example:
<register-group caption="DMA Controller" name="DMA" size="80">
<register caption="Control" name="CTRL" offset="0x00" size="1">
...
</register>
...
<register-group caption="DMA Channel 0" name="CH0" offset="0x10" name-in-module="DMA_CH"/>
<register-group caption="DMA Channel 1" name="CH1" offset="0x20" name-in-module="DMA_CH"/>
<register-group caption="DMA Channel 2" name="CH2" offset="0x30" name-in-module="DMA_CH"/>
<register-group caption="DMA Channel 3" name="CH3" offset="0x40" name-in-module="DMA_CH"/>
</register-group>
These register groups are defined right next to this one, in the same <module>:
<register-group caption="DMA Channel" name="DMA_CH" size="16">
<register caption="Channel Control" name="CTRLA" offset="0x00" size="1">
...
</register>
</register-group>
The parser needs to expand those sub-register groups into registers in the peripheral, probably by appending the names. E.g. the above example would create a CH0_CTRLA register.
Example:
ATxmega128A1Some ATDF files contain nested
<register-group />elements, for example:These register groups are defined right next to this one, in the same
<module>:The parser needs to expand those sub-register groups into registers in the peripheral, probably by appending the names. E.g. the above example would create a
CH0_CTRLAregister.