X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=blobdiff_plain;f=tools%2Ftinyos%2Fmisc%2Ftos-deluge;h=7a215a0e474cd82ced693d022feef1351ea33016;hp=1277ba5df2be3172653c6264c5577421cb2dee4a;hb=809036bc77a8366b0f9aa2d78cdcacdcc4dc1379;hpb=788537fe28c47e92ce684994f88f85b41f92f798 diff --git a/tools/tinyos/misc/tos-deluge b/tools/tinyos/misc/tos-deluge index 1277ba5d..7a215a0e 100755 --- a/tools/tinyos/misc/tos-deluge +++ b/tools/tinyos/misc/tos-deluge @@ -186,12 +186,15 @@ def read(imgNum, offset, length): def erase(imgNum): # Note: the normal erase doesn't work properly on AT45DB. A - # workaroud is to overwrite the metadata of the Deluge image. - # - #sreqpkt = FMReqPacket((FM_CMD_ERASE, imgNum, 0, 0, [])) - #success = am.write(sreqpkt, FM_AMID) - #return handleResponse(success, "ERROR: Unable to erase the flash volume") + # workaround is to do the normal erase (to make happy STM45P) + # and then overwrite the metadata (to make happy AT45DB). + sreqpkt = FMReqPacket((FM_CMD_ERASE, imgNum, 0, 0, [])) + success = am.write(sreqpkt, FM_AMID) + result = handleResponse(success, "ERROR: Unable to erase the flash volume") + if result: return True; + + print 'Attempt the workaround for AT45DB...' sreqpkt = FMReqPacket((FM_CMD_WRITE, imgNum, 0, 0, [])) sreqpkt.data = [0xFF] * DELUGE_IDENT_SIZE sreqpkt.length = DELUGE_IDENT_SIZE