cancel
Showing results for 
Search instead for 
Did you mean: 

Issues with firmware flashing in STM32CubeIDE

JHarding
Senior

I have had a lingering issue that rears its ugly head from time to time and is a huge productivity killer. I honestly cannot say what triggers the issue, or how to fix it. It is becoming too big of an issue to continue development with the system like this.

Hardware used:

-STM32F746BG

-Seggar J-Trace (SWD @ 4000kHz) or ST-Link

When using my J-Trace from within STM32CubeIDE I get this output in the console window:

SEGGER J-Link GDB Server V6.62 Command Line Version
 
JLinkARM.dll V6.62 (DLL compiled Jan 24 2020 16:32:09)
 
Command line: -port 2331 -s -device STM32F746BG -endian little -speed 12000 -if swd -vd
-----GDB Server start settings-----
GDBInit file:                  none
GDB Server Listening port:     2331
SWO raw output listening port: 2332
Terminal I/O port:             2333
Accept remote connection:      localhost only
Generate logfile:              off
Verify download:               on
Init regs on start:            off
Silent mode:                   off
Single run mode:               on
Target connection timeout:     0 ms
------J-Link related settings------
J-Link Host interface:         USB
J-Link script:                 none
J-Link settings file:          none
------Target related settings------
Target device:                 STM32F746BG
Target interface:              SWD
Target interface speed:        12000kHz
Target endian:                 little
 
Connecting to J-Link...
J-Link is connected.
Firmware: J-Trace PRO V2 Cortex-M compiled Jan  7 2020 16:54:03
Hardware: V2.00
S/N: 752001379
Feature(s): RDI, FlashBP, FlashDL, JFlash, GDB
Checking target voltage...
Target voltage: 3.27 V
Listening on TCP/IP port 2331
Connecting to target...
Connected to target
Waiting for GDB connection...Connected to 127.0.0.1
Reading all registers
Read 4 bytes @ address 0x08001A42 (Data = 0xE7FEE7FE)
Read 2 bytes @ address 0x08001A42 (Data = 0xE7FE)
WARNING: Failed to read memory @ address 0x00036770
Connected to 127.0.0.1
Reading all registers
WARNING: Failed to read memory @ address 0x00036770
Read 4 bytes @ address 0x08001A42 (Data = 0xE7FEE7FE)
Read 2 bytes @ address 0x08001A42 (Data = 0xE7FE)
Received monitor command: WriteDP 0x2 0x000000F0
O.K.
Received monitor command: ReadAP 0x2
O.K.:0xE00FD003
Reading 32 bytes @ address 0xE00FDFD0
Received monitor command: reset
Resetting target
Downloading 12 bytes @ address 0x00008000 - Verify failed
Downloading 16064 bytes @ address 0x00008010 - Verify failed
Downloading 16000 bytes @ address 0x0000BED0 - Verify failed
Downloading 16000 bytes @ address 0x0000FD50 - Verify failed
Downloading 16144 bytes @ address 0x00013BD0 - Verify failed
Downloading 16176 bytes @ address 0x00017AE0 - Verify failed
Downloading 16208 bytes @ address 0x0001BA10 - Verify failed
Downloading 16240 bytes @ address 0x0001F960 - Verify failed
Downloading 16096 bytes @ address 0x000238D0 - Verify failed
Downloading 16128 bytes @ address 0x000277B0 - Verify failed
Downloading 16048 bytes @ address 0x0002B6B0 - Verify failed
Downloading 16112 bytes @ address 0x0002F560 - Verify failed
Downloading 16096 bytes @ address 0x00033450 - Verify failed
Downloading 15984 bytes @ address 0x00037330 - Verify failed
Downloading 9324 bytes @ address 0x0003B1A0 - Verify failed
Downloading 12 bytes @ address 0x0003D60C - Verify failed
Downloading 16280 bytes @ address 0x0003D618 - Verify failed
Downloading 16288 bytes @ address 0x000415B0 - Verify failed
Downloading 1045 bytes @ address 0x00045550 - Verify failed
Downloading 15146 bytes @ address 0x00045968 - Verify failed
Downloading 15884 bytes @ address 0x00049494 - Verify failed
Downloading 15776 bytes @ address 0x0004D2A0 - Verify failed
Downloading 16048 bytes @ address 0x00051040 - Verify failed
Downloading 16320 bytes @ address 0x00054EF0 - Verify failed
Downloading 16352 bytes @ address 0x00058EB0 - Verify failed
Downloading 16352 bytes @ address 0x0005CE90 - Verify failed
Downloading 16320 bytes @ address 0x00060E70 - Verify failed
Downloading 16336 bytes @ address 0x00064E30 - Verify failed
Downloading 16336 bytes @ address 0x00068E00 - Verify failed
Downloading 16144 bytes @ address 0x0006CDD0 - Verify failed
Downloading 15888 bytes @ address 0x00070CE0 - Verify failed
Downloading 15936 bytes @ address 0x00074AF0 - Verify failed
Downloading 16064 bytes @ address 0x00078930 - Verify failed
Downloading 16288 bytes @ address 0x0007C7F0 - Verify failed
Downloading 16368 bytes @ address 0x00080790 - Verify failed
Downloading 16368 bytes @ address 0x00084780 - Verify failed
Downloading 16368 bytes @ address 0x00088770 - Verify failed
Downloading 16368 bytes @ address 0x0008C760 - Verify failed
Downloading 16368 bytes @ address 0x00090750 - Verify failed
Downloading 14532 bytes @ address 0x00094740 - Verify failed
Downloading 9756 bytes @ address 0x00098004 - Verify failed
Downloading 8 bytes @ address 0x0009A620 - Verify failed
Downloading 4 bytes @ address 0x0009A628 - Verify failed
Downloading 24 bytes @ address 0x000AA62C - Verify failed
Downloading 8 bytes @ address 0x000AA644 - Verify failed
Downloading 3016 bytes @ address 0x000AA650 - Verify failed
Writing register (PC = 0x    80a4)
WARNING: Failed to read memory @ address 0x00036770
WARNING: Failed to read memory @ address 0x000080A4
Read 4 bytes @ address 0xE000ED14 (Data = 0x00040200)
Downloading 4 bytes @ address 0xE000ED14 - Verified OK
Reading all registers
WARNING: Failed to read memory @ address 0x000080A4
Read 4 bytes @ address 0xE000EDFC (Data = 0x01000000)
Downloading 4 bytes @ address 0xE000EDFC - Verified OK
Reading all registers
WARNING: Failed to read memory @ address 0x000080A4
Reading 64 bytes @ address 0x0000C180
WARNING: Failed to read memory @ address 0x0000C180
WARNING: Failed to read memory @ address 0x0000C182
Reading 64 bytes @ address 0x0000C180
WARNING: Failed to read memory @ address 0x0000C180
WARNING: Failed to read memory @ address 0x0000C182
WARNING: Failed to read memory @ address 0x0000C17C
Setting breakpoint @ address 0x0000C17C, Size = 2, BPHandle = 0x0001
Starting target CPU...
...Target halted (Vector catch, PC = 0x08001A42)
Reading all registers
Removing breakpoint @ address 0x0000C17C, Size = 2
Read 4 bytes @ address 0x08001A42 (Data = 0xE7FEE7FE)
Read 2 bytes @ address 0x08001A42 (Data = 0xE7FE)
Read 4 bytes @ address 0x2004FFFC (Data = 0x01000000)
Reading 64 bytes @ address 0x2004FFC0
WARNING: Failed to read memory @ address 0x000080A4
GDB closed TCP/IP connection
GDB closed TCP/IP connection
Restoring target state and closing J-Link connection...

