Presentation is loading. Please wait.

Presentation is loading. Please wait.

Real-Time Library: Flash File System 1. Flash File System - Basics – The RL-FlashFS allows to create, save, read and modify files – The library functions.

Similar presentations


Presentation on theme: "Real-Time Library: Flash File System 1. Flash File System - Basics – The RL-FlashFS allows to create, save, read and modify files – The library functions."— Presentation transcript:

1 Real-Time Library: Flash File System 1

2 Flash File System - Basics – The RL-FlashFS allows to create, save, read and modify files – The library functions provide high level access to file system functionalities – Usage with the MicroLib runtime library is not supported 4-2

3 What is MicroLib MicroLib is a highly-optimized library for ARM-based embedded applications written in C. When compared to the standard C library included with the ARM Compilation Tools, MicroLib provides significant code size advantages required for many embedded systems. 4-3

4 Flash File System - Basics Supported memory devices:  External RAM  External Flash (SPI)  Internal Flash  Memory Cards like SD and MMC cards (used in SPI mode) Default drives:  “R:“ external RAM (“Ram Drive“)  “S:“ external Flash (“SPI Flash device“)  “F:“ internal Flash (“Embedded Flash drive“)  “M:“ external Memory Cards (“Memory Card Drive“) 4-4

5 Flash File System - Basics Up to 4 GByte memory space is supported Supported file system for memorycards are FAT16 or FAT32 All devices can be used parallel Required components:  RL-FlashFS library file  Configuration file File_Config.c The File system may be used with or without RL-RTX The file system integrates with RL-TCP  TFTP server  Webserver upload The File system integrates with RL-USB Mass Storage Class (MSC) 4-5

6 Memory Organization A Flash device is usually divided into flash sectors (Block) – A Flash sector is a memory page which is written cell after cell – The size of a memory cell depends on device architecture  8-bit (byte)  16-bit (half word)  32-bit (word) 4-6

7 Memory Organization – A big file is separated into multiple blocks – Smaller files are stored together in one block Deleting a file:  The whole flash sector has to be erased  Data within this sector which is not to be deleted will be saved within another sector Changing a file:  Changed data is stored into a new sector  The file pointer is actualized  The sector with the old file data is erased 4-7

8 RAM Device Configuring the file system to use the internal RAM of a typical ARM based microcontroller. Not practical in real life - RAM is volatile (unless battery backed) Basic Configuration file: File_Config.c Libraries:  ARM7 & ARM9: FS_ARM_L.lib  Cortex-M3: FS_CM3.lib 4-8

9 RAM device 4-9

10 RAM RAM Device has to be split into logical sectors – Usage without Device Description Table – Device layout is generated automatically by configuration (File_Config.c) – RAM devices need special low-level read/write function – High-level handling is equal to Flash devices 4-10

11 Flash File system functions 4-11

12 Flash File system functions 4-12

13 SD CARD Hardware Wear levelling and error correction Giga bytes of low cost storage 100Mbit/sec data transfer rate Write protection Optional copyright protection Standard communication protocol Independent from the underlying flash technology Typically 100K Writes endurance Low cost 4-13

14 SD CARD 4-14

15 Using Memory Cards Memory cards can be used in  SPI mode or  Native mode Uses the FAT file system Supports no directories or subdirectories Maximum of 512 directory entries File Information Record of each file stores time information too  fs_get_time()  fs_get_date() 4-15

16 SD CARD SPI MODE Uses a SPI Driver for low level functions  - spi_init() Initialize the SPI controller  spi hi speed() Change between high and low SPI mode spi_hi_speed for SPI data transfer  spi_send() Writes and reads a byte on the SPI interface 4-16

17 SD CARD - MCI MODE Uses a MCI Driver for low level functions  mci_init() Initialize the MCI controller  mci_read_sect() Reads a sector from the Flash Memory Card (512 byte)  mci_write_sect() Write a sector to the Flash Memory Card (512 byte)  mci_read_config() Reads Memory Card configuration Memory Card is handled in hardware Communication in Native mode is faster than in SPI mode – MCI Driver:  MCI_LPC23xx.c 4-17


Download ppt "Real-Time Library: Flash File System 1. Flash File System - Basics – The RL-FlashFS allows to create, save, read and modify files – The library functions."

Similar presentations


Ads by Google