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.

TMS320F280049: The circuit does not re-execute from codestart after power off and restart

Part Number: TMS320F280049
Other Parts Discussed in Thread: LAUNCHXL-F280049C,

Hi Team,

There's an issue from the customer need your help:

I am now encountering a problem, the phenomenon is as follows:

When I use the sample code "buck_nonpowerSUITE_F28004x", the running status light of the circuit is flashing normally after using the programmer to burn, but the circuit will not work normally after I power off and restart.

I have confirmed that I have selected to erase all FLASH in the settings, as shown below.

Thanks & Regards,

Ben

  • Hi Ben,

    Thank you for reaching out about this. I assume the LAUNCHXL-F280049C is the hardware being used by the customer. Please ensure that the boot mode switch on the LaunchPad is configured to boot from FLASH. No alterations need to be made to any of the project settings or software as the project is configured for flash build after importing.

    Regards,

    Peter

  • Hi Peter,

    Yes, the boot mode is boot from flash. GPIO24 and GPIO32 are 3.3V high.

    My operation is as follows:

    1. Use the burner to burn the BANK2_LDFU part of the routine "flashapi_ex0_kernel" (erase all FLASH).

    2. Use the serial port to burn the BANK1 part of my program

    3. Restart the circuit (power off and then power on) to verify that the BANK1 part is running normally

    4. Use the burner to burn the BANK2_LDFU part of the routine "flashapi_ex1_kernel" (only erase the necessary sectors)

    5. Use the serial port to burn the BANK0 part of my program

    6. Restart the circuit (power off and then power on) to verify that the BANK0 part is running normally

    7. Use the serial port to burn the BANK1 part of my program

    8. Restart the circuit (power off and power on) to verify the operation of BANK1

    After performing step 8, my circuit did not run normally, the light did not light up, and then I burned the routine "buck_nonpowerSUITE_F28004x" (erase all FLASH) with the burner, and the program ran normally, but after the power was cut off, it did not run normally and the running light did not light up. Routine "buck_nonpowerSUITE_F28004x" I also used the burner to burn before the power off restart can run normally, and then I changed the same circuit with the burner to burn the routine routine "buck_nonpowerSUITE_F28004x" (erase all FLASH) can run normally after power off, so I repeated the above 8 steps, and then used the burner to burn the routine routine"buck_ nonpowerSUITE_F28004x "After the power is cut off and restarted, it cannot operate normally again."

    I suspect that my chip can't jump to the codestart section normally after the power is cut off now, but I can't think of how to verify it, and I want to ask, is there a way to restore the chip to normal operation after the burner flashing routine routine "buck_nonpowerSUITE_F28004x" power off and restarting?

    Best Regards,

    Ben

  • Hi Ben,

    Peter will be out of office until Sep 5th and will be able to help you once he is back. Thanks.

    Regards,

    Chen

  • Hi Peter,

    Is there any updates?

    Best Regards,

    Ben

  • Hi Ben,

    Can you provide more details on the environment that is being used. Is the embedded flash tool within CCS being used during the entire operation of flashing the buck_nonpowerSUITE_F28004x?

    Also can you clarify as to why are you reflashing BANK1 after it has already been flashed?  From the initial message, it had seemed that the issue was that the project could not be run from flash at all, but it seems that it is able to run off of flash only on the first time flashing a specific bank.

    Do you see this same issue with any other project or is it simply only occurring with this reference design code. I will reach out to another flash expert for their opinion on why this may not be running correctly after flashing the program on BANK 0 a second time.

    Regards,

    Peter

  • Hi Peter,

    Re-flashing BANK1 because I want the verification program to play the role of LFU, that is, working on BANK0, flashing the new program to BANK1 and then rebooting the new program working on BANK1, which is simply a step similar to the verification function. Now the main problem is that I burn a new program, no matter which routine it is, it doesn't work properly after restarting. I have now replaced it with a new one TMS320F280049 this IC will work properly (the same circuit and the same code will now work), but I dare not repeat this operation.

    Best Regards,

    Ben

  • Hi Peter,

    Is there any updates?

    Best Regards,

    Ben

  • Hi Ben,

    I spoke with our flash expert regarding this and there is some feedback from them which may assist in debugging this. They mentioned it looks like the flash kernel is being over written while attempting to program multiple images to multiple banks. Since this is concerning LFU, they mentioned that it would be best to look at our LFU example and follow a similar sequence if wanting to simulate the LFU flashing. They mentioned to pay special attention to the target configuration file for the example, as it may not be erasing the entire flash, hence the behavior that is being seen

    Regards,

    Peter