From 13c5eccbe37e939350846559930edc3781a5817e Mon Sep 17 00:00:00 2001 From: Zach Eveland Date: Fri, 21 Oct 2011 16:51:25 -0400 Subject: can now enable interrupts but EORSTE or SOFE in USB_::attach() still cause bootloader to hang --- bootloaders/nuevo_diskloader/src/DiskLoader.cpp | 46 ++++++++++++------------- 1 file changed, 22 insertions(+), 24 deletions(-) (limited to 'bootloaders/nuevo_diskloader/src/DiskLoader.cpp') diff --git a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp index 5617d6a..6dda4ae 100644 --- a/bootloaders/nuevo_diskloader/src/DiskLoader.cpp +++ b/bootloaders/nuevo_diskloader/src/DiskLoader.cpp @@ -3,36 +3,34 @@ */ #include "Platform.h" -//#include "CDC.cpp" -#include "USBAPI.h" //extern "C" -//void entrypoint(void) __attribute__ ((naked)) __attribute__ ((section (".vectors"))); -//void entrypoint(void) -//{ -// asm volatile ( -//// "eor r1, r1\n" // Zero register -//// "out 0x3F, r1\n" // SREG -//// "ldi r28, 0xFF\n" -//// "ldi r29, 0x0A\n" -//// "out 0x3E, r29\n" // SPH -//// "out 0x3D, r28\n" // SPL -// "rjmp main" // Stack is all set up, start the main code -// ::); -//} +void entrypoint(void) __attribute__ ((naked)) __attribute__ ((section (".vectors"))); +void entrypoint(void) +{ + asm volatile ( +// "eor r1, r1\n" // Zero register +// "out 0x3F, r1\n" // SREG +// "ldi r28, 0xFF\n" +// "ldi r29, 0x0A\n" +// "out 0x3E, r29\n" // SPH +// "out 0x3D, r28\n" // SPL + "rjmp main" // Stack is all set up, start the main code + ::); +} -//ISR(BADISR_vect) -//{ -// L_LED_ON(); -//} +ISR(BADISR_vect) +{ + L_LED_ON(); +} int main(void) __attribute__ ((naked)); int main() { -// /* Enable change of interrupt vectors */ -// MCUCR = (1<