Skip to main content
Explorer
June 1, 2020
Question

Firmware update via CAN bootloader with multiple nodes in bus

  • June 1, 2020
  • 1 reply
  • 1008 views

Hello,

I'm working with the stm32f439ZG and I have one question regarding the CAN bootloader.

I'm trying to update one node via CAN interface.

I have one network with 3 nodes (the node 1 is responsible for send the new firmware, the node 2 will receive this new firmware and the node 3 is idle). My "normal" CAN bitrate is 500kbits.

My strategy is:

1. node 1 sends one message that forces nodes to stop sending messages;

2. node 1 sends one message that forces node 2 to enter in bootloader and node 3 execute the function HAL_CAN_DeInit(&hcan2) and after MX_CAN2_Init_125(), init CAN with CAN bitrate=125kbits;

3. node 3 has one CAN filter that blocks all the Standard IDs.

However, when I send the sync message (0x79) the node 2 jumps off the bootloader.

What is the right approach for execute the firmware update via CAN when have in the network multiple nodes?

Thanks for your help.

    This topic has been closed for replies.

    1 reply

    Explorer
    July 27, 2024

    hi, did you find solution?