mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 07:28:38 +08:00
littlefs: Use LFS_DEFINES if available
This commit is contained in:
parent
9e8e7ace09
commit
fa8d5cd53d
4 changed files with 72 additions and 10 deletions
|
@ -51,16 +51,18 @@ if(CONFIG_FS_LITTLEFS)
|
||||||
|
|
||||||
target_compile_definitions(
|
target_compile_definitions(
|
||||||
fs
|
fs
|
||||||
PRIVATE -DLFS_TRACE=finfo
|
PRIVATE
|
||||||
-DLFS_DEBUG=finfo
|
$<$<NOT:$<BOOL:${CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES}>>:-DLFS_TRACE=finfo>
|
||||||
-DLFS_WARN=fwarn
|
$<$<NOT:$<BOOL:${CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES}>>:-DLFS_DEBUG=finfo>
|
||||||
-DLFS_ERROR=ferr
|
$<$<NOT:$<BOOL:${CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES}>>:-DLFS_WARN=fwarn>
|
||||||
-DLFS_ASSERT=DEBUGASSERT
|
$<$<NOT:$<BOOL:${CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES}>>:-DLFS_ERROR=ferr>
|
||||||
-DLFS_CONFIG=${CMAKE_CURRENT_LIST_DIR}/lfs_vfs.h
|
$<$<NOT:$<BOOL:${CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES}>>:-DLFS_ASSERT=DEBUGASSERT>
|
||||||
-DLFS_NAME_MAX=${CONFIG_FS_LITTLEFS_NAME_MAX}
|
$<$<NOT:$<BOOL:${CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES}>>:-DLFS_CONFIG=${CMAKE_CURRENT_LIST_DIR}/lfs_vfs.h>
|
||||||
-DLFS_FILE_MAX=${CONFIG_FS_LITTLEFS_FILE_MAX}
|
$<$<BOOL:${CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES}>:-DLFS_DEFINES=${CMAKE_CURRENT_LIST_DIR}/lfs_nuttx_defines.h>
|
||||||
-DLFS_ATTR_MAX=${CONFIG_FS_LITTLEFS_ATTR_MAX}
|
-DLFS_NAME_MAX=${CONFIG_FS_LITTLEFS_NAME_MAX}
|
||||||
$<$<BOOL:${CONFIG_FS_LITTLEFS_MULTI_VERSION}>:-DLFS_MULTIVERSION>)
|
-DLFS_FILE_MAX=${CONFIG_FS_LITTLEFS_FILE_MAX}
|
||||||
|
-DLFS_ATTR_MAX=${CONFIG_FS_LITTLEFS_ATTR_MAX}
|
||||||
|
$<$<BOOL:${CONFIG_FS_LITTLEFS_MULTI_VERSION}>:-DLFS_MULTIVERSION>)
|
||||||
|
|
||||||
# Note: the littlefs upstream doesn't seems to care -Wshadow cf.
|
# Note: the littlefs upstream doesn't seems to care -Wshadow cf.
|
||||||
# https://github.com/littlefs-project/littlefs/pull/873
|
# https://github.com/littlefs-project/littlefs/pull/873
|
||||||
|
|
|
@ -129,6 +129,18 @@ config FS_LITTLEFS_LOCAL_PATCHES
|
||||||
patches for LITTLEFS.
|
patches for LITTLEFS.
|
||||||
This is NOT expected to be tweaked directly by users.
|
This is NOT expected to be tweaked directly by users.
|
||||||
|
|
||||||
|
config FS_LITTLEFS_HAS_LFS_DEFINES
|
||||||
|
bool "Use LFS_DEFINES (available for littlefs >=2.10.0)"
|
||||||
|
depends on !FS_LITTLEFS_LOCAL_PATCHES
|
||||||
|
default y
|
||||||
|
---help---
|
||||||
|
Set this y if you are using littlefs versions which supports
|
||||||
|
LFS_DEFINES. (that is, 2.10.0 and later)
|
||||||
|
Otherwise, set this n.
|
||||||
|
|
||||||
|
See the littlefs 2.10.0 release notes about what LFS_DEFINES is.
|
||||||
|
https://github.com/littlefs-project/littlefs/releases/tag/v2.10.0
|
||||||
|
|
||||||
config FS_LITTLEFS_ATTR_UPDATE
|
config FS_LITTLEFS_ATTR_UPDATE
|
||||||
bool "LITTLEFS update attributes"
|
bool "LITTLEFS update attributes"
|
||||||
depends on FS_LITTLEFS_ATTR_MAX > 0
|
depends on FS_LITTLEFS_ATTR_MAX > 0
|
||||||
|
|
|
@ -41,12 +41,17 @@ VPATH += :littlefs/littlefs
|
||||||
# cf. https://github.com/littlefs-project/littlefs/pull/873
|
# cf. https://github.com/littlefs-project/littlefs/pull/873
|
||||||
CFLAGS += -Wno-shadow
|
CFLAGS += -Wno-shadow
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_FS_LITTLEFS_HAS_LFS_DEFINES),y)
|
||||||
|
CFLAGS += -DLFS_DEFINES=../lfs_nuttx_defines.h
|
||||||
|
else
|
||||||
CFLAGS += -DLFS_TRACE=finfo
|
CFLAGS += -DLFS_TRACE=finfo
|
||||||
CFLAGS += -DLFS_DEBUG=finfo
|
CFLAGS += -DLFS_DEBUG=finfo
|
||||||
CFLAGS += -DLFS_WARN=fwarn
|
CFLAGS += -DLFS_WARN=fwarn
|
||||||
CFLAGS += -DLFS_ERROR=ferr
|
CFLAGS += -DLFS_ERROR=ferr
|
||||||
CFLAGS += -DLFS_ASSERT=DEBUGASSERT
|
CFLAGS += -DLFS_ASSERT=DEBUGASSERT
|
||||||
CFLAGS += -DLFS_CONFIG=../lfs_vfs.h
|
CFLAGS += -DLFS_CONFIG=../lfs_vfs.h
|
||||||
|
endif
|
||||||
|
|
||||||
CFLAGS += -DLFS_NAME_MAX=$(CONFIG_FS_LITTLEFS_NAME_MAX)
|
CFLAGS += -DLFS_NAME_MAX=$(CONFIG_FS_LITTLEFS_NAME_MAX)
|
||||||
CFLAGS += -DLFS_FILE_MAX=$(CONFIG_FS_LITTLEFS_FILE_MAX)
|
CFLAGS += -DLFS_FILE_MAX=$(CONFIG_FS_LITTLEFS_FILE_MAX)
|
||||||
CFLAGS += -DLFS_ATTR_MAX=$(CONFIG_FS_LITTLEFS_ATTR_MAX)
|
CFLAGS += -DLFS_ATTR_MAX=$(CONFIG_FS_LITTLEFS_ATTR_MAX)
|
||||||
|
|
43
fs/littlefs/lfs_nuttx_defines.h
Normal file
43
fs/littlefs/lfs_nuttx_defines.h
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
/****************************************************************************
|
||||||
|
* fs/littlefs/lfs_nuttx_defines.h
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
|
*
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright ownership. The
|
||||||
|
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance with the
|
||||||
|
* License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
* License for the specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Included Files
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <debug.h>
|
||||||
|
|
||||||
|
#include "fs_heap.h"
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#define LFS_TRACE finfo
|
||||||
|
#define LFS_DEBUG finfo
|
||||||
|
#define LFS_WARN fwarn
|
||||||
|
#define LFS_ERROR ferr
|
||||||
|
|
||||||
|
#define LFS_ASSERT DEBUGASSERT
|
||||||
|
|
||||||
|
#define LFS_MALLOC(sz) fs_heap_malloc(sz)
|
||||||
|
#define LFS_FREE(p) fs_heap_free(p)
|
Loading…
Reference in a new issue