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.

CC3220MOD: Failure When Programing Target CC3200MOD On Our PCAssembly with LaunchPad XDS110 OUT and CCS8/Energia

Part Number: CC3220MOD
Other Parts Discussed in Thread: ENERGIA, , CC3220S, UNIFLASH, CC3220SF,

We have developed a PCAssembly with the CC3200MODA soldered on to our assembly.  We are not able to load program on the JAGT interface.

We are also not able to program with the XDS110 programer we purchased and were left with uncertainty on the cabling and the adapter from the 0.1 pitich connector to the very fine pitch (0.50?) JTAG connector.


So I used a CC3200MODA Launchpad with the exact connector which we have on our PCB for the JTAG connector.   I first made sure I could program the Launchpad (I used the Blink example) with Energia.

Then I tried to program our target. I get error from Energia which says in part, 

Connecting...
fatal: CS_DAP: Error connecting to the target: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 7.0.48.0) 
Failed: Operation was aborted
the selected serial port Failed: Operation was aborted
 does not exist or your board is not connected

Do I have to do something to enable the JTAG interface?

  

  • Schematic screen shot.

  • My screen shot disappeared after I pressed the "post" button.

  • The CC3220MOD on our PCAssembly is, I assume, shipped with out any software, so some how I have to get control of the JTAG interface. Is my understanding correct?

    I want to try programing with the Blink program for example. Or perhaps the network_terminal.bin from:
    C:\ti\simplelink_cc32xx_sdk_2_20_00_10\examples\rtos\CC3220S_LAUNCHXL\demos\network_terminal\tirtos\ccs
  • Hello!

    Have you tried using UniFlash ImageCreator to put your CC3220MOD on your custom board in Development mode?

    I believe that the modules ship in production mode, which will lock out access to the device via JTAG. Programming with UniFlash only requires you to put the device in flash mode (SOP 100 or SOP 010), successfully toggle the reset line on the device, and send data over the UART (module pins 46/47, aka GPIO1 and GPIO2). Try opening a new UniFlash ImageCreator project and setting the device in Development mode. If you run into any issues doing that, please share the errors you run into here.

    I would also recommend you double check the nReset line and make sure it is being successfully toggled by the XDS110 hardware.

    Best Regards,
    Ben M
  • Hello Benjamin,


    I had a two day redirection on other tasks but I am back on the effort to communicate with the CC3220MOD on our PCAssembly.

    Thanks for pointing me in the UniFlash direction and explaining some what the expected procedure.. 

    I am also working with SWRU469B–March 2017–Revised March 2018 and I find the instructions inadequate.  About this document, I hope you can get it improved.

    Section 5.1 Create a new project really needs to show exact file examples and screen shots for a path to success. The instructions, "Users should fill out the relevant fields," is very inadequate.

    I am going to try some BIN files I found in folders such as: C:\ti\simplelink_cc32xx_sdk_2_20_00_10\examples\rtos\CC3220SF_LAUNCHXL\demos\out_of_box\uniflash\cc3220sf_out_of_box_tirtos

    From the User Interface on the UniFlash, I was expecting to find an MCU Image file and Service Pack  in the examples which are not at all obvious.

    Perhaps this is the "Service Pack" file: C:\ti\simplelink_cc32xx_sdk_2_20_00_10\examples\rtos\CC3220SF_LAUNCHXL\demos\out_of_box\uniflash\cc3220sf_out_of_box_tirtos\sl_sp\sp_3.8.0.3_2.0.0.0_2.2.0.6.bin

    But I do not see an obvious MCU file  I am about to try:

    C:\ti\simplelink_cc32xx_sdk_2_20_00_10\examples\rtos\CC3220SF_LAUNCHXL\demos\out_of_box\uniflash\cc3220sf_out_of_box_tirtos\sl_css\certcatalogPlayGround20160911.lst.signed_3220.bin

    I will post some images.

  • Screen shot of UniFlash GUI Development Mode Smiple View.

    Development Mode - Simple View

    Project Name
    TryingToGetToDevelopmentMode
    Device Type
    CC3220S
    Country Code
    EU
    Start Role
    Access Point P2P Station
    MCU Img
    Browse
     Clear  
    Service Pack File Name
    Browse
     Clear  
    Version: 1.0.19.7
    All rights reserved to Texas Instruments inc (c) - For more information go to our Help Pages
    Device status
    Connect
     Back
     Burn
  • Regarding "and send data over the UART (module pins 46/47, aka GPIO1 and GPIO2)"
    This is not clear at all.
    I have a CC3220MODA Launchpad, for which (by the way) I cannot find a schematic.
    I am using and experimenting with the XDS110 Out connection on the LaunchPad to the JTAG interface on both the Launchpad itself and to our PCAssembly.

    For our PCAssembly, Is the expected connection from the TXRX on the LaunchPad to the pins 46 and 47 on our target?

    The TXRX connections on the Launchpad are quite confusing because there are three pins involved for TX and another three for RX. 
    On the Launchpad, there is an unpopulated header near pins 46 and 47 labeled J11. Are these connections to the UART on the Launchpad device?

  • Hi Forrest,

    There is this new UniFlash ImageCreator training that should help you. Please check it out. We are working on updating our documentation, such as the guide you referenced.

    dev.ti.com/.../

    You can import the entire zip file (simplelink_cc32xx_sdk_2_20_00_10\examples\rtos\CC3220SF_LAUNCHXL\demos\out_of_box\uniflash\cc3220sf_out_of_box_tirtos.zip) into UniFlash ImageCreator. Take a look at the "Importing and Opening a Project" of the training above.

    The GUI will handle extracting the content for you. The file you referenced will be the servicepack file, but you will want the GUI to take care of adding it to your UniFlash project user files.

    In general (when you are creating your own UniFlash ImageCreator projects), you will want to access the servicepack from here in the SDK -
    (simplelink_cc32xx_sdk_2_20_00_10\tools\cc32xx_tools\servicepack-cc3x20)

    It seems your screenshot didn't upload correctly, but I think these instructions should get you going in the right direction.

    The schematic for the LaunchPad you have is contained within the Design Files on this page:

    www.ti.com/.../LAUNCHCC3220MODASF

    To clarify about the UART, the UART interface is used to program the serial flash that the CC3220 IC boots from. The JTAG programs the on-chip memory for debugging, but the CC3220 boots from an external serial flash (which is inside the module) and that can't be programmed directly over the JTAG.

    Take a look at section 1.4.6 in the following guide for information on why there are 3 pins.

    http://www.ti.com/lit/swru512

    It is to give you the option to connect the UART from the CC3220 back to the XDS110 for programming or to connect the UART out to the BoosterPack headers so you can interface with other devices. For programming the LaunchPad, you will wan the jumper connecting the top two pins. If you want to use the XDS110 on the LaunchPad to program your module, you will want to connect the top pins (off the three) to pin 46/47 of the module.

    Best Regards,
    Ben M
  • Got the schematic in the design files. Thanks. (Looking forward to exploring the accelerometer once I can program these things.)
    Now I see how the TX and RX are connected to the programmer side.

    This morning I have experimented with the Launchpad and the UniFlash thinking I was programing either the Out of the Box or the PlayGround (??? certcatalogPlayGround20160911.lst.signed_3220.bin ???) I must have written something to the Launchpad since I can no longer access the JTAG interface with Energia. I need a screen shot and or exact file names and method to put the Out of Box (and other) software back into the Launchpad.


    You might have figured out from our schematic that we have no connection to the UART pins 46 and 47. As best I can tell, we implemented our PCAssembly biased on the figure 1-20 of the SWRU512.pdf which does not provide for the UART connection you have told me we need. 

  • I admit to confusion. Every time I exit UniFlash and restart it, I seam to have a different experience. I can't figure out how I can go back and edit old configurations and the New Configurations does not match the experience on figure 12 of SWRU473. I have no Start Image Creator button for example. I know I was at it earlier but cannot find it now. The navigation of this spartan interface is baffling.

    Anyway I seam to have loaded into the Launchpad something that works. I can now use Energia again to program the target so it is Development mode. Perhaps I had not "broken" it before just had an operator error with Energia / UniFlash having contention on the target.

    I think it was a mistake to start talking about our target board. Only after I can master UniFlash on the Launchpad, (known hardware), should I expand my effort to our target.

    So regarding, "Have you tried using UniFlash ImageCreator to put your CC3220MOD on your custom board in Development mode?"
    I think I need help getting to where I can program the Launchpad into Development Mode and Production Mode at will. Only then can I move on.

    Right now I cannot find the user interface selection in UniFlash that allows me to choose Production Mode / Development Mode. (I am experiencing what Don Norman wrote of in his book "The Design of Everyday Things" as trained helplessness.
  • Hello Benjamin,

    While I am no where near being able to make a UniFlash image from scratch I have made some progress.

    I have verified that the nRest line is going high after power cycle.

    I have used the Out of Box example software and programed the Launchpad in both Production Mode and Development mode.

    I saved a file I called: cc3220sf_out_of_box_tirtos_Programming_ProductionMode.sli and a file I called: cc3220sf_out_of_box_tirtos_Programming_DevelopmentMode.sli where the only difference was the selection of Production Mode or Development mode in the UniFlash GUI.

    When I loaded the target with the Production Mode file, after reboot I could not connect to target with Energia to upload a sketch.

    I then loaded the target with the Development Mode file and, after reboot I could upload with Energia.

    I am still not able to load to our customer PCAssembly. Our technician scraped away the edge of the CC3220MOD and soldered two tiny wires to pins 46 and 47 and I have connected them to the UART connections on Launchpad so that the TX out of the LaunchPad went to the RX of the target and vicer versa so that output goest to input.

    When I try to program our PCAssembly the UART pins begin both high and for a time while the UniFlash reports that it is prepairing the SLI file the TX from the PCAssembly goes low then when the UniFlash reports Opperation Failed the TX from the PCAssembly goes high again.

    It is not clear to me what goes on with the MAC address that I had to give the GUI when making the dot SLI file for the device on the Launchpad and what or how I am supposed to something with the MAC on the target PCAssembly.

    Hoping for an explanation of the work flow for a never before programed part.

    Thanks,

  • Hi Forest,

    I'm glad you have made progress and were able to test out setting a device in production mode vs. development mode as well as test out your ability to reload the out-of-box application to a LaunchPad.

    Regarding the .SLI files, this will not be the way to go for setting the device in development mode because a development mode image is locked to a specific MAC address. The MAC address is used to prevent the image from being loaded onto other systems than the one that the development mode image was created for - the ultimate goal being to prevent developers from going to mass production with a test image rather than a final one.

    Even though the image file itself is locked to the MAC address, the UniFlash configuration (or project) should be able to be reused on different devices. When you are in the UniFlash ImageCreator project, pressing the "Connect" button reads in the device MAC address to create the unique development mode image for the device with the same files / system settings.

    Please try programming your custom board with the UniFlash project that you generated the development mode image from.

    Based on your screenshots, it looks like the tool doesn't even get to the point of verifying the MAC address before failing though. It seems to be having trouble communicating with the device at all.

    Do you have your SOP (sense on power) lines configured in one of the modes that allows Flashing? (SOP = 100 or 010)

    Thank you for pointing out that you based your design off of the reference schematic in the document (swru512). Please check your design against the hardware design checklist at the link below. It summarizes all of the requirements for custom designs in more detail -

    processors.wiki.ti.com/.../CC3120_&_CC3220_Hardware_Design_Review

    Thanks,
    Ben M
  • I removed a 10K pull up on the nRest to the CC3220. The nReset line was not getting to logic low with the pull up.
    I have the TX and RX on the PCAssembly communicating.
  • Regarding, "Please try programming your custom board with the UniFlash project that you generated the development mode image from."

    That is what I am going to try to figure out how to do next.
    I think since I have read the MAC address of our PCAssembly I have demonstrated communication.
    It is not clear to me if the Uniflash is getting the MAC through the JTAG interface or the UART. I have oscilloscope probes on the UART interface and see activity when I connect and get the MAC.

    I may need help getting our customer board programed with any demo code yet but perhaps  that should be another question with a focused subject line, like "Work flow to program OOB into Customer PC".  I plan to go over the SWRU473 instructions on section 5 Flashing the Ouf Of Box project and try to get it into the PCAssembly.


    I am closing out this issue as resolved!

    1000 Thanks

  • Hi Forrest,

    Thanks for following up and marking this as resolved. One last note, for a summary of the different ways to program a custom board I recommend you check out our Production Line Guide. This guide can be nice because it doesn't include all the additional information about the out-of-box application that may not be necessary for bringing up your board, unless you are specifically trying to recreate the out-of-box experience with it.

    http://www.ti.com/lit/swra568

    Feel free to open a new thread if needed.

    Best Regards,
    Ben M