This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280039C: Re-flashing over FSI in a daisy-chain

Part Number: TMS320F280039C
Other Parts Discussed in Thread: C2000WARE

Tool/software:

Using Application Note SPRACM3E "Using the Fast Serial Interface (FSI) With Multiple Devices in an Application" as a starting point, Section 7.2.4 1 Lead and 8 Node F28002x Device Daisy-Chain Tests.

For an 8-node daisy-chain of F280039C (or ..25C, 49C) MCUs, is there any path forward on being able to reprogram/reflash the daisy-chain controllers over the Fast-Serial-Interface (FSI)? A separate physical layer communication network just to reprogram the controllers is not feasible.

The application is calling for being able to reprogram the nodes on the daisy-chain without individually connecting to each one, programming one at a time. Instead being able to program them over the existing control communication network, in this case FSI.

I see there are use cases for reflashing over CAN and a few others in Ch 4 of the F280039C Technical Reference Manual, but nothing on FSI.

  • Hi Jesse,

    Let me look into this and get back to you. 

    Best Regards,

    Aishwarya 

  • Jesse,

    You can create your own custom bootloader using FSI or any other comms peripheral by creating some protocol to receive the image and use the flash API to program the flash. Will connect you with our bootloader expert to further assist with this.

    Best Regards,

    Aishwarya

  • Hello,

    Unfortunately, we do not have any FSI bootloading examples in C2000Ware (nor FSI bootloading support in the Boot ROM). The best path forward is to create your own custom FSI bootloader, as Aishwarya mentioned.

    I recommend starting small and getting basic FSI communication working (which seems to already be the case for you). Then, I would port the SCI communication hooks to instead support FSI in the SCI flash kernel example. Once you convert the communication base of the example and can successfully program the flash, you can convert the kernel to run from Flash instead of RAM. 

    Please let me know of any confusion points regarding custom bootloading. 

    Best,

    Matt

  • Matt and Aishwarya,

    Thank you for your reply. Good news that there is a possible path forward on this. I'll run this by the rest of our team to see if this is something we can do or if we need to go another route.

    Thanks,

    Jesse

  • Follow up

    Using the notation from the FSI applicaiton note of FSI Lead controller coordinates the FSI daisy-chain and FSI Nodes receive ping packets and are the to-be-programmed devices:

    Supposing the to-be-programmed FSI Node controllers have the bootloader and flash kernel setup correctly, I would need to transfer the programming file to the FSI Lead controller to have it then send out the file over FSI, for example byte-by-byte, to the FSI nodes on the FSI chain?

    This looks a little different from the SCI and CAN examples where a PC could connect to a single controller via a USB-serial or a CAN network with a USB-CAN cable.

  • Jesse,

    Yes, this is correct because the data transfer flow depends on the FSI topology used. For example, if you are using the star topology, you'd have the lead controller connected to all the target nodes

    Best Regards,

    Aishwarya