From 9246099935642d28d2d4b1024bc7becb6a8a8b23 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 1 Jun 2022 20:55:38 +1000 Subject: [PATCH] stm32/mboot: Add update_app_elements to return mboot fsload elements. In case the elements should not be passed directly to machine.bootloader. Signed-off-by: Damien George --- ports/stm32/mboot/fwupdate.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ports/stm32/mboot/fwupdate.py b/ports/stm32/mboot/fwupdate.py index 3e25351370..ba36b7965b 100644 --- a/ports/stm32/mboot/fwupdate.py +++ b/ports/stm32/mboot/fwupdate.py @@ -225,7 +225,7 @@ def _create_element(kind, body): return bytes([kind, len(body)]) + body -def update_mpy( +def update_app_elements( filename, fs_base, fs_len, fs_type=VFS_FAT, fs_blocksize=0, status_addr=None, addr_64bit=False ): # Check firmware is of .dfu or .dfu.gz type @@ -237,7 +237,7 @@ def update_mpy( hdr = f.read(6) if hdr != b"DfuSe\x01": print("Firmware must be a .dfu(.gz) file.") - return + return () if fs_type in (VFS_LFS1, VFS_LFS2) and not fs_blocksize: raise Exception("littlefs requires fs_blocksize parameter") @@ -256,4 +256,10 @@ def update_mpy( machine.mem32[status_addr] = 1 elems += _create_element(_ELEM_TYPE_STATUS, struct.pack("