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: Internal and external flash storage

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

Hi all,

I need some clarification about CC3220SF flash management:

1) SF version has an internal 1Mbit flash to run the code, but with the Uniflash tool I can write only on external flash (is this right). How does internal falsh work? Every time the system boot, the MCU bin file is copied from the external to the internal flash and run ?

2) What is the mean of "Fail-Safe" about files? I can't found informations on this aspect, how does it work?

3) During programmation , if I set the "Secure" flag about a file, this means that the file will be encrypted using the certificates previously loaded?

4) How does the factory image restore work? Have I flash an MCU bn image that I flag as "factory image"?

thanks!!

Riccardo

  • Hi Riccardo,

    1) If the MCU bin file loaded in the internal flash does not match the .bin stored on the external flash, then yes--the application on the external flash will replace the application on the internal flash. There are a few more details that may be of interest to you in these posts as well:

    2) Fail-safe generally implies there is a mechanism to revert to an original file in case the new file is damaged during an update.

    3) A secure file is one which is stored as AES128 encrypted text and the encryption key is changed on every write.

    4) Please refer to section 7.13 of the CC3220 Programmer's Guide for details on restoring to factory. You can flag an MCU bin image for factory image using the Uniflash tool.

  • Hi Austin,

    thanks for your reply. About the secure question, to start using the launchpad I've to do all the steps about setting in developing mode by uniflash,load certificates and secure the file. How all these jobs work?

    Which is the relation between the file to be secured (mcu.bin) and the requested certificates?

    Why this procedure is done one time amd after I can use debugger woth ccs7 without resecure the bin file?

    The encrypted file is only readable by the processor ?how does this aspect work?

    Sorry for the questions number.

    Riccardo

  • Hi Riccardo,

    The certificates of the chain-of-trust loaded to the device during the flashing procedure are relevant only for authentication.  Please see this post for additional details:

    For encryption, a separate mechanism is used that offers cloning protection.  Encryption is performed using both a unique device specific key and a key rotation mechanism.

    When using Uniflash the application binary is flashed to the external serial flash.  With the CC3220SF device, the secure boot ensures validation of the integrity and authenticity of the run-time binary. Thus, authentication and decryption must occur before the application binary is run.  When using the debugger (with development mode to enable the JTAG) the application binary is flashed to the internal flash--bypassing the need for authentication and decryption.

  • Hi,

    so setting the launchpad in development mode  is used only to unlock the JTAG (after used bu debugger) 'cause in the SF version is default disable, correct?

    I can debug without make the chain of trust, needed when I have to program instead, correct?

    Rick

  • Hi Rick,

    With production mode the JTAG will be locked, and with development mode it is unlocked.  Additional summary available here:

    If programming in debug mode, you should be able to skip loading certificates to the device if in development mode.  Additional instructions for using debug mode are listed in the getting started guide.