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.

Using a Sitara Cortex A8 Processor to Boot Load Delfino (TMS320F2837xD) through SPI

Hello team,

I have a support request regarding the using SPI, to boot-load from a Sitara which in turn is programmed through an USB Interface. It would look something like this: 

______              ______              _______
|      |            |      |<-----------|       |
|      |    USB     |  TI  |    SPI     |  TI   |
|  PC  |----------->|      |----------->|       |
|      | Sitara a/o |Sitara| Delfino SW |Delfino|
|______| Delfino SW |______|            |_______|

This seems possible from what I was able to find on previous E2E posts, it seems like from the  Delfino Technical Reference Manual on page 560 that there is two Boot Modes that can implement SPI, namely SCI and SPI.

That said, could you expand on the difference and the road-way to choosing a solution?

Is there any example or documentation that you would suggest for this specific application?

  • Hi Victor,

    A few comments. 

    1. On the C2000, SCI is really for asynchronous serial communication.  SPI is most often for synchronous serial communication.
    2. My recommendation on what is best will depend on what you want.
      1. Which of the following explains your situation:
        1. Do you want the C2000 to boot from an image on the Sitara every time? 
        2. Or do you want to bootload an image from the Sitara and then have it get programmed into flash when a firmware upgrade is desired.  And then use/retain boot from internal FLASH for most situations? 
        3. Or would you rather program the C2000 in the factory once and then afterward always boot/run the C2000 from flash?  You'd then update the firmware image from the Sitara based on more dynamic conditions.

      2. If A, I'd recommend using boot-from-SCI mode.  This will likely be easiest - albeit likely slower.  If you have the opportunity to program the C2000 via JTAG (or otherwise) once in the factory - boot-from-SPI is also an option. For boot-from-SPI mode, the OTP has to be programmed previously and it also assumes that the C2000 is the master for the bootloading procedure.
      3. If B, I'd more strongly recommend using SCI.  A jumper (or the Sitara if it comes up first) can be used to change the state of the C2000 boot pins and therefore choose between Get-Mode or Boot-from-SCI-Mode.  Note that Get-Mode is, by default, boot to flash.
      4. If C, assuming the C2000 device gets programmed once in the factory, implementation can really be whatever the customer wants (based on whatever they program in the first time).  They can reuse some of the code we put in bootROM if they wish, but they aren't limited to this.
      5. Note that in A or B, the SCI-boot-mode bootloading procedure will need to match what the C2000 expects which is described in the TRM (and also in several guides). 

    Hopefully this helps!


    Thank you,
    Brett