2025-11-05 2:33 AM - last edited on 2025-11-11 2:46 AM by Amel NASRI
Hi,
I am tring to write data by the FDCAN bootloader of system memory, my target is STM32H563.
Now, I can read the device ID, perform the mass erase command, but I can't write data to SRAM/Flash, the FDCAN bootloader doesn't response any CAN message after the Write_Memory command.
Below picture is the CAN message log when I try to write 64 bytes data to flash at 0x0802_0000.
I also check the 'Write_Unprotect' command, so the MCU is not write protect.
Do I miss something have to do?
Thank you.
Solved! Go to Solution.
2025-11-05 5:43 AM
You've told it you're writing 256 bytes but you've only sent 64. It's waiting for the rest.
2025-11-05 5:43 AM
You've told it you're writing 256 bytes but you've only sent 64. It's waiting for the rest.
2025-11-05 4:53 PM
Hi TDK,
Yes, you are right, the FDCAN bootloader is waiting other three 64 bytes data frames.
Thanks for your help
Snaku
2026-03-26 1:57 AM
Hi @Snaku
I'm using the H533, but I'm struggling to get it into the FDCAN loop of the system bootloader.
How did you do that? According to AN2606, our MCU's are using the same FDCAN peripheral/settings.
Thanks.
2026-03-26 2:26 AM - edited 2026-03-26 2:28 AM
Hi Ade,
/**
* @brief Perform Jump to the BootLoader
* @retval None.
*/
void LOADER_Run(void) { ... }Regards,
Snaku
2026-03-26 3:28 AM
Hi @Snaku
I'm not having trouble to enter the system bootloader itself.
It's rather entering the FDCAN loop of the system bootloader. I tried a all kinds of combinations to "activating" it, as described in AN5405. But my messages got never a reply or even being ACK'ed.
While in my user application, I used the same peripheral (pins) and settings as the system bootloader expects and then I can communicate perfectly.
What is your sequence of "activating" the FDCAN loop after it started the system bootloader?
I'm at this stage:
Regards,
Arnold
2026-03-26 4:00 AM
Hi Ade,
There is no special sequence for starting the FDCAN loop.
Please check the following two points, which I have encountered problems with before:
1. Prevent other interfaces from having the opportunity to initiate their loops, such as external pull-up resistors on the unused UART_RX pin.
In AN2606: "It is recommended to keep the RX pins of unused bootloader interfaces (USART_RX, SPI_MOSI, CAN_RX and USB D+/D- lines if present) at a known (low or high) level at the startup of the bootloader (detection phase). Leaving these pins floating during the detection phase might lead to activating unused interfaces."
2. CAN-FD bit timing, Nominal bit rate is 250kbps, Data bit rate is 1Mbps, both require accurate 80% sampling point.
Regards,
Snaku