2019-10-30 02:21 AM
Hi, All,
I want to use CubeMon-RF to monitor the USB dongle of the P-NUCLEO-WB55.
According to the Manual : STM32CubeMonitor-RF software tool for wireless performance measurements,
The USB dongle must be monitored using the VCP DEVICE link, and it need to update Firmware to use the example : ble_transparent_mode_vcp.
To update the USB dongle's firmware, I must use STM32CubeProg tool.
According to the manual : STM32CubeProgrammer software description,
USB dongle must use DFU mode for Firmware update, and I install DFU driver follow the Chapter 1.2.4.
And set the DFU mode according to this web page https://visualgdb.com/tools/STM32WBUpdater/connecting/.
However, when the device is plugged into the PC, the Window Device Manager does not detect any device, and the USB dongle is the same as STM32WB Nucleo.
And Win7 is the same as Win10.
May I ask how to solve this?
Thanks.
2019-10-31 06:08 PM
Dear Remi,
I tried to set DFU mode again on Nucleo Board and USB dongle , it still nothing to detected on CubeProgrammer tool or Windows Device Manager.
2019-11-03 09:26 PM
if the DFU Mode problem can't solved, May I use on board st-link of NUcleo board to update Nucleo Board & USB Dongle both firmware? Have any document to descrip it?
Thanks a lot.
2019-11-03 11:18 PM
Dear Remi,
I set DFU Mode and tried to plugged in Linux platform(Raspberry Pi). it still not detected by "lsusb" command.
Is possible Hardware issue on P-NUCLEO-WB55 ?
2019-11-04 02:02 AM
It would be strange you get the same issue on both the nucloeo board and the dongle!!!
I dont know what to propose except using the JTAG/SWD port for the Nucleo board but this is of no use for the dongle.
2019-11-05 12:39 AM
Dear Remi,
I connect JP5 DEBUG pins of Nucleo Board to CN1 DEBUG pins of USB Dongle, then use STM32cubePorg tools to Update Firmware.
When I use the example firmware: ble_transparent_mode_vcp, and connect USB Dongle on STM32CubeMoniter-RF.
It show a waring message : "Device Under the test no responing COM port closed"
When I update back to demo example: BLE_p2pClient.
Then STM32cubePorg show a error message :"NO STM32 target found"
May I ask how to fix those problem?
Thanks.
2019-11-06 03:40 AM
I've met this problem yesterday. For me the reason was the nSWBOOT0 option byte set to 0, so the hardware BOOT0 switch does no change. The only way to fix this is to use SWD to program nSWBOOT0 to 1
2019-11-06 05:42 AM
Indeed but when the USB DFU mode is used this nSWboot option byte is set to 1 with the command. Moreover the start of the issue was the USB device not detected.
Anyow it is worth the trial.
If you are able to connect with the JTAG/SWD port then you can either set nSWBOOT0 to 1 as the switch setting the PH3/BOOT0 pin is properly positionned.
launching the command STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=1
or you can launch the command STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 regardless of the PH3 BOOT0 pin.
or directly launch the complete command
STM32_Programmer_CLI.exe -c port=swd mode=UR -ob nSWboot0=0 nboot1=1 nboot0=1 -fwupgrade %FW% %ADDRESS%
2019-11-06 05:50 AM
@Remi QUINTIN, I've connected dongle via SWD and fixed nSWBOOT, so now the dongle is able to connect via USB, but Windows can't recognise it properly (it says device descriptor request failed) while I'm able to connect NUCLEO-WB55 board both via STLINK and DFU
2019-11-06 06:48 AM
Some good/bad news. I've managed to make Windows recognize dongle as DFU by programming RDP=0xbb. Resetting it to 0xAA makes it unrecognizable again.
OK, now I'm able to connect directly via USB. But Programmer warns that "Device is under read out protection" and suggests to use -rdu, though it doesn't work.
-fwdelete works neither (Error: Could not start service since FUS is not in IDLE state)
So I'm trying to make
-fwupgrade stm32wb5x_FUS_fw.bin 0x080EC000 firstinstall=0 (the address is from Copro Wireless Binaries Release Notes)
and get Error: Could not execute fwupgrade command, Wrong address
I've tried
0x080FA000 (as suggested in oway1's comment, value is corrected to meet the 1Mb flash size), it doesn't work
2019-11-06 06:57 AM
I've made this
-ob pcrop_rdp=1
-ob rdp=0xbb
-ob rdp=0xaa
And now I'm not able to read or write flash
I'm a bit worried it's because of SFSA is now pointing zero
Read Out Protection:
RDP : 0xAA (Level 0, no protection)
BOR Level:
BOR_LEV : 0x0 (BOR Level 0 reset level threshold is around 1.7 V)
User Configuration:
nBOOT0 : 0x1 (nBOOT0=1)
nBOOT1 : 0x1 (Boot from code area if BOOT0=0 otherwise system Flash)
nSWBOOT0 : 0x1 (BOOT0 taken from PH3/BOOT0 pin)
SRAM2RST : 0x1 (SRAM2 is not erased when a system reset occurs)
SRAM2PE : 0x1 (SRAM2 parity check disable)
nRST_STOP : 0x1 (No reset generated when entering the Stop mode)
nRST_STDBY : 0x1 (No reset generated when entering the Standby mode)
nRSTSHDW : 0x1 (No reset generated when entering the Shutdown mode)
WWDGSW : 0x1 (Software window watchdog)
IWGDSTDBY : 0x1 (Independent watchdog counter running in Standby mode)
IWDGSTOP : 0x1 (Independent watchdog counter running in Stop mode)
IWDGSW : 0x1 (Software independent watchdog)
IPCCDBA : 0x3FFF (0x3FFF)
Security Configuration Option bytes:
ESE : 0x1 (Security enabled)
SFSA : 0x0 (0x0)
FSD : 0x0 (System and Flash secure)
DDS : 0x1 (CPU2 debug access disabled)
C2OPT : 0x1 (SBRV will address Flash)
NBRSD : 0x0 (SRAM2b is secure)
SNBRSA : 0x0 (0x0)
BRSD : 0x0 (SRAM2a is secure)
SBRSA : 0x0 (0x0)
SBRV : 0x3FC00 (0x3FC00)
PCROP Protection:
PCROP1A_STRT : 0x1FF (0x8000FF8)
PCROP1A_END : 0x0 (0x8000008)
PCROP_RDP : 0x0 (PCROP zone is kept when RDP is decreased)
PCROP1B_STRT : 0x1FF (0x8000FF8)
PCROP1B_END : 0x0 (0x8000008)
Write Protection:
WRP1A_STRT : 0xFF (0x807F800)
WRP1A_END : 0x0 (0x8000000)
WRP1B_STRT : 0xFF (0x807F800)
WRP1B_END : 0x0 (0x8000000)
Is thete any way to fix it?