cancel
Showing results for 
Search instead for 
Did you mean: 

Firmware update via CAN bootloader with multiple nodes in bus

RVelh.345
Associate

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.

1 REPLY 1
Sirk77
Associate II

hi, did you find solution?