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.

CC3120: CC3120 Uniflash program

Part Number: CC3120
Other Parts Discussed in Thread: UNIFLASH, , CC3100, CC31XXEMUBOOST, , , , SEGGER

hi team, appreciate your expertise advice on below.

Kindly advice if we may have connected the CC3120 Network processor incorrectly for use with TI Uniflash program.

Can you please advise on this topic as we have the following documentation from the development documentation?

 

Either nHib, or nReset is required for control of the CC3120, not both.

We understand that the TI Uniflash program does not work without nReset exposed, but this is not a design flaw, but a tool flaw from TI as the previous versions of UniFlash for CC3100 did not require the nReset, only nHib.

 

Our production programmer was originally developed for CC3100 and is still being used for CC3120 now. Please advise.

 



 

Thank you.

  • Hi Ken,

    The information on design guidelines for this is here: www.ti.com/.../swra569.pdf

    -Aaron
  • Ken - 

    Uniflash toggles both lines - nRESET and nHIB to enter programming - can you share a logic capture and schematic of the application, so we can see what the actual problem is? Programming the serial flash and use of the device for its intended application are two separate use cases. 

    thanks!

    to make it clear - here is a logic capture of UniFlash v4.2 programming the service pack onto CC3120BOOST, using CC31XXEMUBOOST

    as you can clearly see, both nHIB and nRESET lines are toggled before and after programming. 

  • Hi Josh,

    Rather than make another thread, I'm replying to this one, as this is recent and pretty relevant to what I'm doing (and might help the OP). We've designed a new board with the CC3120 on it (our first CC31xx design), and we put what we thought was a suitable programming connector on the board, i.e. the 10-pin "gang programming connector" as found on the BOOSTXL-CC3120MOD. This header provides VCC, GND, RST*, and the serial flash SPI bus. We were under the (apparently mistaken) impression that there existed some TI tool (XDS110 or similar) that would know how to program the CC3120 using its SPI serial flash interface.

    But after fighting with the UniFlash tool, it seems that serial UART programming is the only TI-supported method for programming the CC3120, correct? And is the CC31xxEMUBOOST (which I have) the only widget that UniFlash will recognize to program a CC3120?

    In short, should all CC3120MOD board designers put a 5-pin header on their board (VCC, GND, RST*, TX, RX), and craft a special 5-pin cable harness to go from a CC31xxEMUBOOST to their board, and use the EMUBOOST for production programming? Thankfully we happened to put a separate debug header on our board which has 4 of the 5 signals (I can wire over RST* from the other header), so I should be able to rig something up without too much trouble. Thanks for any advice you can give, thanks.

    David R.
  • Dear DR216 - 

    J1 on this board

    is for direct programming of the serial flash through a tag connect product ==> 

    in section 8.1.2.1.2.3 of this document, it explains how to program the serial flash, so the NWP will format it correctly afterwards, using a .bin or .hex file

    otherwise, you are correct - the UART interface is the way to go, as the NWP will interact with the serial flash in the manner you i think know about already

  • As far as gang programming, I can see that the BOOSTXL requires a Tag-Connect cable; we opted for a 10-pin 50-mil "Cortex" style header on our board. But the Tag-Connect is just a cable... the part I'm missing is, what "external (third party) flash programmer" are we talking about here? A SEGGER J-Link or equivalent? Or is there some other flash programmer that the Tag-Connect pad on the BOOSTXL was meant to be used with?

    In the meantime, I'm trying to use the EMUBOOST with our custom board. I think I've got the correct cable attached (I noted the swap in TX/RX designations between the BOOSTXL and the EMUBOOST silkscreens). I have a Logic probe attached, and when I try to connect in UniFlash, I can see the EMUBOOST drop RST*, 500 ms later drop RX, and raise RST* 300 ms later, but there's no activity from our CC3120. I set up the same signal probes on the EMUBOOST+BOOSTXL, and I can see the complete handshake take place, and UniFlash reads the board successfully. So something not right there, I should at least be able to get my CC3120 to burp out 0x00 0xCC.

    One thing I think OP was asking about... do you have to drive *both* RST* and HIB* low and raise them in order to bootload the CC3120? Or is it sufficient to just drive RST* low and high when trying to bootload the CC3120?
  • Again -

    the  header is for direct programming of the serial flash. Your serial flash vendor would (perhaps) have a tool with which to program their parts with.

    Figure 5 of the Production Line guide shows connections for you to use and now check (when using the EMUBOOST board.)

    (page 5)

    The UniFlash tool drives both, since the developer has freedom to choose either nHib or nRESET - here is LSA capture of programming the service pack onto the serial flash, through the EMUBOOST