Add missing indexterm entries to the Atmel Studio help transform.
[pub/USBasp.git] / Bootloaders / CDC / BootloaderAPITable.S
index 1ad8e28..d79b4f4 100644 (file)
@@ -1,6 +1,6 @@
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2011.
+     Copyright (C) Dean Camera, 2013.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
@@ -18,7 +18,7 @@
   advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
-  The author disclaim all warranties with regard to this
+  The author disclaims all warranties with regard to this
   software, including all implied warranties of merchantability
   and fitness.  In no event shall the author be liable for any
   special, indirect or consequential damages or any damages
   this software.
 */
 
-; Bootloader API Jump Table
-.section .apitable, "ax"
-.org 0
+; Trampolines to actual API implementations if the target address is outside the
+; range of a rjmp instruction (can happen with large bootloader sections)
+.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
+.section .apitable_jumptable, "ax"
 .global BootloaderAPI_JumpTable
 BootloaderAPI_JumpTable:
-       rjmp BootloaderAPI_ErasePage
-       rjmp BootloaderAPI_WritePage
-       rjmp BootloaderAPI_FillWord
-       rjmp BootloaderAPI_ReadSignature
-       rjmp BootloaderAPI_ReadFuse
-       rjmp BootloaderAPI_ReadLock
-       rjmp BootloaderAPI_WriteLock
+
+       rjmp BootloaderAPI_ErasePage_Trampoline
+       rjmp BootloaderAPI_WritePage_Trampoline
+       rjmp BootloaderAPI_FillWord_Trampoline
+       rjmp BootloaderAPI_ReadSignature_Trampoline
+       rjmp BootloaderAPI_ReadFuse_Trampoline
+       rjmp BootloaderAPI_ReadLock_Trampoline
+       rjmp BootloaderAPI_WriteLock_Trampoline
+       rjmp BootloaderAPU_UNUSED1 ; UNUSED ENTRY 1
+       rjmp BootloaderAPU_UNUSED2 ; UNUSED ENTRY 2
+       rjmp BootloaderAPU_UNUSED3 ; UNUSED ENTRY 3
+       rjmp BootloaderAPU_UNUSED4 ; UNUSED ENTRY 4
+       rjmp BootloaderAPU_UNUSED5 ; UNUSED ENTRY 5
+
+
 
 ; Bootloader table signatures and information
-.org 24
+.section .apitable_signatures, "ax"
+.global BootloaderAPI_Signatures
+BootloaderAPI_Signatures:
+
        .long BOOT_START_ADDR ; Start address of the bootloader
-.org 28
-       .word 0xCDC1 ; Signature for the CDC class bootloader, V1
-.org 30
+       .word 0xDF00 ; Signature for the CDC class bootloader
        .word 0xDCFB ; Signature for a LUFA class bootloader