blob: d0ddc98ec2d7957c4eb26df861ae3c0546874bdd [file]
TARGET_ARCH :=
ifeq ($(TARGET_ARCH), )
$(error TARGET_ARCH must be specified on the command line)
endif
# Create a cflag based on the specified TARGET_ARCH. For example:
# TARGET_ARCH=CEVA_BX1 --> -DCEVA_BX1
# TARGET_ARCH=CEVA_SP500 --> -DCEVA_SP500
TARGET_ARCH_DEFINES := -D$(shell echo $(TARGET_ARCH) | tr [a-z] [A-Z])
CORE_OPTIMIZATION_LEVEL := -O4
#no need for -lm:
MICROLITE_LIBS :=
TARGET_TOOLCHAIN_PREFIX :=
CXX_TOOL = clang++
CC_TOOL = clang
LD_TOOL = ceva-elf-ld
LD = ceva-elf-ld
AR = ceva-elf-ar
PLATFORM_FLAGS = \
$(TARGET_ARCH_DEFINES) \
-fmessage-length=0 \
-fpermissive \
-O4 \
-g3 \
-Wall \
-pedantic \
-D_LIBCPP_INLINE_VISIBILITY="" \
-D_LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY=""
CXXFLAGS := -std=c++17 -DTF_LITE_STATIC_MEMORY
CCFLAGS := -std=c17 -DTF_LITE_STATIC_MEMORY
ifeq ($(TARGET_ARCH), CEVA_BX1)
PLATFORM_FLAGS += \
--target=cevabx1-elf \
-mcpu=cevabx1v1.0.0 \
-m32x32 \
-mgetbits \
-mloop-buffer-size=10 \
-mfp=1 \
-mdpfp=1
LDFLAGS += \
-T \
tensorflow/lite/micro/tools/make/targets/ceva/CEVA_BX1_TFLM_18.0.5.ld \
-L${TARGET_TOOLCHAIN_ROOT}_cevatools/lib/clang/9.0.1/cevabx1-unknown-unknown-elf/rtlv1.0.0-fp1-dpfp1/lib/ \
-lc++ -lc++abi -lc -lcompiler-rt -lCEVA_TFLM_lib -lceva_dsp_lib \
--for-linker --no-relax \
--for-linker --no-gc-sections \
--for-linker -defsym \
--for-linker __internal_data_size=2048k \
--for-linker -defsym \
--for-linker __internal_code_size=256k \
endif
ifeq ($(TARGET_ARCH), CEVA_SP500)
PLATFORM_FLAGS = \
-pedantic \
-Wa,--no-rstr-check \
--target=senspro-elf \
-mcpu=sensprov1.0.0 \
-mvu=1 \
-mno-vld2 \
-mvmpyv5 \
-mvmpyext -mnonlinear=1 -mno-vbnn -mvhist \
-mlvu=1 \
-mfp=2 \
-mdpfp=2 \
-mvfp=1
LDFLAGS += \
--no-relax --no-gc-sections \
-defsym __internal_code_size=0k \
-defsym __internal_data_size=512k
endif
CXXFLAGS += $(PLATFORM_FLAGS)
CCFLAGS += $(PLATFORM_FLAGS)
MICROLITE_CC_HDRS += \
tensorflow/lite/micro/kernels/ceva/ceva_tflm_lib.h \
tensorflow/lite/micro/kernels/ceva/types.h \
tensorflow/lite/micro/kernels/ceva/ceva_common.h
MICROLITE_CC_SRCS += \
tensorflow/lite/micro/kernels/ceva/ceva_common.cc