The chapters below describe migration from an existing project using File System library before version 8.
There are three major changes in File System version 8 that affect how File System components get selected.
Bundle MDK has replaced bundles MDK-Pro and MDK-Plus
Where applicable replace components:
with components that reference bundle MDK:
Legacy Standard C Library retarget components are no longer supported
This means that using components from the CMSIS-Compiler is now mandatory. Nevertheless, migrating from Compiler to CMSIS-Compiler components is straightforward.
To migrate your project replace component:
with components from CMSIS-Compiler class:
Components from Compiler and CMSIS-Compiler are incompatible and cannot coexist hence all other components from Compiler class must also be migrated to components from CMSIS-Compiler:
Migrate components:
Event Recorder component is now part of CMSIS-View class
If your project is configured for debugging then you need to replace component:
with component from CMSIS-View class:
In general two major changes were made to the File System version 8 configuration files and affect how File System gets configured.
The core configuration has been moved from C source file to C header file
To migrate configuration of an existing project use compare/merge tool on the following files:
Note: FS_Config.h does not have configuration for Initial Current Drive anymore. To understand how current drive is set see chapter Current Drive.
Drive configuration changed the way how drive cache and drive buffer placement works
On microcontrollers where DMA has limited access to memory areas one must place drive buffers into the appropriate memory in order for peripheral driver to work. In File System version 8 this is supported by placing drive buffer in a dedicated section which must be properly located with the toolchain linker script.
The latest drive configuration files contain a define named **_CACHE_SECTION** where one can define the section name.
For example:
When using RAM drive one can move the file system data buffer (buffer that holds directories, files and files content) into a specific memory. The latest drive configuration file supports this by using define **_SECTION**.
The define for RAM drive 0 looks like shown below:
To migrate configuration of an existing project use compare/merge tool on drive configuration files and update toolchain linker script to support defined sections.