Other Parts Discussed in Thread: EK-TM4C123GXL
Short version:
Has anybody actually seen the LM Flash Programmer ICDI speed setting change the JTAG clock speed or am I misunderstanding something?
Long version:
Hi, we have been programming a custom target board with the EK-TM4C123GXL for several months with no issues. However our launchpad board has started to have problems programming the target. Erasing and blank checking never fail but programming fails with error 0x1 anywhere between 1% and 17%. We have tried programming with multiple PC hosts and the problem follows the Launchpad board and is not specific to a PC installation.
I wired up a new EX-TM4C123GXL board for JTAG output and it will program successfully each time with no errors, but the old Launchpad board will fail to program the same target board. We removed the target power jumper at H24/H25 and even cut the traces on the Launchpad going from the JTAG header pads to the onboard target (U1) to eliminate the stub going to the other processor.
On our target board we are programming a TM4C123GH6PGEI with a full 256K bin file, erasing the entire part each time. Our target does have JTAG pullups onboard and the JTAG wires are as short as we can make them. We have a good ground connection and adequate bypass caps on the 3V3 power supply rail. The target runs fine once programmed and we then use the serial port and the LM Flash Programmer tool for updates after initial programming with no issues.
After reading these forums I tried modifying the configuration of the LM Flash Programmer (Build 1613) to decrease the speed on the suspect Launchpad.
However no matter what setting I use for the ICDI speed or the clock source, a scope probe on the suspect Launchpad board shows the TCLK speed to be about 481 KHz.
When I probe the new Launchpad the TCLK speed is slightly lower at 461 KHz; this is the board that always programs successfully.
Has anybody verified the TCLK speed actually changes when you modify the ICDI speed or the clock source? From the testing I've done I never get any value other than the 481 KHz on the suspect Launchpad or 461 KHz on the working Launchpad.
I confirmed the flash programmer is setting new values from the GUI because I can see it update the registry keys with the new value although it only seems to update them when you quit the LM Flash Programmer. Upon restart you can see the new values have been loaded from the registry. I started testing with the default values of JTAG port at 1000000 and "using selected crystal value" of 16 MHz.
With ICDI JTAG speed set to 1000000 it takes 14 seconds to program the board with TCLK about 461 KHz.
With ICDI JTAG speed set to 500000 it takes 14 seconds to program the board with TCLK about 461 KHz.
With ICDI JTAG speed set to 100000 it takes 14 seconds to program the board with TCLK about 461 KHz.
With ICDI JTAG speed set to 100000 and the clock source set to 4 MHz it still takes 14 seconds to program the board and TCLK remains 461 KHz.
Restarting LM Flash Programmer between each settings change to confirm the settings had changed.
Power cycling the target and the Launchpad between settings changes did not change the TCLK speed.
The only differences I can find between the two boards is the suspect board has a slightly faster 16 MHz crystal, it clocks in around 16.1 MHz sometimes according to the 100 MHz scope, I did not have access to a more precision scope.
Has anybody actually seen the ICDI speed setting change the JTAG clock speed or am I misunderstanding something?
Thanks.
Andy