diff --git a/armsrc/Standalone/hf_colin.c b/armsrc/Standalone/hf_colin.c index 7259fcab3..f19706af1 100644 --- a/armsrc/Standalone/hf_colin.c +++ b/armsrc/Standalone/hf_colin.c @@ -318,14 +318,16 @@ void WriteTagToFlash(uint8_t index, size_t size) Flash_CheckBusy(BUSY_TIMEOUT); Flash_WriteEnable(); Flash_Erase4k(0,0); - Flash_CheckBusy(BUSY_TIMEOUT); - Flash_WriteEnable(); uint32_t end_time; uint32_t start_time = end_time = GetTickCount(); while (bytes_remaining > 0) { + + Flash_CheckBusy(BUSY_TIMEOUT); + Flash_WriteEnable(); + uint32_t bytes_in_packet = MIN(FLASH_MEM_BLOCK_SIZE, bytes_remaining); memcpy(buff, data + bytes_sent, bytes_in_packet); diff --git a/armsrc/flashmem.c b/armsrc/flashmem.c index f173b66b4..a8642dd74 100644 --- a/armsrc/flashmem.c +++ b/armsrc/flashmem.c @@ -382,10 +382,6 @@ uint16_t Flash_WriteDataCont(uint32_t address, uint8_t *in, uint16_t len) { } - - Flash_CheckBusy(BUSY_TIMEOUT); - Flash_WriteEnable(); - FlashSendByte(PAGEPROG); FlashSendByte((address >> 16) & 0xFF); FlashSendByte((address >> 8) & 0xFF);