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: CC3220MOD Programs but won't work after power cycle.

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

I'm programming a CC3220MODSM2MOB from a CC3220S Launchpad using the UART.  I have SOP pins set to 010 and it appears to program just fine, but as soon as I cycle power, the device acts like it wasn't programmed.  I don't see a wifi network anymore.  If I reprogram again it comes right back.  What is causing this?  The Launchpad doesn't do this...

  • Hi Andrew,

    Please correct me if I'm wrong.

    Restating the problem:  You have the CC3220MODSM2MOB connected via UART to the XDS110 on the CC3220S Launchpad. You have set the SOP jumper on the CC3220S Launchpad to 010, pulling SOP1 on the CC3220S high, as shown in the image below.

    If this is the case, you're absolutely right:  SOP1 does need to be pulled high to program the device, however, we will need to pull SOP1 high on the CC3220MODSM2MOB instead of the SOP1 pin on the CC3220S.  

    Please use a 270k resistor to pull SOP1 on the CC3220MODSM2MOB high for programming.

    Please note:  Although SOP0, SOP1 and SOP2 on the CC3220S are pulled low with 100k, 100k and 2.7k resistors, respectively, SOP0, SOP1 and SOP2 on the CC3220MOD are pulled low already with 100k, 100k and 100k resistors, respectively.

    I hope this helps solve the issue!  If I am misunderstanding the configuration of the devices, please let me know, preferably with a schematic or a block diagram.

    Sincerely,

    Bryan Kahler

  • Sorry if I wasn't clear.  On the board with the CC3220MOD I have SOP pins set to 010 using a 270ohm to pull SOP1 high (I haven't touched the SOP pins on the launchpad).  This matches the configuration on the launchpad.  This issue is that the CC3220MOD no longer works after a power cycle following programming.  I have connected RESET, RX, TX, and GND from the launchpad to the CC3220MOD board.  I "sucessfully" program it and verify operation of the CC3220MOD, then remove power and power it back up and it does nothing.  If I connect the UART and reset pins again and reprogram it starts to work again, then cycle power and it no longer works.  However, if I program the CC3220S soldered on the launchpad, everything works just fine even after a power cycle.  I have a 10K pulldown on the UART RX line to make sure it doesn't float and cause strange behavior.  Is there a step I am missing?  I'm using the same uniflash image for both devices.

  • OK I got more debug information now.  I'm just running the out of box demo and here is the message I get.

    [Provisioning task] Wake up on Power ON
    [Provisioning task] detected device is CC3220RS
    [Control task] switching to AP mode
    [Control task] could not send element to msg queue

    --------------------------------------------------------------------------------

    Next, I took out the SW2 interrupt and that appeared to fix the issue pertaining to the msg queue.  I can then power cycle as many times as I want, but once I disconnect the launchpad UART TX line (Labeled "RX" on the launchpad) to the CC3220MOD board, the CC3220MOD doesn't do anything at all after a power cycle.  Just outputs a little bit of garbage on the serial terminal.

    --------------------------------------------------------------------------------

    Final Update:

    For the cases above I was always leaving SOP1 tied high.  Is this a mistake?  I tried pulling it low after programming at that appears to resolve the above issue.  I guess I don't understand why it SOP 010 works on the launchpad but not my board after programming.  I suppose it is because the UART lines are always connected.  

    Could TI explain this further?  I don't want erratic behavior in the design.

  • Hi Andrew5821,

    thank you for your debug information! I apologize for the delay in response.

    For a secure image:
    1. Set the SOP to UART Programming mode SOP[2:0]=010
    2. Program the Device
    3. Set the SOP to SOP[2:0]=000 and Reset the device

    For more information on the sense on power pins, please refer to section 16.8.6 of http://www.ti.com/lit/swru465 and section 8.12.1.2.3 of http://www.ti.com/lit/swru455b

    Sincerely,
    Bryan Kahler
  • Hi, I got a same problem. My cc3220s custom board won't operate normally on power cycle. But it do well on manual rest. Could you try if your board can boot normally when you first download your program and then give a manual rest. Thanks you!
  • Here is what I've learned.  Return the SOP jumpers to 000 after programming.  There is also an issue with the launchpad schematic.  What it calls SW2 in the schematic is actually SW3 in software and vice versa.  In my case, I hooked what the software thought was SW3 up and didn't hook up SW2 leaving it float.  This cause erratic behavior and software lockups.