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.

CC3200: CC3200 customized hardware not getting debug

Part Number: CC3200
Other Parts Discussed in Thread: UNIFLASH, TIDC-SMARTPLUG-WIFI

Hi!

I am novice for CC3200.I am using CC3200 customized board( design taken from Texas Instrument:- ) . I first interfaced CC3200 ic with Uniflash and obtained the version of it. I also updated the service package using the GUI using Uniflash software. I think that Uniflash successfully uploaded the service pack in CC3200 ic( please verify this). I have attached the result of console of uniflash with this post. Now when I am trying to use debug in CCS ide with my customized hardware, I get the following message on CCS console:-  Cortex_M4_0: GEL Output:
Memory Map Initialization Complete
Cortex_M4_0: GEL Output:
Target Reset
but all the GUI keys(like Resume,Step into,Step Over) don't get active except the suspend key(red gui key). I have also attached the image of CCS window showing the GUI key status. I have also attached the image of launchpad connections to my hardware(I am giving power supply to my custom board using CC3200 LaunchpadXL. Kindly suggest what is going wrong.cc3200.rar

  • Bhushan,

    See the CC3200 Getting Started Guide doc which can be found in the "docs" folder of the CC3200 SDK installation directory.

    BR,

    Seong

  • I am able to use debugger on my cc3200 launchpadxl, it is my customized hardware which is not working. Whenever I changes the pins of JTAG(or disconnect) then CCS ide debug window shows that there is no device connected( hence approving that my hardware is communicating). But it is getting somewhere stuck. I have also verified the hardware connections (as suggested in CC3200 design guide).

  • Bhushan,

    The log shows that the service pack was programmed successfully.

    How is the SOP configured on your custom board?

    How are you powering your custom board from the LaunchPad? Have you tried measuring this voltage with a multimeter? Do you have a common GND between the two boards?

    BR,

    Seong

  • Hi Seong Kim,

    Nice to have you.

    According to original design schematic provided by Texas Instruments, SOP2 was pulled -down using 100Kohms. Also SOP0 and SOP1 are pulled down using 100Kohms. Now I have made changes to SOP2 and pulled it up  using 270ohms(keeping SOP2 connected to 100Kohms also). By doing stated changes only I am able to program service pack successfully. 

    I powered my custom board using LaunchPad and 230VAC-source(my custom board is a SmartPlug which will as an end product will work on 230VAC). I measured voltage using multi-meter and in both power supply cases 3.3V was successfully provided to CC3200 circuitry. I always keep the ground common with Launchpad whenever I use Launchpad for flashing or JTAG operations.

    Kindly give your insight.

    Thanks 

  • Hi Bhushan,

    Which design schematic are you referring to? SOP2 should have a 2.7k pull down. 

    Please use this CC3200 hardware design checklist to ensure your design follows our guidelines. Open the spreadsheet, select the CC3200R tab at the bottom, and go down the checklist item by item to check if your pins are configured correctly.

    In addition, refer to the Boot Mode List section in the CC3200 datasheet. To debug on CCS, you must boot your device in JTAG mode. To do this, SOP[2:0] should be 000. This means that your SOP lines must all be pulled down.

    • SOP0 pulled down with a 100k
    • SOP1 pulled down with a 100k
    • SOP2 pulled down with a 2.7k

    Have you tried probing your voltage rail with an oscilloscope to check if you have a stable power source? You want to keep any ripple on your voltage rail to be less than +/- 300mV.

    BR,

    Seong

  • Hi Seong Kim,

    My custom hardware is based on design given by Texas Instruments titled "Smart Plug with Remote Disconnect and Wi-Fi Connectivity". The mentioned design does have only 100Kohms of pull-down resistors on all SOP pins. Due to SOP2 connected to pull-down only I was not able to communicate with CC3200 ic using UniFlash software. So I connected SOP2 with a pull-up resistor of value 270ohms. Afterwards my custom board CC3200 ic started communicating with Uniflash. For JTAG(using CCS ide) all SOP pins are pull-down using 100KOhms.

      I have already gone through CC3200 hardware design checklist and datasheet.

    I am providing constant voltage of 3.3V to CC3200 ic(using LaunchPad,using 230VAC mains which will be converted to 3.3VDC,using DC source). Can I send my custom board to any Texas Instruments branch for the solution?

    Thanks for your help.

  • Bhushan,

    The design checklist, layout guidelines appnote, and the CC3200-LAUNCHXL design files is what we recommend our customers to use as reference when designing their custom boards.

    The Smart Plug is not a reference design, but a demonstration platform for testing and performance validation only. Reviewing the schematic in the SmartPlug user's guide, I do not see a on-board debugger. Which debugger are you using?

    BR,

    Seong

  • Hi Seong Kim,

    Thanks for your help. I will look at CC3200 LaunchXL to review my design.

    Anyway, right now I am connecting JTAG pins of LaunchPadXL to JTAG pins of CC3200ic in smartplug(using JTAG connectors as seen in smartplug schematic). Also, I am running debugger using CCS(v 9.0.1) ide. On running debugger CCS console show me message 

    I get the following message on CCS console:-  Cortex_M4_0: GEL Output:
    Memory Map Initialization Complete
    Cortex_M4_0: GEL Output:
    Target Reset

    but except Stop key, no other debugging utility keys(like step-over,step-into,resume etc) get active. This is the issue I am facing while debugging.

    I also modified smartplug design based on CC3200 LaunchPadXL design and connected a 270ohms pull-up at SOP2 pin. Then I tried communicating with CC3200 ic using Uniflash software. I was able to get version of CC3200 IC  also I did Service Pack Programming and  there were no errors. Then I tried loading blinky program(given in SDK examples folder) for which also Uniflash showed no error but I was not able to get any result(because of blinky code, the LEDs connected on  GPIO10 and GPIO11 should blink) after resetting CC3200 ic. 

    Kindly suggest what should be my next step.

    Thanks

  • Bhushan,

    I will send you a friend request. Please send me your schematic via DM.

    BR,

    Seong

  • Greeting Seong Kim,

    Thanks for your help. I will send you schematic in 1-2 days.

    Thanks a lot

  • Bhushan,

    After you change your SOP configuration, for example 010 to 000, you have to reset the device in order to boot it in the mode you want. Are you resetting your device after configuring your SOP as 000? 

    After you click the debug button on CCS, are you pushing the green play button to start the debug session?

    From the Smart Plug schematic, I see that GPIO9 is tied to the MSP430. GPIO 10 and GPIO11 are tied to LEDs but needs to be configured as inputs to toggle them. The blinky SDK example is intended for the CC3200 LaunchPad design where an output drives the LEDs. This is why you are not seeing your LEDs blink. 

    BR,

    Seong

  • Greetings Seong Kim,

    It is nice to have you as a guide. Thanks for your guidance.

    Reset is needed when we program the CC3200(external Flash) and I had done that after programming and making SOP 000.

    After clicking the debug button the green button doesn't become active. I tried using debugger on CC3200 LaunchPad-XL and I was successful but when I repeated same steps for SMartplug then I failed.

    Why to configure GPIO10 and 11 as inputs to drive LEDs ? TO drive the LED I have to make concerned pins as output and then place 0(connecting to ground) to them. If I make them as inputs then I won't be able to connect them to ground(and no current will flow from Vcc through LED to ground) as they are at high impedance.

    What frustrating is that neither I am getting the complete error(Uniflash shows no error and CCS debugger also connects) nor the complete result(code doesn't execute after resetting and debugger hangs up somewhere).

    Thanks

    Regards

    Bhushan

  • Hi Bhushan,

    I did a quick search on our E2E forums and found this thread that may assist you: https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/t/417222?pi320995=2

    The CC3200 comes in different variants, so depending on which one you have, you'll need to modify the linker file accordingly. 

    Hope this helps,

    Seong

  • Greetings Seong Kim,

    Finally I am able to run debugger on my custom hardware and all credits go to you. Thanks for giving your expertise.

    Thanks again(I can say it for infinity times).

    Enjoy

    Regards

    Bhushan

  • I'm glad I was able to help. I will be closing this thread. Please start a new one for any other queries.

    BR,

    Seong

  • Greetings Seong Kim,

    You were able to help because you are capable of helping others. Enjoy your knowledge.

    Thanks again

    Regards

    Bhushan

                                               Namaste!!

  • Greetings Seong Kim,

    I am able to use debugger using CCS ide and able to read  version of CC32xx IC using Uniflash. I also formatted the flash IC using Uniflash. Now I am trying to program using Uniflash. As I program (after selecting .bin obtained from blinky code) Uniflash shows no error  but after resetting the smartplug CC3200 ic, I am not able to see any outputs(LED blinking). What may go wrong? Can you provide me with your .bin file of blinky program so that I can program it as assure myself that my .bin file is corrupted.

    Thanks

    Regards

    Bhushan

  • Bhushan,

    Remember that the SDK examples, including the blinky project, is intended for the LaunchPad reference design. The LED circuit using GPIO10 and GPIO11 on the SmartPlug design are quite different from the LaunchPad. See below.

    Modify the "blinky" code so that GPIO10 and GPIO 11 are inputs, regenerate the .bin file, and try programming your board again.

    BR,

    Seong

  • Greetings Seong Kim,

    Thanks for the reply. You are right in saying that the LED circuit on Launchpad and Smartplug are different. Difference is that in Launchpad LED will glow when GPIO is high while in Smartplug LED will glow when GPIO is low.

    Now I am able to see the output by flashing external Memory IC. Now I am trying to use example code WLAN station. When I tried debugging it on smartplug then it gave me an error stating that memory limit crossed. I searched through Internet and found that RAM capacity of CC3200 M1 is not enough to support debugging of WLAN station code. SO my question is can I flash external memory IC with WLAN station code and then reset the device. Will the code run on smartplug or still RAM constrain will play the role ?

    Thanks

    Regards

    Bhushan

  • Hey Bhushan,

    Where did you read this about the RAM capacity not being big enough to support debuggint the WLAN station example? 

    Could you share an image of the error you are using?

    Do you still have the blinky project programmed to the serial flash? This may be why you are getting this error when you are debugging the WLAN station example.

    In case you are unfamiliar with how the CC3200 works, the serial flash is what holds the application image. When the CC3200 is powered on, the ROM bootloader reads the application image from the external serial flash then loads it into SRAM. 

    Hope this helps,

    Seong

  • Greetings Seong Kim,

    Thanks for your constant guidance. I read it somewhere in this forum only. However I found a new link and I modified my "cc3200v1p32.cmd" as following:-

    #define RAM_BASE 0x20004000

    /* System memory map */

    MEMORY
    {
        /* Application uses internal RAM for program and data */
        SRAM_CODE (RWX) : origin = 0x2000e000, length = 0x12000   // I made this change
        SRAM_DATA (RWX) : origin = 0x20000000, length = 0xe000      // I made this change
    }

    Now I am able to run debugger(WLAN Station code) on my custom hardware but I am getting the following message -

    Host Driver Version: 1.0.1.13

    Build Version 2.11.0.1.31.1.5.0.2.1.0.3.37

    Device is configured in default state

    Device started as STATION

    [GENERAL EVENT] - ID=[-102] Sender=[5]

    I have already made changes to common.h where ssid and passwords and all other stuffs are present( I verified by connecting CC3200 LaunchpadXL and code ran properly). You have my hardware schematic( I am attaching again with this post), in Antenna + Matching circuitry the Capacitor(C35 which is connected to L9 and Antenna) is having value of 6.2pF but my hardware is having 6pF. can it be the issue?

    Thanks again

    Regards

    Bhushansmartplug schematic.pdf

  • Bhushan,

    How far away is the AP that you are trying to connect to? If it is close, the matching components should not be the cause. As a side note, because the actual SmartPlug EVM and your custom board is different in terms of stackup, the impedance matching on your board is most likely not optimal. See section 6.2.5 from the "Antenna Selection Guide" Appnote to learn more about antenna matching. 

    Please see section 4.1.3 from the CC3200 Getting Started Guide and verify that you are importing and configuring this project correctly. 

    BR,

    Seong

  • Greetings Seong Kim,

    AP is nearby. LaunchpadXL is getting connected to the same AP but not the custom hardware. I will look into your suggestions on Antenna Guide and will inform you.

    Thanks (for infinity times) for your guidance.

    Have a good life.

    Thanks

    Regards

    Bhushan

  • Greetings Seong Kim,

    I consulted my hardware engineer and he checked the customized smartplug. According to him the hardware(including ANTENNA CIRCUITRY) is according to guidelines provided by Texas Instruments smartplug guide. So we have to confirm that there is no problem on software side(I was using WLAN station example code and customized smartplug was not able to connect to wifi). Kindly provide me with a compiled code  exclusively for CC3200 M1(M1 is important) . Code should configure CC3200 M1 connect to wifi network and thus validating the antenna network.

    Thanks

    Regards

    Bhushan

  • Hi Bhushan,

    The wlan station example automatically prints certain status notifications via UART. Could you provide a console log to get a better idea of what is going happening on the software side?

    Jesu

  • Greetings Jesu,

    Extremely Sorry for late response.

    I modified my "cc3200v1p32.cmd" as following:-

    #define RAM_BASE 0x20004000

    /* System memory map */

    MEMORY
    {
        /* Application uses internal RAM for program and data */
        SRAM_CODE (RWX) : origin = 0x2000e000, length = 0x12000   // I made this change
        SRAM_DATA (RWX) : origin = 0x20000000, length = 0xe000      // I made this change
    }

    On running debugger I am getting following messages on console -

    Host Driver Version: 1.0.1.13

    Build Version 2.11.0.1.31.1.5.0.2.1.0.3.37

    Device is configured in default state

    Device started as STATION

    [GENERAL EVENT] - ID=[-102] Sender=[5]

    I have already made changes to common.h where ssid and passwords and all other stuffs are present( I verified by connecting CC3200 LaunchpadXL and code ran properly).The last line of message "[GENERAL EVENT] - ID=[-102] Sender=[5]" means that CC3200 is not able to connect to the WIfi.

    Kindly suggest what to do now?

    Thanks

    Regards

    Bhushan

  • Hi Bhushan,

    The error you're seeing is related to a connection management error. This error is unexpected and typically requires network debugging via sniffer logs and/or NWP logs. Are any of these capturing options available to you?

    Jesu

  • Greetings Jesu,

    Thanks for your cooperation. I will try your suggestion and will inform you soon. However I have one concern, using the same code and wifi connection I am able to connect LAUCHPAD-XL(CC3200M2) and WLAN station code is working fine. It is the  smartplug hardware which is not able to connect to wifi.  Since code is right and also wifi connection is working then smartplug should also connect to the wifi so why it is not?

    Also do you have any video tutorial for performing NWP logs ? If ye then kindly provide me the link.

    Thanks

    Regards

    Bhushan

  • Hi Bhushan,

    It looks that you have problem with you antenna design or issue with fast clock. Did you followed this procedure? Have you done test of your RF path at spectrum analyser? Usage spectrum analyser is most straightforward way how determine whether your RF design is proper. After you will be sure that your RF design works well you can move to searching at software side.

    Jan

  • Greetings Jan,

    I don't have spectrum analyzer available with me right now. Even I think that my RF path is the culprit. Anyhow I will try your suggestion using the analyzer.

    Meanwhile,can you tell me whether the following changes made by me in cc3200v1p32.cmd file are correct or not:-

    #define RAM_BASE 0x20000000

    /* System memory map */

    MEMORY
    {
        /* Application uses internal RAM for program and data */
        SRAM_CODE (RWX) : origin = 0x2000e000, length = 0x10000
        SRAM_DATA (RWX) : origin = 0x20000000, length = 0xe000
    }

    Thanks

    Regards

    Bhushan

  • Hi Bhushan,

    Your SRAM_CODE section need to starts at address 0x20004000. Because address 0x20004000 is an entry point from ROM bootloader. Your SRAM_DATA section is at wrong place as well. Please place your SRAM_DATA behind the section SRAM_CODE. If you want you can create 3rd section with size 16kB from 0x20000000. Into this 3rd section you can place .stack. Use 3rd section if you have insufficient RAM space only.

    Jan

  • Greetings Jan,

    Thanks for the suggestion. Can you kindly elaborate or provide me with the modified cc3200v1p32.cmd file(with your modifications). I have already tried many combinations and I found posted settings(in my previous post) on this forum only. Will the settings done by me will be an issue for the WLAN station code?

    Thanks

    Regards

    Bhushan

  • Hi Bhushan,

    and what is wrong at linker file from getting_started_with_wlan_station SDK example? This example works file with CC3200R1-M2 chip without any issue.

    Jan

  • Greetings Jan,

    I have CC3200R1-M1 chip.This design is of Texas Instruments smartplug. As the ic is CC3200R1-M1, therefore I changed the linker file.

    Thanks

    Regards

    Bhushan

  • Hi Bhushan,

    I think is a bad choice to use CC3200R1-M1 because it have only 128kB of RAM. You should to use CC3200R1M2. You could to be soon at insufficient RAM situation in case of you want to use slightly bigger application.

    In case of CC3200R1M1 is ROM bootlaoder application eatery point at same address (0x20004000). You need to decrease size of both sections to fit into 128kB RAM only.

    Jan

  • Hi Bhushan,

    I have to agree with Jan. Since you say the same code works on different launchpad HW it is likely a HW issue you are having. As far as RAM, the entry point has to be where it is for the boot loader as Jan suggest - I did not think of this earlier. If RAM is a limiting factor you will have to change to device with more memory.

    Thanks for the help Jan.

    Jesu

  • Greetings Jesu ,

    Is there any code for CC3200-M1 which I can use to connect to the WIFI(for verifying my antenna circuitry and overall PCB design)? Later on I will change to CC3200-M2(as it will require hardware engineer and PCB modifications).

    Thanks

    regards

    Bhushan

  • Hi Bhushan,

    • For connectivity tests best suits getting_started_with_wlan_station example from SDK. But you need modify linker file to be example compatible with with your M1 device.
    • For testing of RF performance you should to use CC3100-CC3200-RADIO-TEST. Radio tools together with proper equipment allow to test RX and TX side of RF. According linker file for radio tools binary, it looks that it should be compatible with M1 device. But I am not able confirm this at 100%.

    Now I will only guessing. I think that you not have properly selected fast clock XTAL and you are not tuned center frequency.

    If you want capture NWP log, you can follow this article.

    Jan

  • Greetings Jan,

    Thanks for your guidance. I will get to you ASAP(right now busy with some other projects).

    I modified the linker file of WLAN station code for CC3200-M1(as suggested in some posts of this forum) but you suggested that those modifications were not correct. That is why I asked for code specifically written for CC3200-M1 or  the modified linker file of WLAN station code for CC3200-M1 ic.

    Thanks

    Regards

    Bhushan

  • Greetings Jan D,

    I have made following changes to the  linker file of  WLAN station code for CC3200-M1 IC :-

    #define RAM_BASE 0x20000000

    /* System memory map */

    MEMORY
    {
     /* Application uses internal RAM for program and data*/

        SRAM_CODE (RWX) : origin = 0x20004000, length = 0x10400
        SRAM_DATA (RWX) : origin = 0x20014400, length = 0xbc00
    }

    Code is build correctly but when run(with debuger)  it gives following output on terminal :-

               CC3200 WLAN STATION1 Application       
                     *************************************************



    Host Driver Version: 1.0.1.13
    Build Version 2.0.7.0.31.0.0.4.1.1.5.3.3
    Device is configured in default state
    Device started as STATION
    [GENERAL EVENT] - ID=[-102] Sender=[5]

    Kindly suggest whether the changes made in linker file are correct or not ?

    Thanks

    Best Regards

    Bhushan