Fixed CDC and DFU bootloaders API page erase and write function failures (thanks...
authorDean Camera <dean@fourwalledcubicle.com>
Fri, 29 Jun 2012 04:55:44 +0000 (04:55 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Fri, 29 Jun 2012 04:55:44 +0000 (04:55 +0000)
Bootloaders/CDC/BootloaderAPI.c
Bootloaders/CDC/makefile
Bootloaders/DFU/BootloaderAPI.c
Bootloaders/DFU/makefile
LUFA/DoxygenPages/ChangeLog.txt

index 60b2d94..bac078f 100644 (file)
 void BootloaderAPI_ErasePage(const uint32_t Address)
 {
        boot_page_erase_safe(Address);
+       boot_spm_busy_wait();
        boot_rww_enable();
 }
 
 void BootloaderAPI_WritePage(const uint32_t Address)
 {
        boot_page_write_safe(Address);
+       boot_spm_busy_wait();
        boot_rww_enable();
 }
 
index 67be6df..5ebd8b5 100644 (file)
@@ -35,8 +35,8 @@ BOOT_SEC_OFFSET       = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - $
 # Bootloader linker section flags for relocating the API table sections to
 # known FLASH addresses - these should not normally be user-edited.
 BOOT_SECTION_LD_FLAG  = -Wl,--section-start=.apitable_$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=BootloaderAPI_$(strip $(2))
-BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, trampolines, Trampolines, (48 + 32 + 8))
-BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, jumptable,   JumpTable,   (32 + 8))
+BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, trampolines, Trampolines, 96)
+BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, jumptable,   JumpTable,   32)
 BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, signatures,  Signatures,  8)
 
 # Default target
index f161bad..dadab3d 100644 (file)
 void BootloaderAPI_ErasePage(const uint32_t Address)
 {
        boot_page_erase_safe(Address);
+       boot_spm_busy_wait();
        boot_rww_enable();
 }
 
 void BootloaderAPI_WritePage(const uint32_t Address)
 {
        boot_page_write_safe(Address);
+       boot_spm_busy_wait();
        boot_rww_enable();
 }
 
index cc072f4..b4fd268 100644 (file)
@@ -35,8 +35,8 @@ BOOT_SEC_OFFSET       = 0x$(shell echo "obase=16; (($(FLASH_SIZE_KB) * 1024) - $
 # Bootloader linker section flags for relocating the API table sections to
 # known FLASH addresses - these should not normally be user-edited.
 BOOT_SECTION_LD_FLAG  = -Wl,--section-start=.apitable_$(strip $(1))=$(call BOOT_SEC_OFFSET, $(3)) -Wl,--undefined=BootloaderAPI_$(strip $(2))
-BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, trampolines, Trampolines, (48 + 32 + 8))
-BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, jumptable,   JumpTable,   (32 + 8))
+BOOT_API_LD_FLAGS     = $(call BOOT_SECTION_LD_FLAG, trampolines, Trampolines, 96)
+BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, jumptable,   JumpTable,   32)
 BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, signatures,  Signatures,  8)
 
 # Default target
index 665b164..b146973 100644 (file)
@@ -78,6 +78,7 @@
   *   - Fixed incorrect DFU version number reported to the host in the  DFU bootloader descriptors (thanks to Georg Glock)
   *   - Fixed incorrect version hundredths value encoding in VERSION_BCD() macro (thanks to Georg Glock)
   *   - Fixed invalid configuration descriptor in the low level KeyboardMouse device demo (thanks to Jun Wako)
+  *   - Fixed CDC and DFU bootloaders API page erase and write function failures (thanks to Martin Lambert)
   *
   *  \section Sec_ChangeLog120219 Version 120219
   *  <b>New:</b>