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.

CC3230SF: SOP[1] mode is not functional!

Part Number: CC3230SF
Other Parts Discussed in Thread: UNIFLASH, CC3220SF

Tool/software:

I have a question on the MCU we are using, CC3230SF. We are connecting a jumper on SOP[1] mode so we can flash, debug, and also test the product in normal functional mode. But my engineers are complaining that the product is not functional.

We are able to flash and debug using SOP1, but when we test the product after flashing using Uniflash, the engineers say the SOP1 jumper needs to be removed. Otherwise, the product works as the firmware is programmed. However, the datasheet says SOP1 should be functional as well. 

 

 Does anyone know why this issue is happening?

  • Hi,

    Can you better describe your issue. When you have SOP mode 0-1-0 your firmware does not start even you have programmed them before?

    Do you have pull-up at UART RX line?

    Jan

  • when I have SOP1, I'm able to flash the external memory (external flash memory) without any problem using XDS_UART_TX and XDS_UART_RX. I could also debug the code using JTAG lines without any problem. But I wasn't able to test the board when I flashed using UNIFLASH. The datasheet attached above says SOP1 should be able to work in functional mode as well, correct? 

    After flashing using UNIFLASH, I want the product to act like how the firmware wanted it to be, but it's not happening without removing the SOP1 jumper. isn't it weird when SOP1 also covers function mode?

  • Hi,

    Do you have pull-up at UART RX line? It is RX line not connected to some other hardware or held in low?

    Jan

  • hi Jan D,i believe you are asking about XDS_UART_RX. I don't have a pull-up on the XDS_UART_RX line. XDS_UART_RX is connected to my PCB board from the CC3220SF launch pad. We are using the CC3220SF launch pad as a debugger and for flashing code. As I said, debugging code and flashing are no problem. The only problem is the functional mode. If you want, I can send our schematic in the PM or by email. Please let me know. 

  • Hi,

    At SOP mode 0-1-0 is uart-loader state and functional state determined by break signal at UART TX of CC3220. When is RX line held in low state, device after startup goes into uart-loader for programming of SPI flash. If RX line is at high state ROM bootloder starts your code.

    If your code is not started at SOP mode 0-1-0 but it starts at other SOP modes it is more likely you have issue with RX line state.

    Jan

  • im tapping UART TX and UART RX from CC3220SF launchpad to flash and debug my board. Does the CC3220SF launch pad have the provision to pull the UART RX low and high automatically without changing any jumpers? 

    Here are the pins I connect my TX and RX lines to. I remove the onboard jumper to connect the jumper wire. 

  • Hi,

    If you have connected marked pins to UART at your board, it should work boot at SOP mode 0-1-0 without any issue. You can check state of CC3220 RX pin at oscilloscope. If you want to use your hardware without connected UART at SOP mode 0-1-0, you will need to add weak pull-up to RX line (GPIO2 pin).

    Is seems that you have something else wrong at your schematic / layout. You can ask TI for design review here. I use SOP mode 0-1-0 with CC3220SF without any issue at tenths of thousands device at field. That means I am pretty sure that thee is no issue with CC3220SF chip itself.

    Jan

  • hi Jan D,

    I reviewed my schematic with TI, but no one mentioned adding a weak pull-up at the UART RX. For my MCU, GPIO1 or 2, which is UART TX or RX. 

  • Pragash,

    I agree with Jan, it seems like there is an issue with the UART_RX line to the CC3230SF where it is being held low. The way to check this is by checking the state of the UART_RX line with a oscilloscope. 

    Another way to check is if you try to remove the SOP1 jumper after flashing with UNIFLASH. Meaning when using UNIFLASH use SOP mode "UARTLOAD_FUNCTIONAL_4WJ" then remove the jumper and try to use the device in SOP mode "FUNCTIONAL_4WJ", which will ignore any interrupts from the UART. 

    In general you do not need a weak pull-up on the UART_RX line because the other device connected should make sure that it's UART_TX line is held high when idle. In this case, the XDS should make sure that it's TX line is held high when idle so that the CC3230SF UART RX line recognizes that its not receiving any messages from the XDS.   

    Regards,

    Jonathan