Modify CDC and DFU bootloaders so that the various BootloaderAPI components are in...
[pub/USBasp.git] / Bootloaders / DFU / BootloaderAPITable.S
index 18ae390..cad8f71 100644 (file)
   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)
-.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
-.org (96 - 32)
+.section .apitable_jumptable, "ax"
 .global BootloaderAPI_JumpTable
 BootloaderAPI_JumpTable:
+
        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
 
+
+
 ; Bootloader table signatures and information
-.org (96 - 8)
-BootloaderAPI_Signatures:
+.section .apitable_signatures, "ax"
 .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