Represents a block of memory containing registers.
name: block name (not important)
start: start address.
end: end address.
offset: address offset (this value is added to register address)
Field "register":
Represents a single register.
name: Register name.
addr: Register address (without offset).
reset: reset value, 8 bit, default = "00000000"
mask: 8 bit, default = "11111111"
Affects only operations with DataSpace::writeReg()
mask = 0 : doesn't mask value but is write protected.
else : bits marked as 0 are masked out off the value.
bits: list of bit names (separated by commas).
A 0 represents no name.
Registers must be defined before peripherals and interrupts because these can use register or bit names.
priority: number representing interupt priority (bigger has more priority).
vector: Program Memory address to jump at interrupt execution.
clear: how to clear interrupt flag.
If empty clear flag after interrupt execution.
If clear="1" clear flag by writing 1 to it.
If clear="0" deactivate auto-clear.