Other Parts Discussed in Thread: C2000WARE
Hi,
I am planning to use TMS320F2837xD in my custom design. Before moving to further steps. I needed few info about field firmware update for TMS320F2837xD.
As per my understanding TMS320F2837xD will support I2C boot mode. Referred section 4.9.4.4 I2C Boot Mode from "TMS320F2837xD Dual-Core Delfino Microcontrollers" TRM.
I2C boot mode configuration setting can be done by using "Stand-Alone Boot Mode" setup from "https://www.ti.com/lit/an/sprt720/sprt720.pdf?ts=1603132051489&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FLAUNCHXL-F28379D".
So with reference to above document. I need to make below changes to boot from I2C.
1. GPIO-72 and 84 (BOOTCTRL Pins) Set to 1'b and 1'b Respectively i.e, GetMode
2. OTP_KEY = 0x5A
3. OTP_BMODE = 0x05 (I2C-A)
So, Once above sequence passes. Boot ROM will start loading the application firmware stored in I2C EEPROM with Slave address 0x50 to RAM and start executing the application. Is my understanding is correct ?
How to set the OTP_KEY and OTP_BMODE to the required value. How can I over write the data to my required operation.
Boot ROM will contain I2C boot code "C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_00_01_00\c2000ware\libraries\boot_rom\f2837xd\revB\rom_sources\F2837x_bootROM\cpu01-bootROM\source". Will this Boot ROM by default pre-loaded with all the boot loader support ?
As per my understanding, CCS will generate .hex file and that hex file should be loaded into I2C EEPROM(0x50). Then only in boot mode, I2C Boot ROM can fetch the application firmware from EEPROM and loading into RAM and starts execution. So here my query is How to program my application into I2C EEPROM. Do we have any reference design I can use ?
--> Since in I2C Boot ROM, As well in TRM I found about Boot loaders. I couldn't find anything about Boot programmer. So Do I need to connect another microcontroller to the same EEPROM in MultiMaster mode and need to program the .hex file to EEPROM. or TMS320F2837xD can do this. If TMS320F2837xD can do How do I need to keep the device in Boot Programmer mode and update application firmware into I2C EEPROM.
Instead of using I2C EEPROM, Can I update my application firmware into Flash memory available in TMS320F2837xD FLASH (256Kx16). If that needs to be done. I think I need to use UART from host programmer.
"C:\ti\c2000\C2000Ware_DigitalPower_SDK_3_00_01_00\c2000ware\utilities\flash_programmers\serial_flash_programmer". Is my understanding is correct ? Dow we have any reference design for loading my application firmware into flash memory. and what interface I need to use from my host computer. I would like to have my custom stand alone flash programmer.
Best Regards,
Prasanna