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.

CCS/CC3220SF: External Serial Flash Interface at CC3220SF

Part Number: CC3220SF
Other Parts Discussed in Thread: ADC124S101, UNIFLASH, SYSCONFIG

Tool/software: Code Composer Studio

Hi,

I use SPI Interface (Pin 5,6,7,8) of CC3220SF for ADC124S101 IC. Also ı want to use SPI ınterfaced Flash IC (AT25SF161-SSHD-T) for Logging and Configuration. So, What is your suggestion? Should I use SPI0 pORT(pİN 5,6,7,8) using same port with ADC124S101, or could I use External Serial Flash Interface of CC3220SF? If I can use, is there any example application or API Set for this Interface? And also which Flash ICs run properly on Serial Flash Interface of CC3220SF IC?

If I can not use External Serial Flash Interface and couldn't access directly to to external Flash over this Interface, I must use SPI0 Interface (Pin 5,6,7,8) at this situation. But I must use two different Digital Output for CS (Chip select). But When I used another Digital Output instead of Chip Select (CS, Pin8 of CC3220SF), I couldn't run my application. I couldn't understand how I can run my SPI communication using another digital output instead of standart CS (Pin8) Pin. So, I don't know how I can control two different chip over One SPI Interface Port. could you help me at this issue?

Thanks.

  • Hi,

    As part of the required ancillary components you need to use with the CC3220SF, you need to add the required external SPI flash to the CC3220. If you look at the CC3220 datasheet, pins11-14 are to be connected to this required external SPI flash.

    http://www.ti.com/lit/ds/symlink/cc3220sf.pdf

    While this SPI flash is used to store the CC3220 NWP servicepack as well as your MCU binary, it has a filesystem you can interact with and create/read/write your own files on this external serial flash for your logging and configuration needs.

    There is an API you can use in your code to access the filesystem of this external flash, the sl_Fs*() APIs. You can find them documented in section 8 of the NWP programmer's guide: http://www.ti.com/lit/swru455

    You can also find a tutorial on using those APIs in the SimpleLink Academy module here:

    http://dev.ti.com/tirex/explore/node?node=AGVKWEmMLTdrSDotQX5Oug__fc2e6sr__LATEST

    Is there any reason why this API would not work for your needs?

    Regards,

    Michael

  • Hi,

    I use CC3220SF_LAUNCHXL Board and there is "MX25R3235FMxxx" Flash which is connected to Serial Flash Port of CC3220SF. So, is there any CC3220SF_LAUNCHXL application to write/read data for this Flash Chip? If not available can you help me about the file create, write, read functions and library adding? I need more information to apply write/read function to "MX25R3235FMxxx" Flash on CC3220SF_LAUNCHXL Board.

    Thanks.

  • Hi,

    Direct access into sFlash (SPI flash) is not supported. If you need to store user data, please use sl_ filesystem API as is stated at Michaels answer above.

    Jan

  • Hi,

    I will test SL_FS() APIs on LAUNCHXL Board and inform you in next days.

    At LAUNCHXL Board, RTOS Examples in Driver section like (i2ctemp, spimaster, uartecho) need "MX25R3235FMxxx" Flash which is connected to Serial Flash Port of CC3220SF? When we upload User .Bin file with UniFlash program, does this program file upload into Internal Flash of CC3220SF or into "MX25R3235FMxxx" Flash? At my design, Should I place an external Flash Chip which is connected to CC3220SF? I think internal Flash is enough and External Flash is an option.

    Alternatively, I want to use two SPI interfaced Chip on SPI-0 Interface (Pin5,6,7,8). To test two SPI interfaced Chip on this port I need two CS*(Chip Select) Pin definition and to capability of switching them at my program. Firstly how I could define second or third Chip Select (CS*) Pins at library and switch them in my code?

  • Hi,

    External SPI flash chip is mandatory for all CC32xx devices. Without this memory is device not functional. This external SPI chip is controlled by  of network processor (NWP). Although direct access to SPI flash chip from application processor may to be possible, this way is not supported by TI and without excellent knowledge of CC32XX devices you shoud not even thinking about this.

    Uniflash software does upload content (image) into SPI flash chip via UART and ROM bootloader code. External SPI flash is used by NWP as storage for:

    • binary code for your application
    • ServicePack (patches for NWP firmware)
    • Device configuration files
    • Temporary files
    • Files for webserver
    • User files (written by sl_ filesystem API)

    To information how to use SPI in 3-wire mode (with manual control CS via GPIO) will provide you Michael. I use at CC3220SF driverlib and from this reason I am not sure how properly set TI Drivers into this mode.

    Jan

  • Then I am waiting Michael Reply. Thanks.

  • Any Update for 3-Wire SPI communication issue(with manual control CS via GPIO)? 

    Also is there any Example or driver library for any Texas Instrument Flash IC which is SPI ınterfaced?

    Thanks.

  • Hi,

    Depending on the SDK version you are using, there are two methods to do this.

    The first non-sysconfig method is to edit the CC3220SF_LAUNCHXL.c file and change the SPI driver config struct directly. I have instructions here:

    https://e2e.ti.com/support/wireless-connectivity/wifi/f/968/p/770722/2851634#2851634

    With the newer SDKs, you can simply use the built-in sysconfig tool to change your SPI mode to "3 Pin". This will set the SPI peripheral into GPIO-CS mode.

    There isn't an example of interfacing a SPI Flash device to the application SPI. However, as Jan mentioned a SPI flash device is required, and must be connected to the CC3220 at the dedicated SPI flash pins of the device. Your application and use this SPI flash for data storage, making a second SPI flash redundant. The required SPI flash chip connected to the dedicated pins will not need any code in your application for handling, as that is handled by the bootloader and  NWP of the CC3220 directly.

    Regards,

    Michael