#define __ASSEMBLER__
#include "avr/iousb162.h"
-struct mcu_t {
+const struct mcu_t {
avr_t core;
avr_eeprom_t eeprom;
avr_flash_t selfprog;
AVR_SELFPROG_DECLARE(SPMCSR, SPMEN, SPM_READY_vect),
AVR_WATCHDOG_DECLARE(WDTCSR, WDT_vect),
.extint = {
- AVR_EXTINT_DECLARE(0, 'D', PD0),
- AVR_EXTINT_DECLARE(1, 'D', PD1),
- AVR_EXTINT_DECLARE(2, 'D', PD2),
- AVR_EXTINT_DECLARE(3, 'D', PD3),
- AVR_EXTINT_DECLARE(4, 'C', PC7),
- AVR_EXTINT_DECLARE(5, 'D', PD4),
- AVR_EXTINT_DECLARE(6, 'D', PD6),
- AVR_EXTINT_DECLARE(7, 'D', PD7),
+ AVR_EXTINT_MEGA_DECLARE(0, 'D', PD0, A),
+ AVR_EXTINT_MEGA_DECLARE(1, 'D', PD1, A),
+ AVR_EXTINT_MEGA_DECLARE(2, 'D', PD2, A),
+ AVR_EXTINT_MEGA_DECLARE(3, 'D', PD3, A),
+ AVR_EXTINT_MEGA_DECLARE(4, 'C', PC7, B),
+ AVR_EXTINT_MEGA_DECLARE(5, 'D', PD4, B),
+ AVR_EXTINT_MEGA_DECLARE(6, 'D', PD6, B),
+ AVR_EXTINT_MEGA_DECLARE(7, 'D', PD7, B),
},
.portb = {
.name = 'B', .r_port = PORTB, .r_ddr = DDRB, .r_pin = PINB,
static avr_t * make()
{
- return &mcu_usb162.core;
+ return avr_core_allocate(&mcu_usb162.core, sizeof(struct mcu_t));
}
avr_kind_t usb162 = {