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: Booting Error

Part Number: TMS320F28388D

Hi Team,

I have a customer who is facing issue to boot the CPU from flash. They set the GPIO to select the boot option, however some units can be booted but most units can't.

The summary of what we are observing:  

  1. We have a .hex file of some code, (not relevant what code it is, because even a simple blinking LED application is failing) we are almost certain that the watchdog and ecc has been disabled. 
  2. This .hex file is built from one PC and tested in Singapore and other country. 
  3. We download the .hex file either via SCI channel (using C2Prog software) or JTAG to the internal flash of the processor (TMS320F28388D)
  4. After power down and changing the boot mode pins to boot from flash; the boot up fails ( On some of the units )
    1. In addition (for the failed units), we observe that the XRSn reset pin is being driven by the processor, and is happening periodically going high and then low again with a rate of around ~200ms
  5. We also observe that for the exact same .hex file downloaded to some units, the boot up works completely fine. 

This seems to point to something very marginal in the hardware but we have no exact pin point on where the failure is coming from. We need help on narrowing the search. 

We have scoured the TI forums but there doesn't seem to be any matching behaviors. 

 

We are constantly suspecting the watchdog, and the things that we checked: 

  1. The codestart.asm seems to be point to the right place 
  2. The assembly code of the codestart.asm definitely disabling the watchdog 
  3. We verified the compiler output file location is linking the right codestart.asm file 
  4. We ran the code from jtag and everything is working correctly
  5. We checked from jtag to run from address 0x80000 (start of internal flash) to follow the sequence of the code start and it appears to be correct 

Please kindly advise if there is anything else that we should check and if there is something that is done wrong.

Thanks a lot.

Best Regards,

Ernest

  • i understand that the issue you are facing is with custom board. can you confirm is the same/similar code works with TI control card or launchpad ?

  • Ernest,

              The issue needs to be looked at from multiple angles:

    Hardware: Are the boot-mode-select (BMS) pins driven correctly during power-up? In other words, are the BMS pins at the expected level when the boot-ROM takes a snapshot of these pins to determine the boot-mode? Baskaran has given a good suggestion to try this on the ControlCard. In addition to trying on the Controlcard, please provide the scope capture of the VDDIO, -XRS and BMS pins upon exiting reset. 

    Software: Is the code being programmed in the flash correctly? Considering there are a few boards that seem to boot up correctly, that appears to be the case. However, please look into whether there are any initialized constants in RAM. If so, application will run fine with the JTAG connected, but standalone. 

    The fact that you see pulsing on -XRS pin indicates WD may not have been disabled (although the timeout frequency is not what I expect it to be). Please provide a scopeshot that clearly shows the duration the -XRS pin is driven low as well as the frequency at which it is driven low.