@@ -15,6 +15,8 @@ This ST MCU family is dual-core : based on an Arm Cortex-M4 core and an Arm Cort
1515
1616[ st.com NUCLEO page] ( https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html )
1717
18+ [ mbed.com NUCLEO page] ( https://os.mbed.com/platforms/ST-Nucleo-WB55RG/ )
19+
1820- Total FLASH is 1MB, but note that it is shared by M4 and M0 cores.
1921 - mbed-os application size is then limited to 768 KB
2022
@@ -39,6 +41,11 @@ Note that the BLE controller firmware running on the cortex-M0 is the same as in
3941- within mbed, the controller will run only the below-HCI part
4042- within STcubeFW (and STM32WPAN middleware), it can run also up to GATT / GAP layers ...
4143
44+ Official ST Application Note AN5289: Building wireless applications with STM32WB Series microcontrollers :
45+ https://www.st.com/resource/en/application_note/dm00598033-building-wireless-applications-with-stm32wb-series-microcontrollers-stmicroelectronics.pdf
46+
47+
48+
4249## mbed-trace support
4350
4451trace group: BLE_WB
@@ -56,24 +63,24 @@ example:
5663
5764## BLE FW update
5865
59- Latest information :
60- https ://github. com/STMicroelectronics/STM32CubeWB/blob/master/how_to_program_wireless_stacks.txt
66+ Official ST Application Note AN5185: ST firmware upgrade services for STM32WB Series :
67+ http ://www.st. com/st-web-ui/static/active/en/resource/technical/document/application_note/DM00513965.pdf
6168
6269Latest BLE FW :
63- https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/STM32WB_Copro_Wireless_Binaries/stm32wb5x_BLE_Stack_fw .bin
70+ https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/stm32wb5x_BLE_Stack_full_fw .bin
6471
6572## BLE FW flashing procedure
6673
6774Release Note and complete flashing procedure:
68- https://htmlpreview.github.io/?https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/STM32WB_Copro_Wireless_Binaries/Release_Notes.html
75+ https://htmlpreview.github.io/?https://github.com/STMicroelectronics/STM32CubeWB/blob/master/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/ Release_Notes.html
6976
7077
7178- STEP 1: Use STM32CubeProgrammer
7279
7380https://www.st.com/en/development-tools/stm32cubeprog.html
7481
7582````
76- FLASHPATH="C:\Program Files (x86) \STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"
83+ FLASHPATH="C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"
7784export PATH=$FLASHPATH:$PATH
7885````
7986
@@ -88,29 +95,8 @@ export PATH=$FLASHPATH:$PATH
8895- STEP 3 : Delete current wireless stack :
8996
9097```
91- $ ./STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
92- -------------------------------------------------------------------
93- STM32CubeProgrammer v2.3.0
94- -------------------------------------------------------------------
95-
96-
97-
98- USB speed : Full Speed (12MBit/s)
99- Manuf. ID : STMicroelectronics
100- Product ID : DFU in FS Mode
101- SN : 207F38933036
102- FW version : 0x011a
103- Device ID : 0x0495
104- Device name : STM32WBxx
105- Flash size : 1 MBytes
106- Device type : MCU
107- Device CPU : Cortex-M0+/M4
108-
109-
110- FUS state is FUS_ERROR
111-
112- FUS status is FUS_NOT_RUNNING
113-
98+ $ STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
99+ ...
114100FUS state is FUS_IDLE
115101
116102FUS status is FUS_NO_ERROR
@@ -122,24 +108,8 @@ fwdelete command execution finished
122108- STEP 4 : Read and upgrade FUS Version
123109
124110```
125- $ ./STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
126- -------------------------------------------------------------------
127- STM32CubeProgrammer v2.3.0
128- -------------------------------------------------------------------
129-
130-
131-
132- USB speed : Full Speed (12MBit/s)
133- Manuf. ID : STMicroelectronics
134- Product ID : DFU in FS Mode
135- SN : 207F38933036
136- FW version : 0x011a
137- Device ID : 0x0495
138- Device name : STM32WBxx
139- Flash size : 1 MBytes
140- Device type : MCU
141- Device CPU : Cortex-M0+/M4
142-
111+ $ STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
112+ ...
143113
144114Reading 32-bit memory content
145115 Size : 4 Bytes
@@ -148,169 +118,42 @@ Reading 32-bit memory content
1481180x20030030 : 00050300
149119```
150120
151- - STEP 5 : Download new FUS :
121+ - STEP 5A if last result is 00050300 : Download new FUS :
152122
153123```
154- $ ./STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0
155- -------------------------------------------------------------------
156- STM32CubeProgrammer v2.3.0
157- -------------------------------------------------------------------
158-
159-
160-
161- USB speed : Full Speed (12MBit/s)
162- Manuf. ID : STMicroelectronics
163- Product ID : DFU in FS Mode
164- SN : 207F38933036
165- FW version : 0x011a
166- Device ID : 0x0495
167- Device name : STM32WBxx
168- Flash size : 1 MBytes
169- Device type : MCU
170- Device CPU : Cortex-M0+/M4
171-
172-
173- FUS state is FUS_IDLE
174-
175- FUS status is FUS_NO_ERROR
176-
177- Old Firmware delete ...
178-
179- Deleting firmware ...
180- Firmware delete finished
181-
182- FUS state is FUS_SERVICE_ONGOING
183-
184- FUS status is FUS_IMAGE_NOT_FOUND
185-
186- FUS state is FUS_IDLE
187-
188- FUS status is FUS_NO_ERROR
189- Download firmware image at address 0x80ec000 ...
190-
191- Memory Programming ...
192- Opening and parsing file: stm32wb5x_FUS_fw.bin
193- File : stm32wb5x_FUS_fw.bin
194- Size : 24492 Bytes
195- Address : 0x080EC000
196-
197-
198- Erasing memory corresponding to segment 0:
199- Erasing internal memory sectors [236 241]
200- erasing sector 0236 @: 0x080ec000 done
201- erasing sector 0237 @: 0x080ed000 done
202- erasing sector 0238 @: 0x080ee000 done
203- erasing sector 0239 @: 0x080ef000 done
204- erasing sector 0240 @: 0x080f0000 done
205- erasing sector 0241 @: 0x080f1000 done
206- Download in Progress:
207-
208- File download complete
209- Time elapsed during download operation: 00:00:00.512
210-
211- FUS state is FUS_IDLE
212-
213- FUS status is FUS_NO_ERROR
214-
215- Firmware Upgrade process started ...
216-
217- Updating firmware ...
218- Waiting for firmware upgrade end
219-
220- FUS state is FUS_UPGRADE_ONGOING
221-
222- FUS status is FUS_NO_ERROR
223-
224- FUS state is FUS_UPGRADE_ONGOING
225-
226- FUS status is FUS_IMAGE_NOT_AUTHENTIC
227- Error: Firmware not authentic!
124+ $ ./STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw_1_0_2.bin 0x080EC000 firstinstall=0
228125```
229126
230- - STEP 4 (to check) : Read and upgrade FUS Version
127+ - STEP 5B if last result is 01000100 or 01000200 : Download new FUS :
231128
232129```
233- $ ./STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
234- -------------------------------------------------------------------
235- STM32CubeProgrammer v2.3.0
236- -------------------------------------------------------------------
237-
130+ $ STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0
131+ ```
238132
239133
240- USB speed : Full Speed (12MBit/s)
241- Manuf. ID : STMicroelectronics
242- Product ID : DFU in FS Mode
243- SN : 207F38933036
244- FW version : 0x011a
245- Device ID : 0x0495
246- Device name : STM32WBxx
247- Flash size : 1 MBytes
248- Device type : MCU
249- Device CPU : Cortex-M0+/M4
134+ - STEP 4 (to check) : Read and upgrade FUS Version
250135
136+ ```
137+ $ STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
251138
252139Reading 32-bit memory content
253140 Size : 4 Bytes
254141 Address: : 0x20030030
255142
256- 0x20030030 : 01000200
143+ 0x20030030 : 01010000
257144```
258145
259146- STEP 6 : Download new wireless stack :
260147
261148
262149```
263- $ ./STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_BLE_Stack_fw.bin 0x080CB000 firstinstall=1
264- -------------------------------------------------------------------
265- STM32CubeProgrammer v2.3.0
266- -------------------------------------------------------------------
267-
268-
269-
270- USB speed : Full Speed (12MBit/s)
271- Manuf. ID : STMicroelectronics
272- Product ID : DFU in FS Mode
273- SN : 207F38933036
274- FW version : 0x011a
275- Device ID : 0x0495
276- Device name : STM32WBxx
277- Flash size : 1 MBytes
278- Device type : MCU
279- Device CPU : Cortex-M0+/M4
150+ $ STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade stm32wb5x_BLE_Stack_full_fw.bin 0x080CB000 firstinstall=1
280151
152+ ...
281153Download firmware image at address 0x80cb000 ...
282-
283-
284- Memory Programming ...
285- Opening and parsing file: stm32wb5x_BLE_Stack_fw.bin
286- File : stm32wb5x_BLE_Stack_fw.bin
287- Size : 165772 Bytes
288- Address : 0x080CB000
289-
290-
291- Erasing memory corresponding to segment 0:
292- Erasing internal memory sectors [203 243]
293- Download in Progress:
294-
154+ ...
295155File download complete
296- Time elapsed during download operation: 00:00:03.537
297-
298- FUS state is FUS_IDLE
299-
300- FUS status is FUS_NO_ERROR
301-
302- Firmware Upgrade process started ...
303-
304- Updating firmware ...
305- Waiting for firmware upgrade end
306-
307- FUS state is WIRELESS_STACK_UPGRADE_ONGOING
308-
309- FUS status is FUS_NO_ERROR
310-
311- FUS state is FUS_ERROR
312-
313- FUS status is FUS_NOT_RUNNING
156+ ...
314157Firmware Upgrade Success
315158```
316159
0 commit comments