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: How does CC3120 work with the external flash?

Part Number: CC3120
Other Parts Discussed in Thread: UNIFLASH

Hi,

    We are developing the host driver for CC3120.

    By checking the CC3120 data sheet, the CC3120R device maintains a proprietary file system on the SFLASH. The CC3120R file system stores the service pack file, system files, configuration files, certificate files, web page files, and user files. Since the ROM of the CC3120 contains the firmware for embedded Internet and embedded Wi-Fi operations, I am curious about how CC3120 works with the external flash.

    I have some questions about the working flow of the CC3120.

1. When the input VDD power is on, the bootloader in the ROM should start some initialization operation and waiting for the reset through the nHIB pin from MCU. Will the bootloader access the external flash before receiving the reset from the MCU? If yes, what kind of data will bootloader access?

2. Had the CC3120 completed the bootloader operation and run into the embedded application when waiting for the reset from MCU?

3. When will the external flash be access at the first time? In bootloader or in embedded application? Before or after receiving the reset from MCU?

4. I use the UniFlash tool to create a binary image containing the Service Pack only and program the binary into the external flash through one offline programmer. Is it enough to work with CC3120?

5. Will the CC3120 stop to run if the image content of the external flash is incorrect? By the way, how do I check whether the image of the external flash is correct?

6. Is there any document describing the inter operations between the CC3120 and the external flash?

    Thanks.

        Todd

  • Hi Todd,

    1-3. The bootloader starts when the nHIB pin is turned on. The boot-loader accesses SFLASH for multiple reasons, e.g. to create the FS (in the first boot after the flash was formatted and programmed the boot-loader will unpack the programming image and create the File System), to store initial calibration results in a system file, look for SP, etc.
    4. This should be enough
    5. Yes, the bootloader expects certain format of the flash. If something is wrong, it may get stuck.
    To test your programmign you can read the flash content and compare it to the Uniflash' gang image that you've started with.
    You can then use uniflash to connect to the device and browse the file system to make sure it is as expected.
    6. We have the following CC3120 Flash guide: www.ti.com/.../swra515.pdf
    It is more focused on requirement than on explaining the exact inter operations.
    For more info about programming options you can also refer to the production line guide: www.ti.com/.../swra569.pdf

    Br,
    Kobi
  • Hi Kobi,

    Thanks for your clarification.

    When the host receives the IRQ from CC3120 on the asserted nHIB pin, does the bootloader finish accessing the external flash and run into the application?

    Thanks.

    Todd
  • When using CC3120, the host application is not part of the Simplelink File System.
    The host application (stored on a host MCU memory) starts and is responsible to register the interrupt line before it toggles the CC3120 nHIB.
    Once the the nHib turned on - the CC3120 (NetWork Processor) bootloader will run and do the initialization of the NWP (including flash access).
    When the initialization is complete - the interrupt will be asserted.
    At this point the NWP is ready to receive SPI (or UART) commands from the host.

    Br,
    Kobi
  • Hi Kobi,

    Sorry for not specifying my question clearly.

    The application I meant should be the code running in NWP to receive command from the host.

    Thanks for your information.

    Todd