@@ -272,17 +272,30 @@ def STM32_writeMEM(file_path: str):
272
272
sleep_ms (100 )
273
273
274
274
275
- def _STM32_standardEraseMEM (pages : int , page_list : list = None ):
275
+ def _STM32_standardEraseMEM (pages : int , page_list : bytearray = None ):
276
276
"""
277
277
Standard Erase (0x43) flash mem pages according to AN3155
278
278
:param pages: number of pages to be erased
279
279
:param page_list: page codes to be erased
280
280
:return:
281
281
"""
282
- pass
283
282
283
+ if _STM32_eraseMode () == STM32_NACK :
284
+ print ("COULD NOT ENTER ERASE MODE" )
285
+ return
284
286
285
- def _STM32_extendedEraseMEM (pages : int , page_list : list = None ):
287
+ if pages == 0xFF :
288
+ # Mass erase
289
+ uart .write (b'\xFF ' )
290
+ uart .write (b'\x00 ' )
291
+ else :
292
+ print ("Not yet implemented erase" )
293
+
294
+ if _STM32_waitForAnswer () != STM32_ACK :
295
+ print ("ERASE OPERATION ABORTED" )
296
+
297
+
298
+ def _STM32_extendedEraseMEM (pages : int , page_list : bytearray = None ):
286
299
"""
287
300
Extended Erase (0x44) flash mem pages according to AN3155
288
301
:param pages: number of pages to be erased
@@ -299,14 +312,24 @@ def _STM32_extendedEraseMEM(pages: int, page_list: list = None):
299
312
uart .write (b'\xFF ' )
300
313
uart .write (b'\xFF ' )
301
314
uart .write (b'\x00 ' )
315
+ elif pages == 0xFFFE :
316
+ # Bank1 erase
317
+ uart .write (b'\xFF ' )
318
+ uart .write (b'\xFE ' )
319
+ uart .write (b'\x01 ' )
320
+ elif pages == 0xFFFD :
321
+ # Bank2 erase
322
+ uart .write (b'\xFF ' )
323
+ uart .write (b'\xFD ' )
324
+ uart .write (b'\x02 ' )
302
325
else :
303
326
print ("Not yet implemented erase" )
304
327
305
328
if _STM32_waitForAnswer () != STM32_ACK :
306
329
print ("ERASE OPERATION ABORTED" )
307
330
308
331
309
- def STM32_eraseMEM (pages : int , page_list : list = None ):
332
+ def STM32_eraseMEM (pages : int , page_list : bytearray = None ):
310
333
"""
311
334
Erases flash mem pages according to AN3155
312
335
:param pages: number of pages to be erased
0 commit comments