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.
Hi all,
I recently developed a customized microcontroller board based on TM4C1294NCPDT chip. The board contains bare-metal TM4C1294 chip which has a bootloader in ROM and I have provided the UART interface to communicate with the microcontroller.
I followed TI's guide on Implementation of Programmer for Serial Bootloaders on TM4C12x Microcontroller: http://www.ti.com/lit/an/spma074a/spma074a.pdf?&ts=1589389934005.
I successfully programmed the TM4C123G to act as a debugger.
But, when I try to upload the binary of any program, I always get following Error:
ERR_DNLD012: TIMEOUT from Target
Can anyone help me resolving this issue?
Thank you.
Hi,
Can you try with the TM4C1294XL LaunchPad as your target device to make sure it works? This helps you isolate the problem. If the LaunchPad works and your custom board doesn't then you will need to investigate on the hardware first.
Does your target device have a JTAG port that allows you to debug? I hope you do. If not, you will have a hard time to debug the root cause. Also use a scope to find out if the TM4C123 programmer is properly sending the command to the target device. What does the TM4C1294 return?
BTW, your PC can directly program the target device via UART if you have a USB to UART adapter. On the PC side, you can use the LM flash programmer or the sflash.exe.
Hi Charles,
Thank you for you quick reply.
As you said, I uploaded the bootloader on the launchpad, and it worked. But, as my custom board does not have a JTAG interface, I used oscilloscope to understand the problem. I tried sending the PING command to the micro-controller board but did not get any response from it. The output is shown below.
I have also attache the board schematic for you reference.
Thank you for your help
Hi,
On the scope, are you showing what is output from the programmer (TM4C123) or from the target device (TM4C129)? I will suggest you compare the launchPad output with your custom board output on the board. As I mentioned, it is never recommended to design a new board without the JTAG port at least on your prototype board for debug capability.
Although it may not be the root cause of your problem, I do find your decoupling capacitors on VDD and VDDC very lacking as shown in your schematic.
- On VDD, decoupling capacitors are typically 0.1 μF in value and should be accompanied by a bulk capacitor near the microcontroller. The combined VDD and VDDA bulk capacitance of the microcontroller is typically between 2 μF and 22 μF
- On VDDC, the recommended VDDC capacitor solution, taking tolerance into account, consists of two or more 10%-tolerance ceramic chip capacitors totaling 3.3μF to 3.4μF (examples are, one each of 3.3μF and 0.1μF capacitors or one each 2.2μF, 1.0μF and 0.1μF).
Please reference the TM4C129 system design guideline application note.
You will need to do much of the debug on your own for your own board as the LaunchPad as you stated is working.