This is a "standard" macro name that we shouldn't be overriding.
Namespace this with an FFCONF_ prefix to avoid clashes with other
modules, such as the one currently observed in this twister error:
In file included from /__w/zephyr/modules/fs/fatfs/include/ff.h:29,
from /__w/zephyr/zephyr/subsys/fs/fat_fs.c:16:
/__w/zephyr/modules/fs/fatfs/include/ffconf.h:295: error: "STRINGIZE" redefined [-Werror]
295 | #define STRINGIZE(x) STRINGIZE_AGAIN(x)
|
In file included from /__w/zephyr/modules/hal/silabs/gecko/emlib/inc/em_common.h:34,
from /__w/zephyr/modules/hal/silabs/gecko/emlib/inc/em_core.h:34,
from /__w/zephyr/modules/hal/silabs/gecko/emlib/inc/em_bus.h:34,
from ../../../../../../../soc/arm/silabs_exx32/efm32gg11b/soc.h:25,
from ../../../../../../../include/zephyr/arch/arm/aarch32/cortex_m/cmsis.h:19,
from ../../../../../../../include/zephyr/arch/arm/aarch32/mpu/arm_mpu_v7m.h:11,
from ../../../../../../../include/zephyr/arch/arm/aarch32/mpu/arm_mpu.h:14,
from ../../../../../../../include/zephyr/arch/arm/aarch32/arch.h:266,
from ../../../../../../../include/zephyr/arch/cpu.h:19,
from ../../../../../../../include/zephyr/kernel_includes.h:33,
from ../../../../../../../include/zephyr/kernel.h:17,
from /__w/zephyr/zephyr/subsys/fs/fat_fs.c:9:
/__w/zephyr/modules/hal/silabs/gecko/common/inc/sl_common.h:82: note: this is the location of the previous definition
82 | #define STRINGIZE(X) #X
|
cc1: all warnings being treated as errors
Signed-off-by: Marti Bolivar <marti.bolivar@nordicsemi.no>
The commit updates driver, with changes that have appeared
since last update to version 0.14b, and applies Zephyr compatibility
patches to where required.
Origin: ELM Chan (http://elm-chan.org)
Project URL: http://elm-chan.org/fsw/ff/00index_e.html
Sources: http://elm-chan.org/fsw/ff/arc/ff15.zip
Sources package SHA256:
9b8704000eb8823dc27314f63899d42c995c3f5e4e0be06382c98c90331e01a2
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
ffconf.h gets extended with Zephyr specific code that allows
to include ZEPHYR_CONFIG_OVERRIDE pointed header file with
definitions that override ffconf.h.
This way changes to ffconf.h can be stored with Zephyr directory
tree and it should be easier to update ffconf.h from newer
versions of ELM FAT source.
This allows greater flexibility in doing configuration logic
on Zephyr side.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit removes zfs_diskio.c. File is now provided from
modules/fatfs/ within Zephry project source tree.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit removes CmakeLists.txt and modifies zephyr/module.yml
to allow storing Zephyr specific sources in module/fatfs
directory of Zephyr project.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Zephyr has prefixed all of its includes with <zephyr/...>. While the old
mode can still be used (CONFIG_LEGACY_INCLUDE_PATH) and is still enabled
by default, it's better to be prepared for its removal in the future.
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This is to support Sypnosys Designware SDMMC controller read and write
operation where the buffer address is needed to be 16bytes and 512bytes
aligned. Adding macro FS_FATFS_WINDOW_ALIGNMENT to align the "win"
variable address in FATFS struct.
Signed-off-by: Boon Khai Ng <boon.khai.ng@intel.com>
The commit updates driver, with changes that have appeared
since last update to version 0.12b, and applies Zephyr compatibility
patches to where required.
Origin: ELM Chan (http://elm-chan.org)
Project URL: http://elm-chan.org/fsw/ff/00index_e.html
Sources: http://elm-chan.org/fsw/ff/arc/ff14b.zip
Sources package SHA256:
134d2ce89a96d601c564287387025a852efde9730ad5ecb35d59461658ba8b5f
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add support for variable sector sizes by exposing _MAX_SS as
CONFIG_FS_FATFS_MAX_SS to Kconfig and adding the GET_SECTOR_SIZE IOCTL.
Signed-off-by: Markus Fuchs <markus.fuchs@de.sauter-bc.com>
Expose _VOLUMES as CONFIG_FS_FATFS_VOLUMES to Kconfig to be able to
adjust the number of used logical drives.
Signed-off-by: Markus Fuchs <markus.fuchs@de.sauter-bc.com>
When _USE_LFN is 0 (default), filenames are restricted to 8.3 format.
It's useful to have long filenames as an easily configurable option.
_MAX_LFN and _CODE_PAGE are closely related parameters that determines
character set and max filename length.
Note that value of _USE_LFN determines if LFN working buffer is placed in
BSS, stack, or heap.
Signed-off-by: Audun Korneliussen <audun.korneliussen@nordicsemi.no>
Add support for enabling multiple disk interfaces (Flash, RAM)
simultaneously in Zephyr by introducing a simple disk interface
framework where we can register multiple disks which would
interface with different storage devices. This would enable us
to have multiple instances of FATFS in Zephyr.
Add support for mass storage drive disk name which will be
used as an argument when calling the disk interface API's.
Enable multiple volumes support configuration in
ELM FAT library.
Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
The argument is a u32_t which limits the maximum disk size to 4 GiB.
Rather than fix this, delete the ioctl and switch the only use to
GET_SECTOR_COUNT instead.
Signed-off-by: Michael Hope <mlhx@google.com>
Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.
Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.
This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.
For users that just want to continue their work with minimal
disruption the following should suffice:
Install CMake 3.8.2+
Port any out-of-tree Makefiles to CMake.
Learn the absolute minimum about the new command line interface:
$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..
$ cd build
$ make
PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html
Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
Update elm-chan FAT FS with latest sources. Updated README with changes
made to default configurations.
Change-Id: I3c868479506042d174ac7df360ce62931d8ac5af
Jira: ZEP-1338
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
This patch removes "FAT" from files names, config names and
symbol names so as to avoid confusion, when other modules use
them in a more generic way.
Also flash_disk_access.c and ram_disk_access.c now exports generic
disk_access symbols as defined in include/disk_access.h rather
than FAT specific ones in fs/fat_diskio.h. Thus modules like
USB which need to use disk_access interface is not dependent
on symbols from ELMChan FAT module. Also fat_diskio.h
is removed.
Further the shim between ELM chan and Zephyr is modified as
per these changes.
Change-Id: Ifd80f14a629e467ee9c7a9aaff8a4896eed11982
Signed-off-by: Jithu Joseph <jithu.joseph@intel.com>
The implementation was using different typedefs than the prototypes
in the header.
Issue: ZEP-695
Change-Id: Ia369daafe1bce39830535d184bd4388b13c986b4
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Adds the diskio interface for the FAT file system. This
revision uses RAM to emulate disk storage.
Origin: Original
Jira: ZEP-285
Change-Id: I7a30c8761d5ed9b564f1d1e08482c5ef199d7372
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
Modified the Kconfig flag names to identify external FS
with source. This is required to differentiate between
additional external Fat FS code tht may be added in future.
Jira: ZEP-285
Change-Id: Ief4d11f57494fa1f7ba234182b8b922bc82575cc
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
Update latest revision of the FAT FS code.
Origin: ELM Chan
URL: http://elm-chan.org/fsw/ff/00index_e.html
Change-Id: I602c239055c171595a46986eaa774298117055b6
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>
This implements the top layer of the FAT FS. It exports an user API
that would be abstacted by Zephyr FS API. It has another set of API
to interface with a bottom layer that would provide platform specific
file systems. A flash file system will be implemented for the bottom
layer.
Jira: ZEP-285
Origin: ELM Chan
URL: http://elm-chan.org/fsw/ff/00index_e.html
Change-Id: Id7c99dbdac9612b1a597bd8099b8a528824afae9
Signed-off-by: Ramesh Thomas <ramesh.thomas@intel.com>