@@ -15,6 +15,8 @@ This ST MCU family is dual-core : based on an Arm Cortex-M4 core and an Arm Cort
15
15
16
16
[ st.com NUCLEO page] ( https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html )
17
17
18
+ [ mbed.com NUCLEO page] ( https://os.mbed.com/platforms/ST-Nucleo-WB55RG/ )
19
+
18
20
- Total FLASH is 1MB, but note that it is shared by M4 and M0 cores.
19
21
- mbed-os application size is then limited to 768 KB
20
22
@@ -39,6 +41,11 @@ Note that the BLE controller firmware running on the cortex-M0 is the same as in
39
41
- within mbed, the controller will run only the below-HCI part
40
42
- within STcubeFW (and STM32WPAN middleware), it can run also up to GATT / GAP layers ...
41
43
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
+
42
49
## mbed-trace support
43
50
44
51
trace group: BLE_WB
@@ -56,24 +63,24 @@ example:
56
63
57
64
## BLE FW update
58
65
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
61
68
62
69
Latest 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
64
71
65
72
## BLE FW flashing procedure
66
73
67
74
Release 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
69
76
70
77
71
78
- STEP 1: Use STM32CubeProgrammer
72
79
73
80
https://www.st.com/en/development-tools/stm32cubeprog.html
74
81
75
82
````
76
- FLASHPATH="C:\Program Files (x86) \STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"
83
+ FLASHPATH="C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin"
77
84
export PATH=$FLASHPATH:$PATH
78
85
````
79
86
@@ -88,29 +95,8 @@ export PATH=$FLASHPATH:$PATH
88
95
- STEP 3 : Delete current wireless stack :
89
96
90
97
```
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
+ ...
114
100
FUS state is FUS_IDLE
115
101
116
102
FUS status is FUS_NO_ERROR
@@ -122,24 +108,8 @@ fwdelete command execution finished
122
108
- STEP 4 : Read and upgrade FUS Version
123
109
124
110
```
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
+ ...
143
113
144
114
Reading 32-bit memory content
145
115
Size : 4 Bytes
@@ -148,169 +118,42 @@ Reading 32-bit memory content
148
118
0x20030030 : 00050300
149
119
```
150
120
151
- - STEP 5 : Download new FUS :
121
+ - STEP 5A if last result is 00050300 : Download new FUS :
152
122
153
123
```
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
228
125
```
229
126
230
- - STEP 4 (to check) : Read and upgrade FUS Version
127
+ - STEP 5B if last result is 01000100 or 01000200 : Download new FUS :
231
128
232
129
```
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
+ ```
238
132
239
133
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
250
135
136
+ ```
137
+ $ STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
251
138
252
139
Reading 32-bit memory content
253
140
Size : 4 Bytes
254
141
Address: : 0x20030030
255
142
256
- 0x20030030 : 01000200
143
+ 0x20030030 : 01010000
257
144
```
258
145
259
146
- STEP 6 : Download new wireless stack :
260
147
261
148
262
149
```
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
280
151
152
+ ...
281
153
Download 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
+ ...
295
155
File 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
+ ...
314
157
Firmware Upgrade Success
315
158
```
316
159
0 commit comments