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.

TMS320F28069M: Flashing timed_led_blink example through SCI bootloader gets stuck at checksum.

Part Number: TMS320F28069M


Hi,

I have been stuck on this problem for a couple of days now. I am trying to flash the timed_led_blink example from TI through SCI to my F28069M on a custom board. I have made shure and controlled that when I boot the chip it is in SCI boot mode. After sending the hex numbers 0x41 followed by 0xAA and 0X08 I try to flash the programm to my chip with the command prompt. I do this by using the standard line given in the 3652.Serial Flash Programming PDF of TI: :> .\serial_flash_programmer.exe –d f2806x –k ~\Debug\f28069_sci_flash_kernel.txt -a ~\Debug\Example_2806xLEDBlink.txt -p COM6 -b 9600 -v. 

After doing this I get the following result:

 

So what I have done to see where the problem is is editing the sci_flash_programmer given by TI by adding some VERBOSEPRINT's, I have done this to see in which part the problem lays. 
I have added the comments in the f05_DownloadImage.cpp file:

After doing this the output was as following:

With this output I found out that the problem lays at the if statement at line 219 where it checks the checksum.

I have gone through dozens of forums and checked every possible problem such as; making shure the sci-pins are good in the kernel and kernel hex file, making shure my memory ranges are correct. But after all this searching and digging I am still stuck so I need your guys help.

I am using the F28069M on a custom made board, to communicate between my laptop and the PCB I am using a CP210x USB to UART cable. The board is powered by a power supply with 36V and 0.5A (this is the recuired power).

Additional information: Flashing the timed_led_blink example with the XDS110 debug probe works perfectly, flashing any other program with this tool works fine as well. The only change made in the timed_led_blink project is the change of the GPIO pin 34 to GPIO12 since this is LED1 on my board. I have made shure to also change the MUX and DIR so it works all fine(tested with debug probe). 

I'm lokking forward hearing your advise,
Greetings Guilliam

  • Guilliam, 

    Thank you for providing a detailed explanation of your debugging process. It looks like the checksum error is being thrown for after the first few bytes of the hex file are transferred. Can you share the command you are using to generate the hex file? In addition, could you try running the kernel on a ControlCard so that we can see where in the kernel execution pauses?

    Here is a link to the ControlCard: https://www.ti.com/tool/TMDSDOCK28069?keyMatch=&tisearch=search-everything&usecase=hardware 

    Thanks, 

    Anu

  • Hi Anu,

    The command I use to generate the txt file from the hex file is the following: 
    "${CG_TOOL_HEX}" "${BuildArtifactFileName}" -boot -sci8 -a -o "${BuildArtifactFileBaseName}.txt"

    I have asked my company if we currently have the ControlCard board so I can test it. This might take some time but I'll keep you updated.

    Thanks,
    Guilliam

  • Guilliam, 

    The command looks correct, and sure let me know once you have the ControlCard. 

    Thanks, 

    Anu

  • Hi Anu,

    After some tries and changes in the serial flash programmer by adding some verboseprints I have found out the following. The application gets through all the steps including the checksum. After that it is redirected to Loading flash application whileloop found at line 238 of the f05_DownloadImage.cpp file of the flash programmer. It the goes in to the else if statement which will execute when all the data in the block has been sent at line 271. After that I found out it gets stuck in the first whileloop where it is reading the file at line 283. The output at the command line is as following: 
    Hope you can provide me with info to fix this blockage.

    ps. this is done on the ControlCard


    Thanks,
    Guilliam

  • Hi Anu,
    After searching some more info I found the problem. I was still using the 28069_RAM_lnk.cmd file instead of the 28069.cmd file. For this reason it would have never rum because the flash registers werent allocated. After putting the correct .cmd file in I am able to flash the blink project to my ControlCard board and our own board. Thanks for all the support! I will now put this issue as resolved.