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.

CC3200: Why does the CC3200 use external flash?

Part Number: CC3200
Other Parts Discussed in Thread: , CC3220S, CC3220R, CC3235S, CC3220SF, CC3235SF, CC3120, CC3135

A silly question that I encountered on my ramp into embedded communications, formally asking here for future review. The CC3200 has 64 kB of ROM but no internal flash, requiring an external SPI-flash unit to run. Why does this MCU not feature integrated flash?

Supplemental context if useful, when I originally got my CC3200-LAUNCHXL Launchpad I assumed internal flash because it just ran. A few years later come product design time I specced out a CC3200 for the team, and was hugely embarrassed later that I had missed the requirement for an embedded flash IC! Asking here to clean this up, for future development efforts

  • Hi,

    You have right CC3200 is a flash-less device. That means it runs code from RAM. There is a many MCUs at market without internal flash including brand new MCUs from NXP. I think at next years we will see much more flash-less high-performance MUCUs at portfolio of many vendors. Because flash-less conception is a way how to decrease price of high-performance MCUs. With integrated flash in MCU there are two big issues:

    • price (it is much more expensive to integrate flash structures into MCU, because optimal manufacturing technologies for flash and high-performance MCU are slightly different)
    • technology (generally with current manufacturing technology is a slightly problematic to create high-speed flash memory for code execution together with high number of write cycles)

    But TI realise that there are benefits of integrated flash for some application and from this reason at 2nd (CC3220) and 3rd (CC3235) generation devices are available both options. You have options:

    • flash-less devices: CC3220R, CC3220S, CC3235S (256kB RAM)
    • devices with flash: CC3220SF, CC3235SF (256kB RAM + 1MB XIP flash)

    But even when you select device with integrated XIP flash, you still need external SPI flash. External flash is used as a data storage for internal WiFi coprocessor (NWP). Requirements for a amount of memory space are much higher than can provide internal flash. Although integration such big flash may to be technologically possible, this will not be economically feasible. Just you can look how much costs MCUs with 2MB or 4MB of internal flash. Internal XIP flash at CC3220SF, CC3235SF is used as "execution cache", which allow to increase size of code which will not fit into 256kB RAM.

    Jan

  • Jan, thank you greatly for the content and coverage you share here, this is just what I was looking for!

    I did not realize the LAUNCHXL-3235SF has external flash (U9 - Macronix MX25R3235FM1IL0), thank you for sharing! Why does the CC3235SF use both internal and external here, this seems redundant?

  • Hi,

    You should realise that CC3200 and CC3220/CC3235 have still same conception (MCU+separate NWP). The SF devices have additional 1MB XIP flash at chip. But this XIP flash works as "execution cache". Content of XIP flash is uploaded-synchronized by ROM bootloader during startup. After that is content of XIP flash up to date, bootloader "jumps" into XIP flash and starts execution code from XIP flash. 

    NWP need some space for own storage (~300kB for ServicePack, few kB for configuration and temporary files, webpages, user-data). And internal flash (1MB) in this case will not be sufficient. It will be needed 2MB or 4MB flash and this will be extremely expensive. There is other technical issue. Application MCU and NWP are separate Cortex-M processors. One runs on your firmware one runs at TI proprietary firmware. It is problem to have access into one flash from two separate cores. One core will need to wait till is access from other core done. And this will drastic impact to performance.

    Jan

  • Thank you!

    I am the chief architect for our solution, with hardware knowledge in progress. I have selected the CC3235SF for one of our solutions over the CC3200 because it "has internal flash and will cheaper". Is this correct?

    If not and the CC3200 solution is cheaper, in layman's terms what is the CC3235SF-CC3200 design selection?

  • Justin,

    My first suggestion would be look towards either our Gen 2 (CC3220) or Gen 3 (CC3235) solutions. These devices have been integrated in our SimpleLink SDK which allows for code portability across all of the SimpleLink devices. 

    For design considerations, gen 3 is going to have our latest and greatest features, including 5 GHz support, Coexistence, FIPS certification, and soft-roaming.

    If you can describe your use case, I can give you some links to evaluate our devices, and help point you towards a device that best suits your needs.

    BR,

    Vince

  • Vince, the contents in your response is much appreciated. We are designing against the following specs:

    Use Description:

    • battery powered
    • general-purpose environment (e.g. at your doctor's office or in a classroom)
      • control over other radio sources in env
      • Access Point full support needed

    • Lifespan: general target of 3-5 years
    • Regulatory & Certification body compliance (can share in private communication)

    I can provide more if needed, let me know. Thank you for your help!

  • Hi,

    I am working for a independent manufacturing company in Czech Republic. I have no direct relationship with TI (except TI is our supplier and ours customer as well). I am using CC32xx devices for a long time, actually longer time then many members of TI SimpleLink Wifi App team. Form this reasons my point of view may be similar to yours. My comments:

    • in case of you are really important to have battery powered device, selection for CC32xx devices is a right choice. There is a few other devices from competitors (ESP32, Cypress WICED) but nothing can beat CC32xx in power consumption.
    • do not select CC3200 device. It is likely than CC3200 will be cheaper then CC3220 or CC3220, but CC3220 and CC3235 are much better devices than CC3200 (including IPv6 support, support for multiple clients in AP mode, support for more secured sockets). Even more important is a better documentation for CC3220/CC3235 devices and quantally SDK releases. For older CC3200 device you cannot expect anything like that. CC3200 are fully supported by TI but there is not new development at CC3200. You cannot expect new features for CC3200 devices.
    • QFN vs MOD package. Selection of right package depends on expected number of devices and experiences at RF design field of your team. For smaller production quantities (let say up to 10k/year) it make sense select MOD version which costs more. Hardware design with MOD version is easier  and certification is much more cheaper. Because MOD is pre-certified and you will not need to do radio tests. It will be required EMC test/certification at your final product as at any other electronic device (FCC, CE, etc.)
    • S (flash-less) vs SF (with internal XIP flash). Selection depends on expected size of code (features). Selection of CC3220S or CC3235S may to be reasonable way how to slightly decrease price. For many applications may to be 256kB for code execution enough and internal XIP flash may not be required.
    • CC3220 vs CC3235 device. Selection of CC3220 device may to be way how to slightly decrease price as well. Most important feature of CC3235 is a support for 5GHz radio. But there are other advantages of CC3235, but they may not be important for all applications.
    • Other options. CC3220/CC3235 is a relatively small package with not many SPI, I2C, UART peripherals. For some applications may to be reasonable select MCU MSP432 + CC3120 or MSP432 + CC3135. MSP432 have much more peripherals and will allow even smaller power consumption then CC3220 or CC3235 (only at some use cases).

    Jan

  • This context is what my team needs right now, thank you Hnz!!

    How much complexity and risk is introduced by not going pre-certified?

  • Hi,

    For a higher quantity production it make sense use QFN chip instead of module. It allows to you decrease price of final product and allow to you better customising of your PCB.

    In case of selection QFN there are two risk factors:

    • PCB design especially at RF domain
    • Product certification (price + time)

    First point depends on whether you have at your team someone experienced with RF design and you have available requested equipment for RF design (spectrum analyser, VNA or equipment for Wifi testing - Litepoint, R&S, etc.). If you have available experienced person with RF and he will follow TI layout recommendation, you should not expect any significant issue. But if you not have such person + required equipment and you will not be able this RF design outsource to someone, risks to your project may to be very significant.

    If case your RF design will be properly done and you will have properly done in-house tests, certification of your product is only about price and time. I am not able to say how much higher price will be certification of product with QFN in comparison with MOD version. Certification of product with module can be done at almost all EMC certification labs, but RF tests for certification device with QFN is able do much less labs. This wiki page says that  price of certification is about $25k per one certification (FCC, CE, TELEC). It is expected than certification price of dual band device will be higher.

    Jan