Add atmega48p device support
Only emit inline-assembly when building for AVR
Make sure that we'll never emit AVR assembly on non-AVR targets.
Instead of failing the build, fail at runtime, to allow a potential
application testsuite to run even if those functions somehow get linked
in.
Signed-off-by: Rahix <rahix@rahix.de>
Add basic support for ATmega168
Add support for ATmega2560
Add version for avr-device-macros
Signed-off-by: Rahix <rahix@rahix.de>
Include generated files instead of build-script
Signed-off-by: Rahix <rahix@rahix.de>
Add basic support for ATmega64
Pull in the ATDF file from Microchip and add all the necessary plumbing
around the code-base to make it compile. Not tested against real
hardware and no device-specific patches are included yet.
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>
Add build-script to auto-generate chip-defs
Signed-off-by: Rahix <rahix@rahix.de>