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.

CC3220SF-LAUNCHXL: Can't update(burn) firmware through JTAG_IN

Part Number: CC3220SF-LAUNCHXL
Other Parts Discussed in Thread: CC3220SF, CC1310, UNIFLASH, CC3220MOD, CC2640

Hi,

I want to burn the firmware of CC3220SF_LAUNCHXL through JTAG_IN.

I remove the J3 jumpers including RST, TMS, TCK, TDI and TDO for CC3220SF_LAUNCHXL

And take another TI LaunchPad (CC1310_LAUNCHXL) and configure it as XDS110-Base JTAG emulator (by removing all the jumpers on it).

and connect the "XDS110_OUT" of CC1310_LAUNCHXL and the "JTAG_IN" of  CC3220SF_LAUNCHXL.

I plug USB power into the CC1310_LAUNCHXL and I want to burn the firmware of CC3220SF_LAUNCHXL by UniFlash tool.

Why the auto detected devices is CC1310 but not CC3220SF.

What should I do?

And is there any problem for my jumpers setting (refer to the following figure)?

Yellow frame: Jumpers not populated. (removed)

Blue frame: Jumpers populated.

thanks.

  • Hi,

    At CC3220 devices is for programming by Unilfash used UART not JTAG. From this reason your approach with JTAG cannot work.

    Jan

  • Hi Jan,

    thanks for your help.

    What you mean is the CC3220 launch pad can't be programming via JTAG interface?

    Is it able to be upgraded firmware through the UART only?

  • Hi,

    JTAG interface is intended for development purpose only (debugging code from IDE like a CCS or IAR). If you need to upload code which persist after device reset, you need upload code (image) into external SPI flash (sFlash). This can be done via Uniflash and communication is through UART.

    Information how to use Uniflash you find here. Additional options of programming (Gang programming, Embedded programming) are described here.

    Jan

  • Hi Jan,

    In fact, my final purpose is to confirm that is it able to program the CC3220MOD via JTAG.

    so I want to do the experiment on CC3220SF_LAUNCHXL first.

    For programming the CC3220MOD, the approach mention at http://www.ti.com/lit/an/swra568/swra568.pdf (section 5) is via the UART.

    But my colleague ever used the FlashProgrammer + CC1310(as the XDS110 JTAG emulator) + CC2640 to do the JTAG programming.

    So I also want to use the UniFlash + CC1310(as the XDS110 JTAG emulator) + CC3220MOD for JTAG programming.

    Is it possible?

    I wonder is there any other way(e.g. JTAG) to program CC3220MOD? beside the SPI (directly SPI programmer) and the UART (need CC3220 LaunchPad supported USB to UART)

    because the UART and directly SPI is a little bit inconvenient for us.

    If there is another ways, it would be better.

    thanks a lot for your help.

    by the way, it my test setting

    Chunyu

  • Hi Chunyu,

    Uniflash for CC32xx device use UART. It cannot use JTAG. There is no way how to write content of SPI flash by JTAG/SWD. Content of SPI flash is important because is maintained by ROM bootlaoder. Actually Uniflash can read/write content of XIP flash (of chip flash) and RAM. But this is pretty useless. Because after reset is content of XIP flash rewritten by bootloader.

    For programming of SPI flash you can use UART of 3rd party programmer. JTAG is intended only for debugging in development mode. Your connection may to work for debugging but not for programming via Uniflash.

    Jan

  • Hi Jan,

    Thanks for your helpful and clear explanation.

    But it must spend 60~70 seconds to upgrade the firmware via UART.

    It's really not a short time when upgrading a great number of units.

    Do you have any idea about does TI has any "Jig device" for programming CC3220MOD?

    or something else might shorten the programming time.

    Thanks a lot.

    Chunyu

  • Hi Chunyu,

    If you need fast production programming you should to use 3rd party production programmer like a BeeProg3 from Elnec.

    Production programming is about writing content into SPI flash. And erasing and writing into SPI flash take a while. From this reason there couldn't be any shortcuts. Technically there can be two alternate ways:

    • use QFN CC3220 chip and program SPI flash chip before assembling to board (some manufactures of SPI flash chips provides such service)
    • create small intermediate firmware. This firmware will be uploaded by UART or 3rd party programmer. And after boot will this firmware download full firmware via OTA update

    CC3220MOD contains SPI flash chip from Macronix (from MX25R3235F datasheet):

    • Page Program Cycle Time: max. 4ms
    • Sector Erase Cycle Time: max. 240ms
    • 64K Block Erase: 3sec
    • Chip Erase Cycle Time: max. 76sec

    If we not count erasing of chip, programming of whole 4MB chip can take up to 65 sec at worst case (in real life it can be about 25sec for writing, verification without erase). But this is not all. At first boot of CC3220 chip is detected uploaded content of sFlash and fielsystem is created. At this take while as well.

    Jan

  • Hi Jan,

    I appreciate your detailed response and kind assistance.

    This will be of great help.

    Chunyu