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.

TMS320F28069: Flash Deletes Itself on Power Cycle

Part Number: TMS320F28069
Other Parts Discussed in Thread: AFE031, TMDSCNCD28069, C2000WARE

Hi,

I have been working and testing with my PLC Modem Dev Kit V3 this past week and have noticed that my flashes are deleted on power cycling. I have tried using C2Prog, CCS, and Zero Configuration GUI to flash this and it works on one modem, but the other's control card doesnt seem to start the program. Any ideas on how to fix this? Thanks

Jake

  • Hi Jake,

    How in your test are you finding that the flash has been deleted? Are you able to connect to the target and see that the flash sections are deleted using the memory browser in CCS? Or are you having an issue booting from flash after flash programming?

    Some things to check:

    • When programming your code make sure it's set to program to flash and not set to run and program to RAM
    • Verify that F2806x_CodeStartBranch.asm is in your project so that your program branches to main properly
    • Check state of boot select pins on your ControlCard. GetMode is typically boot to flash by default

    Best,

    Kevin

  • Hi Kevin,

    For example, I will use the .hex, wireshark capture, or sbin files from the G3SDK/Software/bin folder to flash the working modem using CCS. The tutorial says to power cycle after a flash, so i reboot the working one and the LD1 on the F28069 Control card turns green to show that it is powered. Then, LD3 on the same card will begin blinking every second or two at the same time as the dock's LD5. This cycle of blinking will continue happening and restart with the blinking anytime the modem is restarted.

    On the faulty modem, I flash the same exact image onto the card. When the process is complete, I can hit the play button on CCS and the program will start the blinking process exactly the same as the working program. If I try and power cycle the modem, the modem will turn on LD1 on the F28069 Control card and LD1 on the dock, but the blinking process between the other two LED's will never startup. To test that it was only the F28069 control card, I switched the cards between modems and then reflashed. I found that the originally working F28069 card when switched to use the faulty card's dock and AFE031 board worked perfectly fine when flashed and cycled. Then with the faulty card on the working dock, the problem showed up again.

    To continue testing this process, I launched the same G3 Example Image onto each card without power cycling and ran the Zero Configuration GUI. From here, I could see that the working modem had no problem running the TX or RX PHY tests, while the faulty modem setup could only receive and not transmit data. To double check that it was only transmission, I sent a message from the faulty modem using ZCG to the working modem's ZCG and the message failed to send or show up on the other side. When I sent a message from the working setup to the faulty one, it would show the message on the faulty ZCG, but the working device's ZCG would still say message failed to send, because the faulty modem could not send back any acknowledgement signal.

    I am able to see the flash sections being deleted in the memory browser and written to when flashing, but it seems like the system won't default to boot off the flash. I double checked the Control Card's switch settings, but they were the same as the working card's.

    Let me know what you think and thanks for the help!

    Jake

  • Hi Jake,

    Which F2806x ControlCard are you using? Is it the TMDSCNCD28069 or TMDSCNCD28069MISO? What are the states of Switch 1? i.e. which boot mode is being used?

    Jake Howard said:
    I am able to see the flash sections being deleted in the memory browser and written to when flashing, but it seems like the system won't default to boot off the flash. I double checked the Control Card's switch settings, but they were the same as the working card's.

    OK, so programming the flash is successful and it seems to be a boot issue. After flashing and power-cycling, if you reconnect to the faulty ControlCard in CCS and check the flash data everything is there as it should be then?

    To perform a simple test you could try running one of the C2000ware examples from Flash, maybe the 'timed_led_blink' example.

    • Import example into CCS: C:\ti\c2000\C2000Ware_2_00_00_02\device_support\f2806x\examples\c28\timed_led_blink
    • Add flash linker command file to project and set it to be used. Use F28069.cmd found at the below
      • C:\ti\c2000\C2000Ware_2_00_00_02\device_support\f2806x\common\cmd
    • Add F2806x_CodeStartBranch.asm to project:
      • C:\ti\c2000\C2000Ware_2_00_00_02\device_support\f2806x\common\source

    See if running the example from flash like above works as intended.

    Best,

    Kevin

  • Hi Jake,

    Was running the example from flash successful? Have you been able to figure out this issue?

    Best,

    Kevin