diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2014-10-12 16:58:42 +1100 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2014-10-12 16:58:42 +1100 |
commit | 2304a730508331b3d71c5c37602201b5b065b4a4 (patch) | |
tree | 38c53db48e49523bc512857e5ab71b2139016642 /Bootloaders/CDC/BootloaderAPI.h | |
parent | a09cb7e3d8d6256f5610459ee8dd80e0efd741f7 (diff) | |
download | lufa-2304a730508331b3d71c5c37602201b5b065b4a4.tar.gz lufa-2304a730508331b3d71c5c37602201b5b065b4a4.tar.bz2 lufa-2304a730508331b3d71c5c37602201b5b065b4a4.zip |
Improve bootloader documentation.
Diffstat (limited to 'Bootloaders/CDC/BootloaderAPI.h')
-rw-r--r-- | Bootloaders/CDC/BootloaderAPI.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Bootloaders/CDC/BootloaderAPI.h b/Bootloaders/CDC/BootloaderAPI.h index 2462cacdd..89ef46e91 100644 --- a/Bootloaders/CDC/BootloaderAPI.h +++ b/Bootloaders/CDC/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 0xDF00 + + #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); |