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.

SPI-Boot with the TMS320C28346

Other Parts Discussed in Thread: TMS320C28346, CONTROLSUITE

Hello

I am trying to use the SPI-Boot with the DIM168 USB Experimentersboard for the TMS320C28346. I can generate a file with hex2000 and boot from the on-board i2c-rom. The program works correctly. Now I use the same out file and want to boot from an additional eeprom (M95M02-DR) I have connected on GPIO's 16 to 19.

My configuration for SPI is: hex2000.exe Testproject_F28346.out -o Blink_eeprom.a00 -b -boot -spi8 -lospcp=1 -spibrr=29

The argument binary is ok, because I write to the eeprom with a self made program on the TMS320C28346 with fopen("Blink_eeprom.a00", "rb"); and as I said it works with the i2c-eeprom on board. I can also write over SPI and read my written data back.

Now i turn off the power and set the boot-mode (1101) for SPI-A boot. I can see that SPI-A reads the data from the eeprom and at least the first few bytes are the same as in the *.a00-file. I can see: AA 08 01 1D 00 00 00 ... on the oscilloscope. Unfortunately, nothing starts to run and after 2.5 seconds the same read comes again. I guess the processor is resettet all the time.

Can you help me to solve this problem? I do not know what is wrong with the settings.

Kind regards, Alex

Attached you will find the linker-file, out-file, hex2000-config and .a00-file

5224.e2eTI.zip

  • Alex,

    can you step throough the SPI boot function while it reads data from EEPROM connected to SPI port and see where it is getting reset and if it able to read the data properly?

    normally, the boot file output of the hex2000 utility will be readable by a text editor and I'm not able to do so with your *.a00 file and I also use -'-ti_txt' option when invoking hex2000, I don't see you doing that? Was it always this way for you, even when working with I2C Boot mode?

    you should find the bootROM source releases in your controlSuite installation. I have mine at C:\ti\controlSUITE\libs\utilities\boot_rom\2834x . You don;t have to recompile/rebuild the RO Msources. the COFF file is good enough to load the symbols and put the break points. The Map file will provide the symbol address in case you need.

     

    Best Regard

    Santosh

     

  •  

    Hi Santosh

    Thank you for your hint with the bootROM source. That helped me a lot to solve this problem. The code as posted is okay. It was a mistake in the programmer source which causes that a certain page in the eeprom got lost.

    Now everything works =)

    Best Regards

    Alex

  • Hi Alexander.

    Are you using BIOS in your project in order to set up interrupts, periodic functions etc. ?

    I am asking because I am trying to make a bootloader for a project that includes BIOS, and I am facing several problems.

    Thank you.