At the same rate, if I use an st-link programmer device I get this output to the console:

STMicroelectronics ST-LINK GDB server. Version 5.5.0
Copyright (c) 2019, STMicroelectronics. All rights reserved.
 
Starting server with the following options:
        Persistent Mode            : Disabled
        Logging Level              : 1
        Listen Port Number         : 61234
        Status Refresh Delay       : 15s
        Verbose Mode               : Disabled
        SWD Debug                  : Enabled
        InitWhile                  : Enabled
 
Waiting for debugger connection...
Debugger connected
Debugger connection lost.
Shutting down...
 

and this popup dialog:

0693W000000U2QQQA0.png

If you look at the J-Trace log, clearly the verification of the downloaded bytes is failing, why is STM32CubeIDE telling the J-Trace to write to address 0x00008000? It looks like this address has been shifted right 3. The normal programming address is 0x08000000. Super strange and I have no idea how to fix this problem. In total this has probably caused me 2 weeks of development work dealing with it on and off, losing work as I am forced to revert to older code bases to get away from the issue (sometimes even this doesn't help);

2 REPLIES 2
JHarding
Senior

Anyone having these issues???

I can manually flash a bin or hex file with my J-Trace without issue using the J-Link Commander application provided by Seggar. This must be an issue with STM32CubeIDE.

Is there a better place to post questions reguarding STM32CubeIDE?

I'm guessing the real question​ would be how many of the participating experts are using CubeIDE at all.

This would be the place to post, but wouldn't expect rapid responses.​

Perhaps chat with your local ST FAE for realtime support.

Are you sure it is not building from AXIM Flash?​

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..