Tag for the LUFA-120730-BETA release.
[pub/USBasp.git] / Bootloaders / DFU / BootloaderAPITable.S
index 18ae390..9d1e2fc 100644 (file)
@@ -7,7 +7,7 @@
 */
 
 /*
 */
 
 /*
-  Copyright 2011  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
   this software.
 */
 
   this software.
 */
 
-; Bootloader API Jump Table
-.section .apitable, "ax"
-
 ; Trampolines to actual API implementations if the target address is outside the
 ; range of a rjmp instruction (can happen with large bootloader sections)
 ; Trampolines to actual API implementations if the target address is outside the
 ; range of a rjmp instruction (can happen with large bootloader sections)
-.org 0
-BootloaderAPI_ErasePage_Trampoline:
-       jmp BootloaderAPI_ErasePage
-BootloaderAPI_WritePage_Trampoline:
-       jmp BootloaderAPI_WritePage
-BootloaderAPI_FillWord_Trampoline:
-       jmp BootloaderAPI_FillWord
-BootloaderAPI_ReadSignature_Trampoline:
-       jmp BootloaderAPI_ReadSignature
-BootloaderAPI_ReadFuse_Trampoline:
-       jmp BootloaderAPI_ReadFuse
-BootloaderAPI_ReadLock_Trampoline:
-       jmp BootloaderAPI_ReadLock
-BootloaderAPI_WriteLock_Trampoline:
-       jmp BootloaderAPI_WriteLock
-BootloaderAPU_UNUSED1:
-       ret
-BootloaderAPU_UNUSED2:
-       ret
-BootloaderAPU_UNUSED3:
-       ret
-BootloaderAPU_UNUSED4:
-       ret
-BootloaderAPU_UNUSED5:
-       ret
+.section .apitable_trampolines, "ax"
+.global BootloaderAPI_Trampolines
+BootloaderAPI_Trampolines:
+
+       BootloaderAPI_ErasePage_Trampoline:
+               jmp BootloaderAPI_ErasePage
+       BootloaderAPI_WritePage_Trampoline:
+               jmp BootloaderAPI_WritePage
+       BootloaderAPI_FillWord_Trampoline:
+               jmp BootloaderAPI_FillWord
+       BootloaderAPI_ReadSignature_Trampoline:
+               jmp BootloaderAPI_ReadSignature
+       BootloaderAPI_ReadFuse_Trampoline:
+               jmp BootloaderAPI_ReadFuse
+       BootloaderAPI_ReadLock_Trampoline:
+               jmp BootloaderAPI_ReadLock
+       BootloaderAPI_WriteLock_Trampoline:
+               jmp BootloaderAPI_WriteLock
+       BootloaderAPU_UNUSED1:
+               ret
+       BootloaderAPU_UNUSED2:
+               ret
+       BootloaderAPU_UNUSED3:
+               ret
+       BootloaderAPU_UNUSED4:
+               ret
+       BootloaderAPU_UNUSED5:
+               ret
+
+
 
 ; API function jump table
 
 ; API function jump table
-.org (96 - 32)
+.section .apitable_jumptable, "ax"
 .global BootloaderAPI_JumpTable
 BootloaderAPI_JumpTable:
 .global BootloaderAPI_JumpTable
 BootloaderAPI_JumpTable:
+
        rjmp BootloaderAPI_ErasePage_Trampoline
        rjmp BootloaderAPI_WritePage_Trampoline
        rjmp BootloaderAPI_FillWord_Trampoline
        rjmp BootloaderAPI_ErasePage_Trampoline
        rjmp BootloaderAPI_WritePage_Trampoline
        rjmp BootloaderAPI_FillWord_Trampoline
@@ -76,10 +79,13 @@ BootloaderAPI_JumpTable:
        rjmp BootloaderAPU_UNUSED4 ; UNUSED ENTRY 4
        rjmp BootloaderAPU_UNUSED5 ; UNUSED ENTRY 5
 
        rjmp BootloaderAPU_UNUSED4 ; UNUSED ENTRY 4
        rjmp BootloaderAPU_UNUSED5 ; UNUSED ENTRY 5
 
+
+
 ; Bootloader table signatures and information
 ; Bootloader table signatures and information
-.org (96 - 8)
-BootloaderAPI_Signatures:
+.section .apitable_signatures, "ax"
 .global BootloaderAPI_Signatures
 .global BootloaderAPI_Signatures
+BootloaderAPI_Signatures:
+
        .long BOOT_START_ADDR ; Start address of the bootloader
        .word 0xDFB1 ; Signature for the DFU class bootloader, V1
        .word 0xDCFB ; Signature for a LUFA class bootloader
        .long BOOT_START_ADDR ; Start address of the bootloader
        .word 0xDFB1 ; Signature for the DFU class bootloader, V1
        .word 0xDCFB ; Signature for a LUFA class bootloader