aboutsummaryrefslogtreecommitdiffstats
path: root/Bootloaders/DFU/BootloaderAPI.h
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2014-10-12 16:58:42 +1100
committerDean Camera <dean@fourwalledcubicle.com>2014-10-12 16:58:42 +1100
commit2304a730508331b3d71c5c37602201b5b065b4a4 (patch)
tree38c53db48e49523bc512857e5ab71b2139016642 /Bootloaders/DFU/BootloaderAPI.h
parenta09cb7e3d8d6256f5610459ee8dd80e0efd741f7 (diff)
downloadlufa-2304a730508331b3d71c5c37602201b5b065b4a4.tar.gz
lufa-2304a730508331b3d71c5c37602201b5b065b4a4.tar.bz2
lufa-2304a730508331b3d71c5c37602201b5b065b4a4.zip
Improve bootloader documentation.
Diffstat (limited to 'Bootloaders/DFU/BootloaderAPI.h')
-rw-r--r--Bootloaders/DFU/BootloaderAPI.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/Bootloaders/DFU/BootloaderAPI.h b/Bootloaders/DFU/BootloaderAPI.h
index 2462cacdd..9502bd901 100644
--- a/Bootloaders/DFU/BootloaderAPI.h
+++ b/Bootloaders/DFU/BootloaderAPI.h
@@ -45,6 +45,30 @@
#include "Config/AppConfig.h"
+ /* User Application API: */
+ /** [User Application API] */
+ #define BOOTLOADER_API_TABLE_SIZE 32
+ #define BOOTLOADER_API_TABLE_START ((FLASHEND + 1UL) - BOOTLOADER_API_TABLE_SIZE)
+ #define BOOTLOADER_API_CALL(Index) (void*)((BOOTLOADER_API_TABLE_START + (Index * 2)) / 2)
+
+ void (*BootAPI_ErasePage)(uint32_t Address) = BOOTLOADER_API_CALL(0);
+ void (*BootAPI_WritePage)(uint32_t Address) = BOOTLOADER_API_CALL(1);
+ void (*BootAPI_FillWord)(uint32_t Address, uint16_t Word) = BOOTLOADER_API_CALL(2);
+ uint8_t (*BootAPI_ReadSignature)(uint16_t Address) = BOOTLOADER_API_CALL(3);
+ uint8_t (*BootAPI_ReadFuse)(uint16_t Address) = BOOTLOADER_API_CALL(4);
+ uint8_t (*BootAPI_ReadLock)(void) = BOOTLOADER_API_CALL(5);
+ void (*BootAPI_WriteLock)(uint8_t LockBits) = BOOTLOADER_API_CALL(6);
+
+ #define BOOTLOADER_MAGIC_SIGNATURE_START (BOOTLOADER_API_TABLE_START + (BOOTLOADER_API_TABLE_SIZE - 2))
+ #define BOOTLOADER_MAGIC_SIGNATURE 0xDCFB
+
+ #define BOOTLOADER_CLASS_SIGNATURE_START (BOOTLOADER_API_TABLE_START + (BOOTLOADER_API_TABLE_SIZE - 4))
+ #define BOOTLOADER_CDC_SIGNATURE 0xDF10
+
+ #define BOOTLOADER_ADDRESS_START (BOOTLOADER_API_TABLE_START + (BOOTLOADER_API_TABLE_SIZE - 8))
+ #define BOOTLOADER_ADDRESS_LENGTH 4
+ /** [User Application API] */
+
/* Function Prototypes: */
void BootloaderAPI_ErasePage(const uint32_t Address);
void BootloaderAPI_WritePage(const uint32_t Address);