Hello,
so. I have a pretty complex question. I know that it will be hard to answer without physically seeing my hardware setup that I have in front of me, so i will try and provide some schematic screenshots and describe what I am trying to do, and THEN I will describe what is going wrong, and THEN i will ask my question. Please follow along and reach back out with questions. I am in DESPRITE need of help.
1) WHAT I AM TRYING TO DO
-I recently embedded my own custom C2000 TMS320F28384D controller myself, following the same design principles from the launchpad PCBs, i have followed the datasheet to a T about capacitors, voltage levels, resistors, etc. Essentially my board is a totally empty breakout for the processor. I broke out almost all of the pins, verified them a ton of times etc. My specific package for the processor is the BGA with like 337 pins about?. Below, i have attached my schematic. Under my schematic I will tell you the steps I have taken from the schematic design until now, where the board is on my desk.
I will also attach the design as the altium sch and brd files for your reference.F28384DZWTSR_testBoard -simplier.zip
-okay so, since creating these design files i have done the following.
-manufactured and built the board via Macrofab. I did not do any soldering myself, i am confident the BGA is on there correctly. They did electrical testing, so i think electrically speaking, the circuit is in good shape.
-Checked for shorts manually with a DMM, it all looks good.
-made sure that the power converters were working. I am successfully getting the 3.3V and 1.2V nets just like the datasheet needs.
-Connected up power, and turned on the power switch, power LED lit up as expected.
-wired up a XDS110 debug probe to the jtag header, i had to go through a breadboard to do so because I accidentally broke the jtag stuff out in a line and not in two rows as is the 14 pin header of the XDS programmer.
-verified this circuit works by touching the TDO and TDI lines in a loop NOT connected to my board, and running a "test connection" in CCS. The programmer is working when it just loops back to itself.
2) WHATS GOING WRONG:
-Whenever I connect in my jtag TDO and TDI lines to TDO and TDI respectively, (i am following the TMS320's datasheet on how to connect a 14 pin jtag programmer), the JTAG test connection fails, and i get this message:
The value is '-233' (0xffffff17).
The title is 'SC_ERR_PATH_BROKEN'.
The explanation is:
The JTAG IR and DR scan-paths cannot circulate bits, they may be broken.
An attempt to scan the JTAG scan-path has failed.
The target's JTAG scan-path appears to be broken
with a stuck-at-ones or stuck-at-zero fault.
-I get the SAME error if i just leave TDO and TDI unconnected from the XDS110. This tells me the processor is not booting up to where it should be for some reason. I have never brought a C2000 processor online for the firs time besides on a launchpad, so i don't really know how to get the device to boot up right. I know other controllers like STM32s have a boot0 pin you have to tie low the first time you program, but i am not able to find something like this in the datasheet.
3) MY QUESTIN:
- Basically, my question amounts to this: What is the correct order of steps for first time programming on a c2000 chip? If I need to add switches to my circuit i can! I have broken out about EVERY pin from the BGA, so i WILL be able to make circuit changes if needed. Please help me figure this out. I have included photos of the schmeatic, and if those are not enough, I also zipped up my whole altium project and attached it. I can provide any further photos of anything if needed. I really need to know how to program this chip for the first time.
-Oh ALSO, I made a new CCS project for this thing, and specifically selected it as the target. Made it an empty main.c program, and then added a config file to select the XDS110 probe as the programmer. The step I am stuck on is clicking "test connection" in the .ccxml config file. Oh and here is a screenshot of my JTAG setup on CCS.
-I have tried adjusting the JTAG TCLK frequency to a lot of values between 100Khz and 20 MHz, and that change dose not make a difference to my test results. I am very confident I am just missing something hardware wise in getting the processor to boot up correctly the first time.
If this would require a video or auido call to help me, I am happy to zoom or whatever is best. Just send me a email at silas.perry@whisperaero.com.
thanks!!!!