fix: DANGEROUS addressing issue in spminterface.h
authorStephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Thu, 7 Nov 2013 15:30:25 +0000 (16:30 +0100)
committerStephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
Thu, 7 Nov 2013 15:45:43 +0000 (15:45 +0000)
Systematic testing issued an error in the definition of
funcaddr___bootloader__do_spm for ATmega644.
Thank to automatic addressverification this error could
be discovered.

Signed-off-by: Stephan Baerwolf <stephan.baerwolf@tu-ilmenau.de>
firmware/spminterface.h

index cc373be..48ddef5 100644 (file)
@@ -130,7 +130,9 @@ ret
       #define  funcaddr___bootloader__do_spm 0x7068
     #elif defined (__AVR_ATmega640__)
       #define  funcaddr___bootloader__do_spm 0xe0e4
       #define  funcaddr___bootloader__do_spm 0x7068
     #elif defined (__AVR_ATmega640__)
       #define  funcaddr___bootloader__do_spm 0xe0e4
-    #elif defined (__AVR_ATmega644__) || defined (__AVR_ATmega644A__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__)
+    #elif defined (__AVR_ATmega644__)
+      #define  funcaddr___bootloader__do_spm 0xe070
+    #elif defined (__AVR_ATmega644A__) || defined (__AVR_ATmega644P__) || defined (__AVR_ATmega644PA__)
       #define  funcaddr___bootloader__do_spm 0xe07c
     #elif defined (__AVR_ATmega128__)
       #define  funcaddr___bootloader__do_spm 0x1e08c
       #define  funcaddr___bootloader__do_spm 0xe07c
     #elif defined (__AVR_ATmega128__)
       #define  funcaddr___bootloader__do_spm 0x1e08c