Other Parts Discussed in Thread: C2000WARE
Hello everyone,
We are having problems while trying to program the flash of the F28035 using the serial_flash_programmer.exe found in C2000Ware.
We are using the F28035 ISO controlCARD with TRST = 0, GPIO37 = 0 and GPIO34 = 1.
ASCII text outputs of f2803x_flash_kernel example is used as the flash kernel and a modified version cla_adc_fir example is used as the application.
The command line used is as follows,
C:\C28035_BootloaderTest>serial_flash_programmer.exe -d f2803x -k f2803x_flash_kernel.txt -a fir32.txt -p COM11 -b 9600 -v
Most of the time the flash programmer gets stuck in the first auto baud lock section of the programmer. We have confirmed this by debugging the Visual Studio project of the serial_flash_programmer.exe. Response of the programmer in the terminal is as follows,
C2000 Serial Firmware Upgrader Copyright (c) 2013 Texas Instruments Incorporated. All rights reserved. getting comm state building comm DCB adjusting port settings calling f05_DownloadImage Downloading Example_28035_Flash.txt to device... (application gets stuck in here)
We have probed the RX signal of the MCU and seen that autobaud character ('A') is sent from the programmer. Most of the time, the MCU doesn't respond to this character. Result is the same if the autobaud character is sent via a serial terminal.
If we send the character multiple times over the terminal, MCU eventually responds with the same character. At this point, behaviour of the MCU depends on whether it has a program in its flash or not,
- If there is a program loaded in the flash, the MCU responds with the autobaud character only 2 times. After the second response, the application in its flash starts to run.
- If there is no program loaded in the flash, the MCU responds to every autobaud character it receives. If the serial_flash_programmer.exe is started at this point, the program is successfully sent to the MCU.
We have then modified the Visual Studio project such that the autobaud character is sent with 100ms intervals until a response is received. This time, the program exits when it receives the autobaud response. From the debugger, we have found out that the reason for the exit is the wrong character received from the MCU (0xFF instead of 'A'). When we probed the TX pin of the MCU, we have seen that the MCU is indeed sends 0xFF before sending the autobaud character.
If you have any solution to this problem, we would be glad to know it.
Best regards.
