SWRA657 June   2020 CC3100 , CC3200

 

  1.   SimpleLink Wi-Fi CC3100, CC3200 Serial Flash
    1.     Trademarks
    2. Introduction
    3. How File System Content Gets to the Serial Flash
    4. File System Guidelines
    5. User File Mathematics
    6. System and Configuration Files
      1. 5.1 Description
      2. 5.2 Memory Consumption
        1. 5.2.1 CC3200 Use Case
        2. 5.2.2 Host Driver Mapping
        3. 5.2.3 Minimum Flash Size
    7. Implementing File System Features From Host Processor
      1. 6.1 Overview
      2. 6.2 File Listing
        1. 6.2.1 Requirements
        2. 6.2.2 Procedure
      3. 6.3 Free/Occupied Space
        1. 6.3.1 Requirements
        2. 6.3.2 Procedure
      4. 6.4 File Appending
        1. 6.4.1 Requirements
        2. 6.4.2 Procedure
    8. Factors to Consider in Designing With Serial Flash
      1. 7.1 Serial Flash Vendor and Part Number Selection
      2. 7.2 Supported Flash Types
      3. 7.3 Frequent Write Operations
        1. 7.3.1 Serial Flash Access by the Wi-Fi System"
        2. 7.3.2 Seral Flash Access by the WiFi System
          1. 7.3.2.1 System Files
          2. 7.3.2.2 User Files
      4. 7.4 Sudden Power Off (power removal during a write/erase phase)
        1. 7.4.1 Battery Powered Systems
        2. 7.4.2 Line Powered Systems
    9. Design Recommendations for Ensuring the Integrity of the Power Supply to the Serial Flash
      1. 8.1 Overview
      2. 8.2 Key Points
      3. 8.3 Brown-Out Mitigation Techniques for New Self-Hosted CC3200 Designs
    10. Recommended Best Practices
    11. 10 Implications of Data Integrity Compromise to CC3100/CC3200
      1. 10.1 Recovery
    12. 11 References

File System Guidelines

As the file system may be used by customers for their own purposes, it is essential to understand the constraints and recommendations so the file system is designed and maintained properly.

The guidelines are:

  • The minimum flash resolution is one 4KB block
  • The file system itself requires three blocks for a total of 12KB
  • There are two reserved blocks that cannot be used
  • The total number of files is limited to 128 files, including system and configuration files
  • The maximum size for a file is 1MB
  • The maximum size for the serial flash is 16MB
  • Each file will consume at a minimum:
    • One block (4KB) for file without fail-safe support
    • Two blocks (8KB) for file with fail safe support (double the original size)
  • It is required to set the maximum size attribute upon file creation (the file system reserves space). In this case, the actual size of the file is irrelevant as file system occupies the allocated space.
  • The file system reserves space per file at file creation. It is required to specify the maximum size of a file at creation, that maximum size is the space occupied by the file in serial flash, regardless of the actual size of the contents.
  • The maximum file size and space reserved by the file system for a file cannot be changed after a file is created.
  • File attributes (currently, only fail-safe) cannot be modified after the file has been created
  • There is no fragmentation in the file system. This means that an existing file which is removed will leave a hole in memory. This hole may be reallocated by the file system if a newly created file can fit.
  • When file is created, the minimal size memory hole that can hold the file is allocated to it.
  • The actual size of a file may increase depending on its size. For more information on this mapping, see Section 4.
  • Each file has a header while enlarges the actual size of the file. This overhead is 400 bytes. If the file size is close to a multiple of the 4KB block size, this may result in an additional block being allocated. For example, a file with an actual size of 4000 bytes would result in two blocks being allocated one the header is taken into account as 4000 + 440 bytes > 4096 bytes. For more information, see Section 5.
  • Some system/configuration files may be created internally by the device. For more information, see Section 5.
  • Some system and configuration files may be created implicitly by the host processor as a result of invoking non file-system APIs. For more information, see Section 5.