Commit 07a4c12
committed
STM32WB55 Support and Reliable Cross-Family DFU Implementation
## Description
Major update to STM32 support introducing STM32WB55 support and a complete overhaul of software DFU entry across supported STM32 families.
## Added
- STM32WB55 support (tested on WeAct STM32WB55CGU6)
- Support via P-NUCLEO-WB55 and NUCLEO WB55 USB Dongle board definitions
- Nucleo-64 board definition support (F1/F4/G4 variants should work)
- `dfu_boot_stm32wb.c` for reliable WB55 DFU entry
- Additional hardware validation: WeAct STM32G474 and STM32F405
## Changed
- DFU implementation rewritten for reliability:
- F1/F4/G4 use direct ROM bootloader jump
- WB55 uses magic value in `BKP0R` + `NVIC_SystemReset()` with early Reset_Handler interception
- `boards.txt` now requires extra lines to enable 1200bps touch
- Updated `boards_txt_additions.txt` with new format and Nucleo_64 entry
- Added suggested change to readme to reflect status of this port
## Known Limitations
- Generic WB55 board definitions lack proper USB clock configuration and are not supported. Use P-NUCLEO-WB55 or NUCLEO WB55 USB Dongle board definitions.
- STM32F1 DFU entry requires further validation on boards with factory bootloader.
This release significantly improves stability and expands supported hardware.1 parent d4ca7dc commit 07a4c12
5 files changed
Lines changed: 340 additions & 70 deletions
File tree
- src/arduino/ports/stm32
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | | - | |
53 | 52 | | |
54 | | - | |
55 | | - | |
| 53 | + | |
56 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
57 | 60 | | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
| 61 | + | |
64 | 62 | | |
65 | 63 | | |
66 | 64 | | |
| |||
0 commit comments