Skip to main content
Associate
September 3, 2026
Question

STM32F405RGT6 CAN Bootloader – Sector Erase Gets First ACK but No Final ACK

  • September 3, 2026
  • 7 replies
  • 28 views

I am using the STM32F405RGT6 built-in System Memory CAN bootloader for firmware update.

Configuration:

  • MCU: STM32F405RGT6
  • CAN: CAN2 (PB5 RX / PB13 TX)
  • External HSE: 24 MHz
  • CAN bitrate: 125 kbps
  • Host: Jetson Linux / SocketCAN
  • Standard 11-bit CAN ID

I am facing an issue with the CAN Erase command (0x43).

For example, to erase Sector 8:

cansend can0 043#08

The STM32 responds with the first ACK:

043 [1] 79

but I never receive the second/final ACK after the erase operation.

So the sequence is:

 
Jetson  ->  043#08
STM32 -> 79 <-- received
<-- final 79 is NOT received

Important observations:

  • Mass erase using 043#FF works.
  • Individual sector erase using STM32CubeProgrammer + ST-Link/SWD works, including Sector 8.
  • RDP = AA (Level 0).
  • WRP0–WRP11 are unprotected.
  • Sector 8 address is 0x08080000.
  • CAN communication with the ROM bootloader otherwise works.

Therefore, it appears that the 0x43 command is being accepted by the ROM bootloader, but the sector erase operation does not complete / final ACK is not returned.

I would like to know:

  1. Is this a known issue with the STM32F405 CAN ROM bootloader?
  2. Does the first 0x79 mean the erase command has been accepted and the bootloader is now executing the Flash erase?
  3. Could this depend on the ROM bootloader version or silicon revision?
  4. Are there any additional Flash/Option Byte conditions that can cause this behavior even though SWD sector erase works?

I am using the CAN erase format specified by AN3154 (043#08), without any additional checksum frame.

Any suggestions or known workarounds would be greatly appreciated.

Raw trace:

 
TX: 043 [1] 08
RX: 043 [1] 79
RX: <no final ACK>

Thanks.

7 replies

mƎALLEm
ST Technical Moderator
September 3, 2026

Hello ​@Akash_kumarN and welcome to the ST community,

My question: after performing the sector erase, is that sector erased?

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
Associate
September 3, 2026

Hi ​@mƎALLEm , the sector is not getting erased. I’m only receiving the first ACK from the STM device. I also verified the flash using the SWT Programmer, and the data is still present.

mƎALLEm
ST Technical Moderator
September 3, 2026

Hello,

Ok. Could you please share the full CAN frames of that command sniffed with a logic analyzer so I can ask the internal team assistance?

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.