TFLu: Update Stm32f4 target
Some tests were filtered out that are now working. The enclosing ifdef TARGET is no longer needed.
This commit is contained in:
parent
3c427d4fa4
commit
b3d4f8eac2
@ -27,7 +27,7 @@ limitations under the License.
|
|||||||
|
|
||||||
// Create an area of memory to use for input, output, and intermediate arrays.
|
// Create an area of memory to use for input, output, and intermediate arrays.
|
||||||
constexpr int tensor_arena_size = 93 * 1024;
|
constexpr int tensor_arena_size = 93 * 1024;
|
||||||
uint8_t tensor_arena[tensor_arena_size];
|
__attribute__((section(".bss.NoInit"), aligned(16))) uint8_t tensor_arena[tensor_arena_size];
|
||||||
|
|
||||||
TF_LITE_MICRO_TESTS_BEGIN
|
TF_LITE_MICRO_TESTS_BEGIN
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ Should Run Stm32f4 Test
|
|||||||
Execute Command $bin = @${BIN}
|
Execute Command $bin = @${BIN}
|
||||||
Execute Script ${SCRIPT}
|
Execute Script ${SCRIPT}
|
||||||
|
|
||||||
Create Terminal Tester ${UART} timeout=30
|
Create Terminal Tester ${UART} timeout=60
|
||||||
Start Emulation
|
Start Emulation
|
||||||
|
|
||||||
Wait For Line On Uart ${EXPECTED}
|
Wait For Line On Uart ${EXPECTED}
|
||||||
|
@ -1,87 +1,82 @@
|
|||||||
# Settings for stm32f4 based platforms
|
# Settings for stm32f4 based platforms
|
||||||
ifeq ($(TARGET), stm32f4)
|
|
||||||
export PATH := $(MAKEFILE_DIR)/downloads/gcc_embedded/bin/:$(PATH)
|
|
||||||
TARGET_ARCH := cortex-m4
|
|
||||||
TARGET_TOOLCHAIN_PREFIX := arm-none-eabi-
|
|
||||||
TARGET_TOOLCHAIN_ROOT := $(TENSORFLOW_ROOT)$(MAKEFILE_DIR)/downloads/gcc_embedded/bin/
|
|
||||||
|
|
||||||
$(eval $(call add_third_party_download,$(GCC_EMBEDDED_URL),$(GCC_EMBEDDED_MD5),gcc_embedded,))
|
export PATH := $(MAKEFILE_DIR)/downloads/gcc_embedded/bin/:$(PATH)
|
||||||
$(eval $(call add_third_party_download,$(CMSIS_URL),$(CMSIS_MD5),cmsis,patch_cmsis))
|
TARGET_ARCH := cortex-m4
|
||||||
$(eval $(call add_third_party_download,$(STM32_BARE_LIB_URL),$(STM32_BARE_LIB_MD5),stm32_bare_lib,))
|
TARGET_TOOLCHAIN_PREFIX := arm-none-eabi-
|
||||||
|
TARGET_TOOLCHAIN_ROOT := $(TENSORFLOW_ROOT)$(MAKEFILE_DIR)/downloads/gcc_embedded/bin/
|
||||||
|
|
||||||
# TODO(b/161478030) : change - Wno - vla to - Wvla and remove - Wno-shadow once
|
$(eval $(call add_third_party_download,$(GCC_EMBEDDED_URL),$(GCC_EMBEDDED_MD5),gcc_embedded,))
|
||||||
# we have a solution for fixing / avoiding being tripped up by these warnings.
|
$(eval $(call add_third_party_download,$(CMSIS_URL),$(CMSIS_MD5),cmsis,patch_cmsis))
|
||||||
PLATFORM_FLAGS = \
|
$(eval $(call add_third_party_download,$(STM32_BARE_LIB_URL),$(STM32_BARE_LIB_MD5),stm32_bare_lib,))
|
||||||
-DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
|
|
||||||
-DTF_LITE_STATIC_MEMORY \
|
|
||||||
-DTF_LITE_MCU_DEBUG_LOG \
|
|
||||||
-fmessage-length=0 \
|
|
||||||
-fno-exceptions \
|
|
||||||
-fno-unwind-tables \
|
|
||||||
-ffunction-sections \
|
|
||||||
-fdata-sections \
|
|
||||||
-funsigned-char \
|
|
||||||
-MMD \
|
|
||||||
-mcpu=cortex-m4 \
|
|
||||||
-mthumb \
|
|
||||||
-Wall \
|
|
||||||
-Wextra \
|
|
||||||
-Wno-shadow \
|
|
||||||
-Wno-vla \
|
|
||||||
-Wno-strict-aliasing \
|
|
||||||
-Wno-type-limits \
|
|
||||||
-Wno-unused-parameter \
|
|
||||||
-Wno-missing-field-initializers \
|
|
||||||
-Wno-write-strings \
|
|
||||||
-Wno-sign-compare \
|
|
||||||
-Wunused-function \
|
|
||||||
-fno-delete-null-pointer-checks \
|
|
||||||
-fomit-frame-pointer \
|
|
||||||
-g \
|
|
||||||
-Os
|
|
||||||
CXXFLAGS += $(PLATFORM_FLAGS) -std=gnu++11 -fno-rtti -fno-use-cxa-atexit
|
|
||||||
CCFLAGS += $(PLATFORM_FLAGS)
|
|
||||||
LDFLAGS += \
|
|
||||||
--specs=nosys.specs \
|
|
||||||
-T ${TENSORFLOW_ROOT}$(MAKEFILE_DIR)/targets/stm32f4/stm32f4.lds \
|
|
||||||
-Wl,-Map=${TENSORFLOW_ROOT}$(MAKEFILE_DIR)/gen/$(TARGET).map,--cref \
|
|
||||||
-Wl,--gc-sections
|
|
||||||
BUILD_TYPE := micro
|
|
||||||
MICROLITE_LIBS := \
|
|
||||||
-lm
|
|
||||||
INCLUDES += \
|
|
||||||
-isystem$(MAKEFILE_DIR)/downloads/cmsis/CMSIS/Core/Include/ \
|
|
||||||
-I$(MAKEFILE_DIR)/downloads/stm32_bare_lib/include/
|
|
||||||
THIRD_PARTY_CC_SRCS += \
|
|
||||||
$(wildcard $(MAKEFILE_DIR)/downloads/stm32_bare_lib/source/*.c) \
|
|
||||||
$(wildcard $(MAKEFILE_DIR)/downloads/stm32_bare_lib/source/*.cc)
|
|
||||||
EXCLUDED_SRCS := \
|
|
||||||
$(MAKEFILE_DIR)/downloads/stm32_bare_lib/source/debug_log.c
|
|
||||||
THIRD_PARTY_CC_SRCS := $(filter-out $(EXCLUDED_SRCS), $(THIRD_PARTY_CC_SRCS))
|
|
||||||
MICROLITE_CC_SRCS := $(filter-out $(EXCLUDED_SRCS), $(MICROLITE_CC_SRCS))
|
|
||||||
TEST_SCRIPT := tensorflow/lite/micro/testing/test_stm32f4_binary.sh
|
|
||||||
# TODO, non working tests.. the micro_speech example partly works
|
|
||||||
# TODO(b/158324045): Examine why some tests fail here.
|
|
||||||
|
|
||||||
EXCLUDED_TESTS := \
|
# TODO(b/161478030) : change - Wno - vla to - Wvla and remove - Wno-shadow once
|
||||||
tensorflow/lite/micro/micro_interpreter_test.cc \
|
# we have a solution for fixing / avoiding being tripped up by these warnings.
|
||||||
tensorflow/lite/micro/micro_allocator_test.cc \
|
PLATFORM_FLAGS = \
|
||||||
tensorflow/lite/micro/memory_helpers_test.cc \
|
-DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
|
||||||
tensorflow/lite/micro/memory_arena_threshold_test.cc \
|
-DTF_LITE_STATIC_MEMORY \
|
||||||
tensorflow/lite/micro/recording_micro_allocator_test.cc \
|
-DTF_LITE_MCU_DEBUG_LOG \
|
||||||
tensorflow/lite/micro/kernels/circular_buffer_test.cc \
|
-fmessage-length=0 \
|
||||||
tensorflow/lite/micro/kernels/conv_test.cc \
|
-fno-exceptions \
|
||||||
tensorflow/lite/micro/kernels/fully_connected_test.cc
|
-fno-unwind-tables \
|
||||||
|
-ffunction-sections \
|
||||||
|
-fdata-sections \
|
||||||
|
-funsigned-char \
|
||||||
|
-MMD \
|
||||||
|
-mcpu=cortex-m4 \
|
||||||
|
-mthumb \
|
||||||
|
-Wall \
|
||||||
|
-Wextra \
|
||||||
|
-Wno-shadow \
|
||||||
|
-Wno-vla \
|
||||||
|
-Wno-strict-aliasing \
|
||||||
|
-Wno-type-limits \
|
||||||
|
-Wno-unused-parameter \
|
||||||
|
-Wno-missing-field-initializers \
|
||||||
|
-Wno-write-strings \
|
||||||
|
-Wno-sign-compare \
|
||||||
|
-Wunused-function \
|
||||||
|
-fno-delete-null-pointer-checks \
|
||||||
|
-fomit-frame-pointer \
|
||||||
|
-g \
|
||||||
|
-Os
|
||||||
|
CXXFLAGS += $(PLATFORM_FLAGS) -std=gnu++11 -fno-rtti -fno-use-cxa-atexit
|
||||||
|
CCFLAGS += $(PLATFORM_FLAGS)
|
||||||
|
LDFLAGS += \
|
||||||
|
--specs=nosys.specs \
|
||||||
|
-T ${TENSORFLOW_ROOT}$(MAKEFILE_DIR)/targets/stm32f4/stm32f4.lds \
|
||||||
|
-Wl,-Map=${TENSORFLOW_ROOT}$(MAKEFILE_DIR)/gen/$(TARGET).map,--cref \
|
||||||
|
-Wl,--gc-sections
|
||||||
|
BUILD_TYPE := micro
|
||||||
|
MICROLITE_LIBS := \
|
||||||
|
-lm
|
||||||
|
INCLUDES += \
|
||||||
|
-isystem$(MAKEFILE_DIR)/downloads/cmsis/CMSIS/Core/Include/ \
|
||||||
|
-I$(MAKEFILE_DIR)/downloads/stm32_bare_lib/include/
|
||||||
|
THIRD_PARTY_CC_SRCS += \
|
||||||
|
$(wildcard $(MAKEFILE_DIR)/downloads/stm32_bare_lib/source/*.c) \
|
||||||
|
$(wildcard $(MAKEFILE_DIR)/downloads/stm32_bare_lib/source/*.cc)
|
||||||
|
EXCLUDED_SRCS := \
|
||||||
|
$(MAKEFILE_DIR)/downloads/stm32_bare_lib/source/debug_log.c
|
||||||
|
THIRD_PARTY_CC_SRCS := $(filter-out $(EXCLUDED_SRCS), $(THIRD_PARTY_CC_SRCS))
|
||||||
|
MICROLITE_CC_SRCS := $(filter-out $(EXCLUDED_SRCS), $(MICROLITE_CC_SRCS))
|
||||||
|
TEST_SCRIPT := tensorflow/lite/micro/testing/test_stm32f4_binary.sh
|
||||||
|
|
||||||
MICROLITE_TEST_SRCS := $(filter-out $(EXCLUDED_TESTS), $(MICROLITE_TEST_SRCS))
|
# TODO(b/158324045): Examine why some tests fail here.
|
||||||
|
EXCLUDED_TESTS := \
|
||||||
|
tensorflow/lite/micro/micro_interpreter_test.cc \
|
||||||
|
tensorflow/lite/micro/micro_allocator_test.cc \
|
||||||
|
tensorflow/lite/micro/memory_helpers_test.cc \
|
||||||
|
tensorflow/lite/micro/memory_arena_threshold_test.cc \
|
||||||
|
tensorflow/lite/micro/recording_micro_allocator_test.cc \
|
||||||
|
tensorflow/lite/micro/kernels/circular_buffer_test.cc
|
||||||
|
MICROLITE_TEST_SRCS := $(filter-out $(EXCLUDED_TESTS), $(MICROLITE_TEST_SRCS))
|
||||||
|
|
||||||
EXCLUDED_EXAMPLE_TESTS := \
|
EXCLUDED_EXAMPLE_TESTS := \
|
||||||
tensorflow/lite/micro/examples/magic_wand/Makefile.inc \
|
tensorflow/lite/micro/examples/magic_wand/Makefile.inc \
|
||||||
tensorflow/lite/micro/examples/person_detection/Makefile.inc \
|
tensorflow/lite/micro/examples/micro_speech/Makefile.inc \
|
||||||
tensorflow/lite/micro/examples/person_detection_experimental/Makefile.inc \
|
tensorflow/lite/micro/examples/person_detection_experimental/Makefile.inc \
|
||||||
tensorflow/lite/micro/examples/micro_speech/Makefile.inc \
|
tensorflow/lite/micro/examples/image_recognition_experimental/Makefile.inc
|
||||||
tensorflow/lite/micro/examples/image_recognition_experimental/Makefile.inc
|
MICRO_LITE_EXAMPLE_TESTS := $(filter-out $(EXCLUDED_EXAMPLE_TESTS), $(MICRO_LITE_EXAMPLE_TESTS))
|
||||||
MICRO_LITE_EXAMPLE_TESTS := $(filter-out $(EXCLUDED_EXAMPLE_TESTS), $(MICRO_LITE_EXAMPLE_TESTS))
|
|
||||||
|
|
||||||
# These are microcontroller-specific rules for converting the ELF output
|
# These are microcontroller-specific rules for converting the ELF output
|
||||||
# of the linker into a binary image that can be loaded directly.
|
# of the linker into a binary image that can be loaded directly.
|
||||||
@ -91,4 +86,3 @@ $(BINDIR)/%.bin: $(BINDIR)/%
|
|||||||
@mkdir -p $(dir $@)
|
@mkdir -p $(dir $@)
|
||||||
$(OBJCOPY) $< $@ -O binary
|
$(OBJCOPY) $< $@ -O binary
|
||||||
|
|
||||||
endif
|
|
||||||
|
Loading…
Reference in New Issue
Block a user