diff --git a/Platform/src/pic32/bootloader/flash.c b/Platform/src/pic32/bootloader/flash.c index ad16e5a..a4dbc63 100644 --- a/Platform/src/pic32/bootloader/flash.c +++ b/Platform/src/pic32/bootloader/flash.c @@ -30,11 +30,13 @@ void writeWordFlash(uint32_t address,uint32_t data){ if (address >= StartAppVectPhysical && (address < EndAppVectPhysical)){ NVMWriteWord((uint32_t*)address, data); if ((*(int *)(address|0x80000000)) != data){ - //printfDEBUG("##Write FAILED!!"); + println_E("FAULT read did not match write on address: ");prHEX32(address,ERROR_PRINT); eraseFlash(); callBootloaderReset(); } - } + }else{ + println_E("FAULT can not reach address: ");prHEX32(address,ERROR_PRINT); + } } diff --git a/toolchain/pic32/bootloader-app/elf32pic32mx.ld b/toolchain/pic32/bootloader-app/elf32pic32mx.ld index f8e21ac..6894550 100644 --- a/toolchain/pic32/bootloader-app/elf32pic32mx.ld +++ b/toolchain/pic32/bootloader-app/elf32pic32mx.ld @@ -12,12 +12,12 @@ ENTRY(_reset) * the command line using the linker's --defsym option. */ EXTERN (_min_stack_size _min_heap_size) -PROVIDE(_min_stack_size = 0x800) ; +PROVIDE(_min_stack_size = 0x200) ; PROVIDE(_min_heap_size = 0xff) ; INCLUDE nr_procdefs.ld -_DATA_ADDR = 0xA0000800; -_BSS_ADDR = 0xA0001000; +_DATA_ADDR = 0xA0000200; +_BSS_ADDR = 0xA0001800; SECTIONS {