[SOLVED] Wireless stack update not working for STM32WB55

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Wireless stack update not working for STM32WB55

    Hey Everyone!
    After several unsuccessful tries to update the wireless stack of a stm32wb55ceu6 according to this howto: SEGGER Wiki/STM32WB55, I searched help and found this forum page: [ABANDONED] Wireless stack update not working for STM32WB55.
    I am experiencing similar problems like the user "robson".
    Unfortunately the original thread has been abandoned, so I opened a new one.

    Here is my jlink.exe output...

    Connecting to the programmer:
    Display Spoiler
    PS C:\Program Files (x86)\SEGGER\JLink> .\JLink.exe -autoconnect 1 -device "STM32WB55xx - FUS" -if swd -speed 4000
    SEGGER J-Link Commander V6.86e (Compiled Oct 16 2020 17:24:10)
    DLL version V6.86e, compiled Oct 16 2020 17:22:26

    Connecting to J-Link via USB...O.K.
    Firmware: J-Link Ultra V4 compiled Mar 19 2020 11:11:37
    Hardware version: V4.00
    S/N: 504400131
    License(s): RDI, FlashBP, FlashDL, JFlash, GDB
    VTref=3.329V
    Device "STM32WB55XX - FUS" selected.


    Connecting to target via SWD
    Found SW-DP with ID 0x6BA02477
    DPIDR: 0x6BA02477
    Scanning AP map to find all available APs
    AP[2]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x24770011)
    AP[1]: AHB-AP (IDR: 0x84770001)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Core found
    AP[0]: AHB-AP ROM base: 0xE00FF000
    CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
    Found Cortex-M4 r0p1, Little endian.
    FPUnit: 6 code (BP) slots and 2 literal slots
    CoreSight components:
    ROMTbl[0] @ E00FF000
    ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
    ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
    ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
    ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
    ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
    ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
    ROMTbl[0][6]: E0043000, CID: B105900D, PID: 005BB906 CTI
    SetupTarget() start
    WARNING: Secure Firmware detected @ 0x08057000
    Connecting to target AP[0]/Cortex-M4
    CORE ID AP[0]:0x410FC241
    CORE ID AP[0]/Cortex-M4 halted!
    SetupTarget() end
    Cortex-M4 identified.
    J-Link>


    Trying to program the BLE-stack:
    Display Spoiler
    J-Link>loadbin .\Firmware\STM32WB_Copro_Wireless_Binaries_V1.5.0\STM32WB5x\stm32wb5x_BLE_Stack_full_fw.bin, 0x08057000
    Downloading file [.\Firmware\STM32WB_Copro_Wireless_Binaries_V1.5.0\STM32WB5x\stm32wb5x_BLE_Stack_full_fw.bin]...
    HandleBeforeFlashProg() start
    RSS: not active. RSS replied: 0x00000000
    HandleBeforeFlashProg() end
    CPU could not be halted
    HandleAfterFlashProg() start
    RSS: Wireless stack found. WS delete was not successful. Secure sector found at :0x08057000
    HandleAfterFlashProg() end

    ****** Error: Timeout while erasing sectors, RAMCode did not respond in time. (PC = 0x00000000, CPSR = 0x00000000, LR = 0x01000000)!
    Failed to erase sectors.

    Unspecified error -1
    J-Link>


    Could you please point me in the right direction. Thank you very much!
    Kind regards, Norbert
  • Hello Norbert,

    thank you for your inquiry.
    Such an issue is not known to us.

    Do you use custom hardware or an evaluation board? In the latter case which one?

    Could you also please send us a J-Link log file of the failing session? How to enable:
    wiki.segger.com/J-Link_DLL#Enable_J-Link_Log_File

    Best regards,
    Daniel
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hello Daniel,
    thank you very much for your reply!

    Basically we are programming the bare ic. But the connection to the signals is made via a 3M Textool ZIF socket on a custom pcb (schematic is attached, J2 is the µC, X1 is the JTAG/SWD connector).
    Also attached is the log-file. I generated the file using the "-Log <path>" commandline argument with jlink.exe

    Thank you very much for your help!

    Kind regards, Norbert
    Images
    • sch.PNG

      319.42 kB, 1,924×1,697, viewed 359 times
    Files
    • test.log

      (12.48 kB, downloaded 344 times, last: )
  • Hello Norbert,

    thank you for providing additional information on this.

    Update:
    I just gave this a try on one of our evaluation boards (p-nucleo-wb55 USB dongle),
    however on our side a wireless stack upgrade or FUS upgrade works as expected (see attached screenshot) with the latest J-Link Software installed (V6.86f).

    Do you experience the same problem on an evaluation board?
    Does this issue persist when programming the 1MB variant of the STM32WB55 series (STM32WB5xxG) instead?

    Best regards,
    Daniel Löbl
    Images
    • ws_upgrade.PNG

      50.57 kB, 640×1,046, viewed 442 times
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Hello Daniel!
    Unfortunately we do not have any evaluation board or different variant of the STM32WB55 available.

    I just tried a FUS download on a brand new chip. It behaved like in the listing below:

    Display Spoiler
    PS C:\Program Files (x86)\SEGGER\JLink> .\JLink.exe -device "STM32WB55xx - FUS" -if swd -speed 4000 -Log D:\Kunden\Aquis\IFP\test.log
    SEGGER J-Link Commander V6.86e (Compiled Oct 16 2020 17:24:10)
    DLL version V6.86e, compiled Oct 16 2020 17:22:26

    Connecting to J-Link via USB...O.K.
    Firmware: J-Link V11 compiled Oct 5 2020 14:56:48
    Hardware version: V11.00
    S/N: 821000310
    License(s): GDB
    VTref=3.303V


    Type "connect" to establish a target connection, '?' for help
    J-Link>connect
    Device "STM32WB55XX - FUS" selected.


    Connecting to target via SWD
    Found SW-DP with ID 0x6BA02477
    DPIDR: 0x6BA02477
    Scanning AP map to find all available APs
    AP[2]: Stopped AP scan as end of AP map has been reached
    AP[0]: AHB-AP (IDR: 0x24770011)
    AP[1]: AHB-AP (IDR: 0x84770001)
    Iterating through AP map to find AHB-AP to use
    AP[0]: Core found
    AP[0]: AHB-AP ROM base: 0xE00FF000
    CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
    Found Cortex-M4 r0p1, Little endian.
    FPUnit: 6 code (BP) slots and 2 literal slots
    CoreSight components:
    ROMTbl[0] @ E00FF000
    ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
    ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
    ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
    ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
    ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
    ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
    ROMTbl[0][6]: E0043000, CID: B105900D, PID: 005BB906 CTI
    SetupTarget() start
    WARNING: Secure Firmware detected @ 0x080F6000
    Connecting to target AP[0]/Cortex-M4
    CORE ID AP[0]:0x410FC241
    CORE ID AP[0]/Cortex-M4 halted!
    SetupTarget() end
    Cortex-M4 identified.
    J-Link>r
    Reset delay: 0 ms
    Reset type NORMAL: Resets core & peripherals via SYSRESETREQ & VECTRESET bit.
    BeforeResetTarget() start
    BeforeResetTarget() end
    ResetTarget() start
    Performing reset over JTAG/SWD to Cortex-M4
    J-Link: Target is halted.
    ResetTarget() end
    AfterResetTarget() start
    AfterResetTarget() end
    J-Link>loadbin D:\Kunden\Aquis\IFP\Firmware\STM32WB_Copro_Wireless_Binaries_V1.5.0\STM32WB5x\stm32wb5x_FUS_fw.bin, 0x0807A000
    Downloading file [D:\Kunden\Aquis\IFP\Firmware\STM32WB_Copro_Wireless_Binaries_V1.5.0\STM32WB5x\stm32wb5x_FUS_fw.bin]...
    HandleBeforeFlashProg() start
    RSS: State idle.
    RSS: Wireless stack erase request started. This process might take a few seconds.
    RSS: Service on-going.
    RSS: State idle.
    RSS: Wireless stack successfully deleted.
    HandleBeforeFlashProg() end
    J-Link: Flash download: Bank 0 @ 0x08000000: 1 range affected (24576 bytes)
    J-Link: Flash download: Total: 0.589s (Prepare: 0.081s, Compare: 0.085s, Erase: 0.139s, Program & Verify: 0.277s, Restore: 0.004s)
    J-Link: Flash download: Program & Verify speed: 86 KB/s
    HandleAfterFlashProg() start
    RSS: searching for a valid image signature in the last 5 unsecured sectors
    First:0x080F1000
    Last: 0x080F6000
    RSS: No valid image or signature found
    HandleAfterFlashProg() end
    O.K.
    J-Link>


    The difference to your listing is, that at the end of the download RSS finds no valid image or signature.

    Thank you very much for your help!

    Kind regards, Norbert
  • Hello Norbert,

    This is more a question for ST than for SEGGER as it requires knowledge about how the stack works, how it check validity, signatures etc.
    Programming the flash works, so J-Link is working.

    We will consider this thread as closed.


    BR
    Alex
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.