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.

TMS320F28335: Boot from Flash not working

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE

Hello Experts,

I have a legacy application on F28335 compiled with version 5.1.3.

It was working and was booting from the flash when last used. 

I have migrated it to version 8.3 of  CCS and compiler Version 5.1.3. 

my BEGIN address in cmd file is 0x33FFF6. When I run in connected mode, it works, when the same is power cycled, it does not boot.

Your help is much appreciated.

Regards,

Mohan

  • Mohan,

    Can you confirm the boot pins are driven to all "1" to boot to flash as shown below?  Was there any other change to the project except the CCS version, especially the .cmd file?

    Best,
    Matthew

  • Hi Mathew,

    yes, boot pins are set to High.

    It's a custom board, I tested in two boards of the same configuration. The behavior is the same.

    There were changes done in the application post main in recent changes. I loaded the last baselined build where the changes were not considered. Even then its not working.

    Please do let me know what other steps I can take to solve this, or any method where I can check the boot-to-jump addresses can be verified.

    Regards,

    Mohan

  • Mohan,

    We need to try and emulate what is happening in standalone boot mode when you are connected via JTAG.  After you load the .out file, ccs will automatically go to main for you.  We want to not use this, so if you execute a CPU reset it will then jump to the start address in the Boot ROM.  If you run after this, I expect you will see the same bad behavior in stand alone, but please verify this, i.e. the Boot ROM doesn't get to your code in flash but is hung somewhere.

    We can then load the ROM symbols and debug from there. C:\ti\c2000\C2000Ware_4_03_00_00\libraries\boot_rom\f2833x\v2_0\rom_sources

    Just to circle back a bit to your original message, you mentioned that this was previously working with an older version of CCS.  Has there been any other changes to your system such as HW/PCB, etc?  It will be helpful to know what other differences might be.

    Can you confirm the marking on the top of the MCU is F28335 and not F28235?

    Best,
    Matthew

  • Hi Matthew,

    To confirm, I am using F28335, in my team we use only two controllers one is F28335 and the other is F28388D.

    The board I am using is a custom board based on F28335 and no changes are made to the hardware.

    In debug mode, I verified the boot mode pin values and all are high.

    I debugged the unit as per your comments and below are the observation:

    1. All the jump addresses were as expected.

    2. Control transferred from Boot to cinit and then to main without stalling anywhere.

    during the debugging the boot mode pin status gave a value of "F" which was matching for the boot from flash settings.

    but when the same was power cycled, again the issue was the same it didn't boot.

    Please let me know what else I can try.

    Thank you,

    Mohan

  • Mohan,

    I want to see if there is some issue with the power up sequence.  In stand alone mode, after power up (and the part does not boot), can you manually pull XRSn low then back high and see if the device boots correctly?  If this works, then we need to look at the VDDIO/VDD/VDDA rails and XRSn as they come active to make sure we are within the DS spec for these during power up.

    Best,

    Matthew

  • Hi Matthew,

    The boot issue is resolved, and figured out that there was some issue in the connected JTAG.

    After replacing the JTAG, it is working fine.

    Regards,

    Mohan