use the gained byte for improving "bootloader__do_spm"
authorStephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Tue, 31 Jul 2012 17:02:52 +0000 (19:02 +0200)
committerStephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Tue, 31 Jul 2012 18:16:55 +0000 (18:16 +0000)
Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
firmware/bootloaderconfig.h
firmware/main.c

index f6109bb..6a181df 100644 (file)
@@ -104,7 +104,7 @@ these macros are defined, the boot loader usees them.
 #define HAVE_DOSPM_TUNNELCMD       1
 /*
  * When enabled, "HAVE_DOSPM_TUNNELCMD" will implement an PROGMEM ARRAY 
- * with up to 12 opcodes within BLS.
+ * with up to 13 opcodes within BLS.
  * This array will be called "bootloader__do_spm", and implements the 
  * "do_spm" subroutine from atmels "Instruction Set Manual" Rev.0856I, page 140.
  * If additionally "HAVE_BLB11_SOFTW_BACKDOOR" is enabled, the array will just
index 7e92970..d8386e2 100644 (file)
@@ -97,7 +97,7 @@ typedef union longConverter{
 
 #if HAVE_DOSPM_TUNNELCMD
 #if HAVE_BLB11_SOFTW_BACKDOOR
-  const uint16_t bootloader__do_spm[12] PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
+  const uint16_t bootloader__do_spm[13] PROGMEM = {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
 #else
 /*
 do_spm:
@@ -122,7 +122,8 @@ out SREG, temp2
 ret
 */ 
 #if defined (__AVR_ATmega8__)
-  const uint16_t bootloader__do_spm[12] PROGMEM = {0xb68f , 0x94f8, 0xb677, 0xfc70, 0xcffd, 0xbe97, 0x95e8, 0xbe8f, 0x9508, 0x00, 0xFFFF, 0xFFFF};#else
+  const uint16_t bootloader__do_spm[13] PROGMEM = {0xb68f , 0x94f8, 0xb677, 0xfc70, 0xcffd, 0xbe97, 0x95e8, 0xbe8f, 0x9508, 0x00, 0xFFFF, 0xFFFF, 0xFFFF};
+#else
   #error "bootloader__do_spm has to be adapted, since there is no guaranty for SREG==0x3f, SPMCR==0x37, SPMEN==0x00"
 #endif
 #endif