Fix compatibility with svd2rust 1.16.1
svd2rust now generates a module containing generic descriptions which
the individual register definitions are based on. Fix the code
generation to deal with this module.
Signed-off-by: Rahix <rahix@rahix.de>
Implement interrupts
This commit adds a new feature-flag `rt` which, when enabled, adds the
`#[interrupt]` procedural macro to define an interrupt handler. Unlike
the implementation in cortex-m, this version needs an attribute which is
the name of the chip the interrupt is for. In code, an interrupt
handler might look like this:
#![feature(abi_avr_interrupt)]
#[avr_device::interrupt(atmega32u4)]
fn INT6() {
// Do Something
}
Closes #1.
Signed-off-by: Rahix <rahix@rahix.de>
Switch to a new design as outlined in #17
Signed-off-by: Rahix <rahix@rahix.de>
hack: Make sure you cannot build for more than one chip
Signed-off-by: Rahix <rahix@rahix.de>
atmega1280: Add missing Peripherals::take()
Signed-off-by: Rahix <rahix@rahix.de>