micropython/ports/stm32/boards
Andrew Leech 6804b6f54f stm32/boards/NUCLEO_WB55: Add error handling to firmware update scripts.
In-the-field use of these FUS/WS firmware update scripts has exposed some
weak points, causing corrupted FUS/WS firmware to be flashed to the unit.

The problems are mostly caused with the ST GUI application, but sometimes
from un-recognised failures during bin file transfer to the WB55 prior to
running the rfcore_firmware.py script.  Other failures were caused by
incorrect load addresses being used, again both from user error copying the
address from the HTML release notes to the GUI tool, but also from
similarly not updating the address correctly in rfcore_firmware.py

To guard against these errors and make it easier to prepare different
versions, this commit adds a few features to the rfcore firmware update
tools:
- When creating the bin file, automatically parse the release note in the
  folder to get the correct address.
- Add a footer to the bin file containing the name, version, CRC, address
  etc.
- Before flashing rfcore, check if the same version is already installed.
- Verify the CRC and obfuscation key before flashing bin.
- Log the name and version of file being flashed.
2022-08-08 23:42:20 +10:00
..
ADAFRUIT_F405_EXPRESS ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
ARDUINO_PORTENTA_H7 stm32/modmachine: Allow boards to provide custom bootloader code. 2022-06-17 13:36:55 +10:00
B_L072Z_LRWAN1 stm32/boards: Enable LTO by default on boards with smaller flash size. 2022-06-28 10:32:39 +10:00
B_L475E_IOT01A ports: Add board.json for all boards. 2021-10-27 14:04:53 +11:00
CERB40 ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
ESPRUINO_PICO ports: Add board.json for all boards. 2021-10-27 14:04:53 +11:00
GARATRONIC_NADHAT_F405 ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
GARATRONIC_PYBSTICK26_F411 ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
HYDRABUS ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
LEGO_HUB_NO6 stm32/boards/LEGO_HUB_NO6/cc2564: Make timer configurable. 2022-08-06 00:01:28 +10:00
LEGO_HUB_NO7 stm32/boards/LEGO_HUB_NO7: Add LEGO Hub No. 7 board definition. 2022-08-06 00:01:31 +10:00
LIMIFROG ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
MIKROE_CLICKER2_STM32 ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
MIKROE_QUAIL ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
NETDUINO_PLUS_2 ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
NUCLEO_F091RC stm32/boards: Enable LTO by default on boards with smaller flash size. 2022-06-28 10:32:39 +10:00
NUCLEO_F401RE ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F411RE ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F412ZG ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F413ZH ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F429ZI ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F439ZI ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F446RE ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F722ZE ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F746ZG ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_F767ZI ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_G0B1RE stm32/boards: Enable LTO by default on boards with smaller flash size. 2022-06-28 10:32:39 +10:00
NUCLEO_G474RE ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
NUCLEO_H743ZI stm32/system_stm32: Allow boards to configure PLL VCI, VCO and FRACN. 2022-04-11 16:12:53 +10:00
NUCLEO_H743ZI2 ports: Add board.json for all boards. 2021-10-27 14:04:53 +11:00
NUCLEO_L073RZ stm32/boards: Enable LTO by default on boards with smaller flash size. 2022-06-28 10:32:39 +10:00
NUCLEO_L432KC stm32/boards: Enable LTO by default on boards with smaller flash size. 2022-06-28 10:32:39 +10:00
NUCLEO_L452RE ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_L476RG ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
NUCLEO_WB55 stm32/boards/NUCLEO_WB55: Add error handling to firmware update scripts. 2022-08-08 23:42:20 +10:00
NUCLEO_WL55 stm32/boards/NUCLEO_WL55: Add new board definition. 2022-02-04 09:43:43 +11:00
OLIMEX_E407 ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
OLIMEX_H407 ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
PYBD_SF2 stm32/mboot: Pass initial_r0 to early-init and get-reset-mode funcs. 2022-06-02 14:30:51 +10:00
PYBD_SF3 stm32/boards/PYBD_SFx: Allow FROZEN_MANIFEST to be overridden. 2022-04-11 16:19:45 +10:00
PYBD_SF6 stm32/boards/PYBD_SFx: Allow FROZEN_MANIFEST to be overridden. 2022-04-11 16:19:45 +10:00
PYBLITEV10 ports: Add board.json for all boards. 2021-10-27 14:04:53 +11:00
PYBV3 all: Replace busses with buses. 2021-05-20 23:22:03 +10:00
PYBV4 all: Replace busses with buses. 2021-05-20 23:22:03 +10:00
PYBV10 stm32,esp32: In machine_i2s, make object reference arrays root pointers. 2021-11-13 12:22:42 +11:00
PYBV11 stm32,esp32: In machine_i2s, make object reference arrays root pointers. 2021-11-13 12:22:42 +11:00
SPARKFUN_MICROMOD_STM32 ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
STM32F4DISC ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
STM32F7DISC ports: Update board.json files to link to new board images. 2022-01-07 11:33:28 +11:00
STM32F411DISC ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
STM32F429DISC ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
STM32F439 ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
STM32F769DISC ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
STM32H7B3I_DK stm32/system_stm32: Allow boards to configure PLL VCI, VCO and FRACN. 2022-04-11 16:12:53 +10:00
STM32L476DISC ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
STM32L496GDISC stm32/boards: Remove unused MICROPY_HW_ENABLE_TIMER config. 2021-12-10 23:19:00 +11:00
USBDONGLE_WB55 stm32/Makefile: Make stm32lib configurable. 2022-02-04 09:43:43 +11:00
VCC_GND_F407VE ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
VCC_GND_F407ZG ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
VCC_GND_H743VI stm32/system_stm32: Allow boards to configure PLL VCI, VCO and FRACN. 2022-04-11 16:12:53 +10:00
common_basic.ld stm32/boards: Factor out common data/bss/heap/stack linker sections. 2020-10-29 23:31:59 +11:00
common_bl.ld stm32/boards: Factor out common data/bss/heap/stack linker sections. 2020-10-29 23:31:59 +11:00
common_blifs.ld stm32/boards: Factor out common data/bss/heap/stack linker sections. 2020-10-29 23:31:59 +11:00
common_bss_heap_stack.ld stm32: Use a separate symbol name for the bootloader state pointer. 2022-06-28 10:25:08 +10:00
common_extratext_data_in_flash.ld stm32: Support C++ code and user C modules written in C++. 2020-10-29 23:35:36 +11:00
common_extratext_data_in_flash_app.ld stm32: Support C++ code and user C modules written in C++. 2020-10-29 23:35:36 +11:00
common_extratext_data_in_flash_text.ld stm32: Support C++ code and user C modules written in C++. 2020-10-29 23:35:36 +11:00
common_ifs.ld stm32/boards: Factor out common data/bss/heap/stack linker sections. 2020-10-29 23:31:59 +11:00
deploy.md ports: Add board.json for all boards. 2021-10-27 14:04:53 +11:00
make-pins.py stm32: Add support for G4 MCUs, and add NUCLEO_G474RE board defn. 2022-02-01 16:21:01 +11:00
manifest.py stm32: Enable and freeze uasyncio. 2020-03-26 01:25:45 +11:00
openocd_stm32f4.cfg
openocd_stm32f7.cfg
openocd_stm32l4.cfg
pllvalues.py stm32/boards/pllvalues.py: Support wider range of PLL values for F413. 2021-04-20 23:33:33 +10:00
stm32f0xx_hal_conf_base.h stm32/uart: Add uart_set_baudrate function. 2021-02-14 18:30:49 +11:00
stm32f4xx_hal_conf_base.h stm32: Include HAL MMC code in F4 builds. 2021-11-30 10:21:18 +11:00
stm32f4xx_prefix.c ports: Reformat more C and Python source code. 2022-04-20 16:17:35 +10:00
stm32f7xx_hal_conf_base.h stm32/uart: Add uart_set_baudrate function. 2021-02-14 18:30:49 +11:00
stm32f091_af.csv stm32/boards: Add PF11-BOOT0 to stm32f091_af.csv. 2021-09-21 18:11:42 +10:00
stm32f091xc.ld stm32/boards/stm32f091xc.ld: Allocate space for a small filesystem. 2022-06-17 21:27:32 +10:00
stm32f401_af.csv
stm32f401xd.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f401xe.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f405.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f405_af.csv stm32/boards/stm32f405_af.csv: Fix typo in ETH_RMII_REF_CLK on PA1. 2019-11-11 12:02:14 +11:00
stm32f411.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f411_af.csv
stm32f412_af.csv stm32: Add support for F412 MCUs. 2020-05-15 10:08:30 +10:00
stm32f412zx.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f413_af.csv
stm32f413xg.ld stm32/boards: Remove stray '+' characters at start of lines in ld files. 2021-12-10 23:15:25 +11:00
stm32f413xh.ld stm32/boards: Remove stray '+' characters at start of lines in ld files. 2021-12-10 23:15:25 +11:00
stm32f427xi.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f429.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f429_af.csv
stm32f439.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32f439_af.csv
stm32f479_af.csv stm32: Add support for F479 MCUs. 2021-11-30 10:21:18 +11:00
stm32f722.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f722_af.csv
stm32f746.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f746_af.csv stm32/boards/stm32f746_af.csv: Add ADC alt functions to correct pins. 2020-01-30 16:31:11 +11:00
stm32f767.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32f767_af.csv
stm32f769.ld stm32/boards: Convert F4xx and F7xx to new flash FS config. 2022-03-17 13:06:45 +11:00
stm32g0b1_af.csv stm32/boards/NUCLEO_G0B1RE: Add NUCLEO_G0B1RE board definition. 2022-04-28 11:56:15 +10:00
stm32g0b1xe.ld stm32/boards/NUCLEO_G0B1RE: Add NUCLEO_G0B1RE board definition. 2022-04-28 11:56:15 +10:00
stm32g0xx_hal_conf_base.h stm32: Add support for G0 MCUs. 2022-04-28 11:56:15 +10:00
stm32g4xx_hal_conf_base.h stm32: Add support for G4 MCUs, and add NUCLEO_G474RE board defn. 2022-02-01 16:21:01 +11:00
stm32g474.ld stm32: Add support for G4 MCUs, and add NUCLEO_G474RE board defn. 2022-02-01 16:21:01 +11:00
stm32g474_af.csv stm32: Add support for G4 MCUs, and add NUCLEO_G474RE board defn. 2022-02-01 16:21:01 +11:00
stm32h7b3.ld stm32: Add support for H7A3(Q)/H7B3(Q), and STM32H73B3I_DK board defn. 2021-09-16 12:29:28 +10:00
stm32h7b3_af.csv stm32: Add support for H7A3(Q)/H7B3(Q), and STM32H73B3I_DK board defn. 2021-09-16 12:29:28 +10:00
stm32h7xx_hal_conf_base.h stm32/uart: Fix LPUART1 baudrate set/get. 2021-07-26 13:53:50 +10:00
stm32h743.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32h743_af.csv
stm32l0xx_hal_conf_base.h stm32/uart: Fix LPUART1 baudrate set/get. 2021-07-26 13:53:50 +10:00
stm32l4xx_hal_conf_base.h stm32: Update L4 code to build with latest stm32lib and L4 HAL 1.17.0. 2021-12-14 10:48:01 +11:00
stm32l072_af.csv stm32/boards: Split UARTx_RTS_DE into UARTx_RTS/UARTx_DE in pin defs. 2021-04-13 23:58:20 +10:00
stm32l072xz.ld stm32/boards: Add MCU support files for STM32L072. 2019-07-05 17:26:03 +10:00
stm32l432.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32l432_af.csv stm32/boards: Remove trailing spaces, and add newline at end of file. 2021-09-10 16:09:03 +10:00
stm32l452_af.csv stm32/boards: Split UARTx_RTS_DE into UARTx_RTS/UARTx_DE in pin defs. 2021-04-13 23:58:20 +10:00
stm32l452xe.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32l476_af.csv stm32/boards: Split UARTx_RTS_DE into UARTx_RTS/UARTx_DE in pin defs. 2021-04-13 23:58:20 +10:00
stm32l476xe.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32l476xg.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32l496_af.csv
stm32l496xg.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32wb55_af.csv stm32/boards: Split UARTx_RTS_DE into UARTx_RTS/UARTx_DE in pin defs. 2021-04-13 23:58:20 +10:00
stm32wb55xg.ld stm32/boards: Convert F413,F439,H743,L4xx,WB55 to new flash FS config. 2021-11-29 13:20:35 +11:00
stm32wbxx_hal_conf_base.h stm32/uart: Fix LPUART1 baudrate set/get. 2021-07-26 13:53:50 +10:00
stm32wl55_af.csv stm32: Add initial support for STM32WL MCUs. 2022-02-04 09:43:43 +11:00
stm32wl55xc.ld stm32: Add initial support for STM32WL MCUs. 2022-02-04 09:43:43 +11:00
stm32wlxx_hal_conf_base.h stm32: Add initial support for STM32WL MCUs. 2022-02-04 09:43:43 +11:00