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.

Booting off two different SPI devices on the TMS320C28346

Other Parts Discussed in Thread: TMS320C28346

I have a circuit with two SPI EEPROMs. They share a common bus with the MCU.

I can successively boot by using the EEPROM on GPIO19 but I would like to have the option of booting with the other EEPROM on GPIO20 too. What is the best method to do this from within the MCU?

  • Hi Chris,

    in SPI BOOT, Boot ROM will boot only from the EEPROM connected to GPIO19. There is no way for boot ROM to know that it has to boot from other EEPROM on GPIO20. You could do this in multiple ways.

    1.> Allways boot to flash and have your application take care of the rest.

    2.> Check if OTP Boot option is available on your device and see if you can use that.

    3.> if you want to use SPIBOOT mode, then you could probably build some glue logic in HW around GPIO19 and use a jumper (or other Microcontroller/FPGA output) to actually choose the CSn of the needed EEPROM? Basically you are tricking boot ROM that it is booting from the EEPROM connected to GPIO19.

    hope it helps.

    Best Regards
    santosh

     

  • Hi Santosh,

    I am using a Delfino MCU (TMS320C28346) and I didn't find the OTP boot option in the data manual. When you say "always boot from flash..." are you talking about always booting from the GPIO19 EEPROM and then overwriting RAM with the new program from GPIO20 later?

    Also is it feasible to just modify the boot loader to do what I want?

    Thanks,

    Chris 

  • Chris,

    it is not possible to modify the boot ROM on this device. I see what you say, there is no flash_boot or otp_boot on this deviec, apologies.

    Yes, then the option would be to load a small kernel on to the device RAM from SPIEEPROM connected at GPIO19 and have this application in turn get the final application either from the EEPROM connected to GPIO19 or GPIO20.

    Or

    you could explore the option of having some glue logic around GPIO19 and trick the bootROM that it is still talking to the EEPROM on GPIO19 but based on external jumpers in the glue logic you will manually choose which EEPROM should be allowed to respond.

    Best Regards
    Santosh