AnsweredAssumed Answered

CAN Bootloader on STM32F407 with multiple devices

Question asked by Grann.Torben on Sep 8, 2016
Latest reply on Sep 20, 2016 by ForumSTM32.ForumSTM3
Hi e2e forum

I am using the built in bootloader on the STM32F407 MCU, using the CAN-bus with multiple devices connected. I realize only one device can be bootloaded at a time, so the devices not being updated are waiting for a message telling them to do so. When only one device is connected it updates fine, but as soon as a second device is connected it exits the bootloader when it receives the first bootloader command. Since the bootloader is located in the system memory, its difficult to debug the problem.

The device flashing is happening from a PC through a CAN-to-USB device. I haven't used a CAN analyser yet since it's not available at the moment, but i have used the CAN-to-USB to check that the waiting device does not send any CAN messages when the other device is bootloading.

The question is, does anyone know if it's possible to have multiple devices silently connected on the CAN-bus while using the bootloader, or does something in the built in bootloader prevent this?

Any input is greatly appreciated, thanks in advance.

Best Regards
-Torben


EDIT: I found the solution, it seems the ACK bit from the other devices mess with the bootloader, so the CAN-bus needs to be either in silent mode or disabled on the devices not being bootloaded.

Outcomes