I have been using the TI-provided CAN bootloader in a project, where I have two active CAN nodes. The original version of the bootloader is hard coded to use only CAN node 1. I modified it slightly to allow for choosing the node when a software update is initialized - the node to be used is placed in the low nibble of the incorrect magic number by the application and read by the bootloader. This is probably sufficient.
However, it would be preferable if the bootloader used whichever node the initial ping comes in on so the person performing a software update over CAN does not have to think about which channel is being used. The only way I can imagine this working is to add a CAN interrupt to the bootloader, which would include the node the message came in on.
My question is - is there any way to determine the node that a particular message comes in on without using a CAN interrupt?
Thanks!
- Tom