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.

TMS320F28027: Microcontroller cannot boot

Part Number: TMS320F28027
Other Parts Discussed in Thread: C2000WARE

Hello,

I have used TMS320F28027 in my circuit. I have uploaded the flash program inside of the microcontroller. It works well most of the time. However sometimes at the startup microcontroller does not run the software. It cannot boot. I mean the flash program does not run. GPIOs remain in the default states.

I am sure that 3.3V reaches the microcontroller and also microcontroller produces its inner voltage of 1.9V.

What could be the reason for that? How can I debug this problem?

Thank you in advance.

Sincerely,

Behtan Umut Mercan

  • Behtan,

                    Since clock is generated internally for this device (I know you have an external crystal), once power is supplied and the device is taken out of reset, it has to do “something”. I don’t see anything in your circuit that would prevent the MCU from booting up properly.

    1. How frequently does this happen? For example, if you power-up the board 25 times, how many times would it fail to boot-up?
    2. Do you have boards that don’t exhibit this issue at all or is it seen in every board you have?
    3. Do you use IDLE or STANDBY or HALT modes in your application?
  • Hello Hareesh,

    Thank you for the reply. I am sending my answers below.

    Actually, we do not use the external clock. It did not set up from software. Do you think I should disconnected from the board and try again although in software I use internal clock.

    • How frequently does this happen? For example, if you power-up the board 25 times, how many times would it fail to boot-up?

    Actually it changes. I cannot say exact frequency. Sometimes it happens 3 in a row sometimes it happes after 100 power-up. Avarage is approximately 20.

    • Do you have boards that don’t exhibit this issue at all or is it seen in every board you have?

    No all the boards have the same issue.

    • Do you use IDLE or STANDBY or HALT modes in your application?
    I did not set up specifically this power save options. Do you guess that my software is problematic. ( I will try it with TI example codes as well.) 
    Also is there a software solution to this problem. I mean setting up a watchdog timer and resets the microcontroller if it cannot boot. 
    Sincerely
  • Do you think I should disconnected from the board and try again although in software I use internal clock.

    No. The mere presence of a crystal will not impact the operation of the device (especially if your software does not configure the MCU to use that crystal).

    Do you guess that my software is problematic.

    It is unlikely to be a s/w issue.

    I will try it with TI example codes as well.

    Please program a simple GPIO toggling code in the Flash. That will help you ascertain if the observed issue has something to do with software.

    I mean setting up a watchdog timer and resets the microcontroller if it cannot boot. 

    Yes, you can leave the WD enabled. 

    Try removing R45 & R46 and reduce R47 to 2.2K

  • Hello Hareesh,

    I have removed the R45 & R46 and reduced R47 to 2.2K.

    It did not solve my problem. Also I have encountered this problem with TI example code as well. 

    However, error frequency decreased in the TI code. I mean error happens less frequent.

    Do you see another hardware issue?

    I will also try to enable watchdog timer? Does TI have an example code for that?

    Thank you in advance.

     

  • As mentioned earlier, once you supply power and clock to a device, it has to do "something". So, I don’t understand what you mean when you say "microcontroller does not run the software". Can you probe the -XRS pin to see if it is pulsing? This would indicate that the WD is resetting the device continuously. This is the behavior on a device with blank flash. 

    Please program a simple GPIO toggling code in the Flash and see if you still observe the same behavior. 

    There is a WD example in C:\ti\c2000\C2000Ware_5_01_00_00\device_support\f2802x\examples\structs\watchdog, but all it takes is the following statement to enable the WD: SysCtrlRegs.WDCR = 0x0028;