Index: firmware/App/Tasks/TaskBG.c =================================================================== diff -u -rf2652e85c8676d0356fea2690cfd9cac716ca795 -rda12d1065b9bc93d30500255d8b986f00d1bdd69 --- firmware/App/Tasks/TaskBG.c (.../TaskBG.c) (revision f2652e85c8676d0356fea2690cfd9cac716ca795) +++ firmware/App/Tasks/TaskBG.c (.../TaskBG.c) (revision da12d1065b9bc93d30500255d8b986f00d1bdd69) @@ -6,6 +6,7 @@ */ #include "CommBuffers.h" +#include "NVDataMgmt.h" static SW_UPDATE_BUFFER_STATUS_T bufferStatus; @@ -19,17 +20,17 @@ if ( ( TRUE == bufferStatus.isSWUpdateBufferReady ) && ( UPDATE_FIRMWARE == bufferStatus.dest ) ) { + _disable_IRQ(); U08 dataToWriteToFlash[ SW_UPDATE_FLASH_BUFFER_SIZE ]; getSWUpdateBuffer( dataToWriteToFlash ); - // TODO prepare for a write to NV - // TODO Disable/enable irq and fiq - // TODO get ack/nack from NV data + handleUpdatingFlash( dataToWriteToFlash ); + + _enable_IRQ(); + sendAckNackStatusFromFirmware( ACK, FALSE ); clearSWUpdateBuffer( FALSE ); - //_disable_FIQ(); - //_enable_FIQ(); } } }