mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-28 05:01:28 +03:00
littlefs: fixes for mock/emulation, use in FSBrowser example (#6211)
* littlefs: fixes for mock/emulation, use in FSBrowser example * emulation: makefile: integrate arch size into object file names
This commit is contained in:
@ -26,6 +26,7 @@ $(warning Cannot compile in 32 bit mode, switching to native mode)
|
||||
else
|
||||
N32 = 32
|
||||
M32 = -m32
|
||||
E32 = .32
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -106,9 +107,9 @@ MOCK_CPP_FILES_EMU := $(MOCK_CPP_FILES_COMMON) $(addprefix common/,\
|
||||
ArduinoMain.cpp \
|
||||
ArduinoMainUdp.cpp \
|
||||
ArduinoMainSpiffs.cpp \
|
||||
ArduinoMainLittlefs.cpp \
|
||||
user_interface.cpp \
|
||||
)
|
||||
#(not in tree) ArduinoMainLittlefs.cpp
|
||||
|
||||
MOCK_C_FILES := $(addprefix common/,\
|
||||
md5.c \
|
||||
@ -163,10 +164,10 @@ remduplicates = $(strip $(if $1,$(firstword $1) $(call remduplicates,$(filter-ou
|
||||
|
||||
C_SOURCE_FILES = $(MOCK_C_FILES) $(CORE_C_FILES)
|
||||
CPP_SOURCE_FILES = $(MOCK_CPP_FILES) $(CORE_CPP_FILES) $(TEST_CPP_FILES)
|
||||
C_OBJECTS = $(C_SOURCE_FILES:.c=.c.o)
|
||||
C_OBJECTS = $(C_SOURCE_FILES:.c=.c$(E32).o)
|
||||
|
||||
CPP_OBJECTS_CORE = $(MOCK_CPP_FILES:.cpp=.cpp.o) $(CORE_CPP_FILES:.cpp=.cpp.o)
|
||||
CPP_OBJECTS_TESTS = $(TEST_CPP_FILES:.cpp=.cpp.o)
|
||||
CPP_OBJECTS_CORE = $(MOCK_CPP_FILES:.cpp=.cpp$(E32).o) $(CORE_CPP_FILES:.cpp=.cpp$(E32).o)
|
||||
CPP_OBJECTS_TESTS = $(TEST_CPP_FILES:.cpp=.cpp$(E32).o)
|
||||
|
||||
CPP_OBJECTS = $(CPP_OBJECTS_CORE) $(CPP_OBJECTS_TESTS)
|
||||
|
||||
@ -183,7 +184,10 @@ doCI: build-info $(OUTPUT_BINARY) valgrind test gcov
|
||||
test: $(OUTPUT_BINARY) # run host test for CI
|
||||
$(OUTPUT_BINARY)
|
||||
|
||||
clean: clean-objects clean-coverage # clean everything
|
||||
clean:
|
||||
make FORCE32=0 cleanarch; make FORCE32=1 cleanarch
|
||||
|
||||
cleanarch: clean-objects clean-coverage # clean everything
|
||||
rm -rf $(BINDIR)
|
||||
|
||||
clean-objects:
|
||||
@ -215,11 +219,11 @@ build-info: # show toolchain version
|
||||
-include $(BINDIR)/.*.d
|
||||
.SUFFIXES:
|
||||
|
||||
%.c.o: %.c
|
||||
%.c$(E32).o: %.c
|
||||
$(VERBC) $(CC) $(PREINCLUDES) $(CFLAGS) $(INC_PATHS) -MD -MF $(BINDIR)/.$(notdir $<).d -c -o $@ $<
|
||||
|
||||
.PRECIOUS: %.cpp.o
|
||||
%.cpp.o: %.cpp
|
||||
.PRECIOUS: %.cpp$(E32).o
|
||||
%.cpp$(E32).o: %.cpp
|
||||
$(VERBCXX) $(CXX) $(PREINCLUDES) $(CXXFLAGS) $(INC_PATHS) -MD -MF $(BINDIR)/.$(notdir $<).d -c -o $@ $<
|
||||
|
||||
$(BINDIR)/core.a: $(C_OBJECTS) $(CPP_OBJECTS_CORE)
|
||||
@ -307,13 +311,13 @@ USERLIBDIRS = $(shell test -z "$(ULIBPATHS)" || for d in $(ULIBPATHS); do for dd
|
||||
USERLIBSRCS = $(shell test -z "$(ULIBPATHS)" || for d in $(ULIBPATHS); do for ss in $$d/*.cpp $$d/src/*.cpp; do test -r $$ss && echo $$ss; done; done)
|
||||
INC_PATHS += $(USERLIBDIRS)
|
||||
INC_PATHS += -I$(INODIR)/..
|
||||
CPP_OBJECTS_CORE_EMU = $(CPP_SOURCES_CORE_EMU:.cpp=.cpp.o) $(USERLIBSRCS:.cpp=.cpp.o)
|
||||
CPP_OBJECTS_CORE_EMU = $(CPP_SOURCES_CORE_EMU:.cpp=.cpp$(E32).o) $(USERLIBSRCS:.cpp=.cpp$(E32).o)
|
||||
|
||||
bin/fullcore.a: $(C_OBJECTS) $(CPP_OBJECTS_CORE_EMU)
|
||||
$(VERBAR) ar -rcu $@ $^
|
||||
$(VERBAR) ranlib -c $@
|
||||
|
||||
%: %.ino.cpp.o bin/fullcore.a
|
||||
%: %.ino.cpp$(E32).o bin/fullcore.a
|
||||
$(VERBLD) $(CXX) $(LDFLAGS) $< bin/fullcore.a $(LIBSSL) -o $@
|
||||
@echo "----> $@ <----"
|
||||
|
||||
|
17
tests/host/common/ArduinoMainLittlefs.cpp
Normal file
17
tests/host/common/ArduinoMainLittlefs.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
|
||||
#include "littlefs_mock.h"
|
||||
|
||||
LittleFSMock* littlefs_mock = nullptr;
|
||||
|
||||
void mock_start_littlefs (const String& fname, size_t size_kb, size_t block_kb, size_t page_b)
|
||||
{
|
||||
littlefs_mock = new LittleFSMock(size_kb * 1024, block_kb * 1024, page_b, fname);
|
||||
}
|
||||
|
||||
void mock_stop_littlefs ()
|
||||
{
|
||||
if (littlefs_mock)
|
||||
delete littlefs_mock;
|
||||
littlefs_mock = nullptr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user