按照官网提供的下面步骤 升级P-NUCLEO-WB55.USBDongle单板的FUS和无线协议栈后,单板在sw2 to boot0下,stm32cubeprogrammer选择usb模式无法再识别到DFU设备,感觉是FUS升级坏了。& r( G) ^8 p; C5 ?6 _4 K4 q! [2 \
有个疑问:按照介绍,stm32wb5x_FUS_fw.bin 是烧录在 0x080EC000位置,而stm32wb5x_BLE_Stack_fw.bin是烧录在0x080cb000位置,这两个位置之间相差0x21000,可是stm32wb5x_BLE_Stack_fw.bin文件的大小有160KB左右,这样烧录stm32wb5x_BLE_Stack_fw.bin时 不就会把FUS空间覆盖了吗?
% [, S. m4 f+ H: Q, |# J
& e& {0 D4 A4 E+ m' x O$ Y
1 @( }0 i: W% P% [0 K. mSTEP 1: Use STM32CubeProgrammer STEP 2: Access to Bootloader USB Interface (system flash) - Boot mode selected by Boot0 pin set to VDD
- For P-NUCLEO-WB55.Nucleo :
- Jumper between CN7.5(VDD) and CN7.7(Boot0)
- Power ON via USB_USER and Jumper JP1(USB_MCU)
* g! y c! `5 r2 J
- For P-NUCLEO-WB55.USBDongle :
- Move switch SW2 to Boot0
- Connect P-NUCLEO-WB55.USBDongle
% I4 J& M! B! l' v7 [7 s , H# u) Q) R# j$ Z2 d3 I2 p8 G, X
# h1 p& e9 W! {$ i) D1 F8 \, M
STEP 3 : Delete current wireless stack : - STM32_Programmer_CLI.exe -c port=usb1 -fwdelete' \) D$ v& B1 N" F/ s
- STEP 4 : Read and upgrade FUS Version
- STM32_Programmer_CLI.exe -c port=usb1 -r32 0x20030030 1
- 0x20030030 : 00050300 : FUSv0.5.3 => Must be updated using STEP 5.
- 0x20030030 : 01000100 or 01000200 : FUSv1.0.x => Up to date, you can download the new wireless stack using STEP6.
' Q* \" W5 a2 J- D
1 d7 V3 \8 k8 I% ^1 L% n( s
STEP 5 : Download new FUS : - STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [FUS_Binary] [Install@] firstinstall=0
; f& w+ D. _+ l- \
Please check Firmware Upgrade Services Binary Table for Install@ parameter depending of the binary. STEP 6 : Download new wireless stack : - STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1# j$ v. m7 i# S! g; |5 ~% P
Please check Wireless Coprocessor Binary Table for Install@ parameter depending of the binary. STEP 7 : Revert STEP 2 procedure to put back device in normal mode. 6 j9 y! W6 p" {
8 Q2 O% {5 y* b! x) U' V# A! `' A( t% n
|