From cca24c8dc90313eba722873df816a7573003a0f1 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Thu, 17 May 2012 20:07:16 +0000 Subject: [PATCH] Update CDC and DFU class bootloader documentation with a device memory map illustration. --- Bootloaders/CDC/BootloaderCDC.txt | 38 +++++++++++++++++++++++++++++++ Bootloaders/DFU/BootloaderDFU.txt | 38 +++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+) diff --git a/Bootloaders/CDC/BootloaderCDC.txt b/Bootloaders/CDC/BootloaderCDC.txt index 50748e5960..1777967470 100644 --- a/Bootloaders/CDC/BootloaderCDC.txt +++ b/Bootloaders/CDC/BootloaderCDC.txt @@ -117,6 +117,44 @@ * #define BOOTLOADER_ADDRESS_LENGTH 4 * \endcode * + * \subsection SSec_API_MemLayout Device Memory Map + * The following illustration indicates the final memory map of the device when loaded with the bootloader. + * + * \verbatim + * +----------------------------+ 0x0000 + * | | + * | | + * | | + * | | + * | | + * | | + * | | + * | | + * | User Application | + * | | + * | | + * | | + * | | + * | | + * | | + * | | + * +----------------------------+ FLASHEND - BOOT_SECTION_SIZE + * | | + * | Bootloader Application | + * | (Not User App. Accessible) | + * | | + * +----------------------------+ FLASHEND - 96 + * | API Table Trampolines | + * | (Not User App. Accessible) | + * +----------------------------+ FLASHEND - 32 + * | Bootloader API Table | + * | (User App. Accessible) | + * +----------------------------+ FLASHEND - 8 + * | Bootloader ID Constants | + * | (User App. Accessible) | + * +----------------------------+ FLASHEND + * \endverbatim + * * Bootloaders reporting a device release revision number of 1.00 or greater are bootloader API enabled. From the application * the API support of the bootloader can be detected by reading the FLASH memory bytes located at address \c BOOTLOADER_MAGIC_SIGNATURE_START * and comparing them to the value \c BOOTLOADER_MAGIC_SIGNATURE. The class of bootloader can be determined by reading the diff --git a/Bootloaders/DFU/BootloaderDFU.txt b/Bootloaders/DFU/BootloaderDFU.txt index 0ef8aba673..f6a5d1cf5b 100644 --- a/Bootloaders/DFU/BootloaderDFU.txt +++ b/Bootloaders/DFU/BootloaderDFU.txt @@ -128,6 +128,44 @@ * to the value \c BOOTLOADER_CDC_SIGNATURE. The start address of the bootloader can be retrieved by reading the bytes of FLASH * memory starting from address \c BOOTLOADER_ADDRESS_START. * + * \subsection SSec_API_MemLayout Device Memory Map + * The following illustration indicates the final memory map of the device when loaded with the bootloader. + * + * \verbatim + * +----------------------------+ 0x0000 + * | | + * | | + * | | + * | | + * | | + * | | + * | | + * | | + * | User Application | + * | | + * | | + * | | + * | | + * | | + * | | + * | | + * +----------------------------+ FLASHEND - BOOT_SECTION_SIZE + * | | + * | Bootloader Application | + * | (Not User App. Accessible) | + * | | + * +----------------------------+ FLASHEND - 96 + * | API Table Trampolines | + * | (Not User App. Accessible) | + * +----------------------------+ FLASHEND - 32 + * | Bootloader API Table | + * | (User App. Accessible) | + * +----------------------------+ FLASHEND - 8 + * | Bootloader ID Constants | + * | (User App. Accessible) | + * +----------------------------+ FLASHEND + * \endverbatim + * * \section Sec_Options Project Options * * The following defines can be found in this demo, which can control the demo behaviour when defined, or changed in value.