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.

LAUNCHCC3220MODASF: Difference internal/external flash

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

Dear TI,

I bought the CC3220MODASF launchpad a while ago. I have tested quite a lot with it now, and I am starting the design of custom PCB soon.
One of the options for the custom board is to switch to the non- MOD ICs since I have another uncertified RF chip anyway. Since the current setup (i.e. the LaunchPad) works, I am taking the design as reference for my own board. In order to choose the right variant of the CC3220, I am trying to understand the benefit of internal flash and size that I would need for external flash.

I looked into the datasheet and design files of the LaunchPad and how to use the serial flash, but I got a bit confused. The datasheet of launchpad says it has 32Mbit (=4MB) external flash on board, but the design files show also a DNP for both CC3220SM as CC3220SFM for ANOTHER 64MBit. However, it looks like this extra serial flash is actually assembled since I can see an IC at the targeted location. On the other hand, Uniflash tells me that there is only 4MB memory available (from the integrated module). So could you please elaborate? Seems that the design files are incorrect in that case, and that there is an unused memory IC?

Furthermore, I don't understand the difference and benefit of the 1 MB internal flash of the CC3220SF variant. I would assume that this would give the opportunity to remove the external flash completely (e.g. for cost or safety reasons), however from the serial flash documentation it says minimal flash size is 2 MB(16Mbit) for CC3220 and 4MB(32Mbit) for CC3220SF. My assumption is that if you talk about the CC3220, we are talking about the non-secured variant, which will probably require less flash because there is no security/encryption overhead?
But if we have to add at least 4 MB(32Mbit), then what is the benefit of the internal 1MB flash? I mean the extra cost of going from 4MB to 8MB chip is 2 cents. Does the MCU use it for extra security? And how could I use it? It seems that it is not automatically used when using Uniflash for example.

MJ

  • Hi MJ,

    The design files for the CC3220MOD won't show the external flash device because it is internal to the actual module. For a better reference, I would refer to the CC3220 QFN design files: http://www.ti.com/lit/zip/sprcag0 . 

    The benefit of the 1MB internal flash for the CC3220SF variant is that you have 1MB available for code instead of the 256KB that is allotted in the CC3220S/R. Regardless, the external serial flash is  required by the network processor (on all three variants) for storing network and device configurations, passwords, and other files (certificates, keys, webpages, etc.) managed only by the network processor. More information on this can be found in the Out of Box demo : http://dev.ti.com/tirex/explore/node?node=AMbaIpevqf00fzNR.N96jg__fc2e6sr__LATEST 

    Thanks,

    Alexis

  • Dear Alexis,

    Thank you for your reply.  The link to right documentation helped me a bit to understand the way the CC3220 is structured. However, I still don't fully understand how I can use the 1 MB internal flash. There are some statements/questions that I would like to ask/verify by you:

    (1) The image that is programmed using UniFlash is stored on the external flash, so that the NWP can check the image before loading it on the MCU ( secure boot functionality).

    (2) If I am running a debug session, the application is loaded on the local RAM and therefore it is erased after loss of power.

    (3) How can I use the 1 MB internal flash? It doesn't show up during debug session or anywhere in Uniflash. Do I need dedicated commands to use it?

    (3a) In case the 1 MB internal flash is automatically used, how can I check if I am actually using this 1MB? It seems that I don't need it for my current application.

    (3b) Can I check if my application uses the internal flash? Otherwise I might go for the one without flash to save some money.

    Thanks,
    MJ

  • Hi,

    Just a few comments:

    - In case of SF device, code is loaded into XIP (internal 1MB flash) by the JTAG/SWD and here is debugged/executed.

    - Internal XIP flash is used for code execution. Code can be there loaded by two ways. In development mode by JTAG/SWD from IDE. In production mode by ROM bootloader from image stored in sFlash (external SPI flash). Boot procedure is described here at chapter 21.6.

    - At CC3220SF device is code executed from XIP flash by default. You will need to do "special" approach to execution from RAM. This will need create small bootlaoder for execution from RAM. Because default enterypoint called from ROM bootlaoder is in XIP flash.

    - In case you want to create small application (all will fit into 256kB RAM) you can use CC3220S instead CC3220SF.

    Jan

  • Dear Jan,

    Thanks for your help. The reference boot procedure helped me a lot to understand how it works for the SF variant.

    It made me wonder how it would work for the CC3220S without the flash. This post gave me more details. Furthermore the security features manual helped me (Figure 11 and text just above it as mentioned in the post)