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.

TMS320F28388D: CM USB kernel for firmware update

Part Number: TMS320F28388D

Tool/software:

Hi champs,

I am asking this for our customer.

The user prefers to use CM USB kernel only if feasible.

1) Is it possible to do firmware update via USB for CM to program CM flash, CPU1 flash, CPU2 flash?

That is, is there a semaphore that CM can take to program all flashes for CM, CPU1, CPU2 directly?

2) If 1) is not possible, how about this?

CM USB kernel to download CM image on CM's RAM and erase/program CM flash.

CM USB kernel to download CPU1 image and transmit to CPU1 GSRAM via CM to CPU1 message RAM and then notifies CPU1 to erase/program CPU1 flash.

CM USB kernel to download CPU2 image and transmit to CPU2 GSRAM via CM to CPU2 message RAM and then notifies CPU2 to erase/program CPU1 flash.

The user is concerned the efficiency to transmit data from CM to CPU1/CPU2 is low.

Do you have any comment?

3) Another idea.

CM USB kernel to download CM image on CM's RAM and erase/program CM flash.

Then, CM interrupts CPU1 that CM has finished using USB.

Then CPU1 uses its own USB kernel.

CPU1 USB kernel download CPU1 image to CPU1 GSRAM and then CPU1 to erase/program CPU1 flash.

CPU1 USB kernel download CPU2 image to CPU2 GSRAM and then notifies CPU2 to erase/program CPU2 flash.

Do you have any comment?

4) Or do you have any suggestion else?

  • Hi,

    3rd option seems feasible.  Pls note that CPU1 subsystem is the master core and by default (upon reset), the CPU1 owns all the configuration and control.
    The software running on CPU1 has to be configure the peripheral allocation and I/Os so that these can be accessed by the CPU2 or the CM cores.

    Best Regards

    Siddharth