}
bool verifyImage(ex_flash_addr_t startAddr) {
- uint16_t addr;
+ uint32_t addr;
uint8_t numPgs;
uint8_t i;
+
if (!verifyBlock(startAddr + offsetof(DelugeIdent,crc),
startAddr, offsetof(DelugeIdent,crc)))
return FALSE;
for ( i = 0; i < numPgs; i++ ) {
if (!verifyBlock(startAddr + i*sizeof(uint16_t),
startAddr + addr, DELUGE_BYTES_PER_PAGE)) {
- if (i == 0)
- while (1)
- call Leds.flash(1);
return FALSE;
}
addr += DELUGE_BYTES_PER_PAGE;
error_t programImage(ex_flash_addr_t startAddr) {
uint8_t buf[TOSBOOT_INT_PAGE_SIZE];
- uint16_t pageAddr, newPageAddr;
+ uint32_t pageAddr, newPageAddr;
in_flash_addr_t intAddr;
in_flash_addr_t secLength;
ex_flash_addr_t curAddr;
secLength = extFlashReadAddr();
curAddr = curAddr + 8;
-#if defined(PLATFORM_TELOSB)
+#if defined(PLATFORM_TELOSB) || defined (PLATFORM_EPIC)
if (intAddr != TOSBOOT_END) {
#elif defined(PLATFORM_MICAZ) || defined(PLATFORM_IRIS)
if (intAddr != 0) {
+#elif defined(PLATFORM_MULLE)
+ if (intAddr != 0xA0000) {
#else
#error "Target platform is not currently supported by Deluge T2"
#endif