Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

TensorFlow Lite を RISC-V で


いつものように、TensorFlow のソースコードを眺めていたら、見つけました。

TensorFlow Liteで、Raspberry Pi をサポートは、既にわかっていたことですが。。。

なんと、RISC-Vも。。。

riscv_makefile.inc
# Settings for RiscV platforms.
ifeq ($(TARGET), riscv)
  TARGET_ARCH := riscv
  TARGET_TOOLCHAIN_PREFIX := riscv32-unknown-elf-

  #CXXFLAGS += -march=gap8
  CXXFLAGS += -DTFLITE_MCU
	LIBS += -ldl
	BUILD_TYPE := micro
endif

それだけでなく、Cortex M1 の STM32F1
# Settings for STM32F1 platforms.
ifeq ($(TARGET), stm32f1)
  TARGET_ARCH := armm1
  TARGET_TOOLCHAIN_PREFIX := arm-none-eabi-

  CXXFLAGS += \
  -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
  -mcpu=cortex-m1 \
  -mthumb \
  -DTFLITE_MCU \
  -fno-rtti \
  -fmessage-length=0 \
  -fno-exceptions \
  -fno-builtin \
  -ffunction-sections \
  -fdata-sections \
  -funsigned-char \
  -MMD
	LIBS += -ldl
	BUILD_TYPE := micro
endif
や、Corex-M7 の STM32F7
# Settings for STM32F7 platforms.
ifeq ($(TARGET), stm32f7)
  TARGET_ARCH := armf7
  TARGET_TOOLCHAIN_PREFIX := arm-none-eabi-

  CXXFLAGS += \
    -DGEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK \
    -DTFLITE_MCU \
    -fno-rtti \
    -fmessage-length=0 \
    -fno-exceptions \
    -fno-builtin \
    -ffunction-sections \
    -fdata-sections \
    -funsigned-char \
    -MMD \
    -mcpu=cortex-m7 \
    -mthumb \
    -mfpu=fpv5-sp-d16 \
    -mfloat-abi=softfp \
    -std=gnu++11 \
    -fno-rtti \
    -Wvla \
    -c \
    -Wall \
    -Wextra \
    -Wno-unused-parameter \
    -Wno-missing-field-initializers \
    -fmessage-length=0 \
    -fno-exceptions \
    -fno-builtin \
    -ffunction-sections \
    -fdata-sections \
    -funsigned-char \
    -MMD \
    -fno-delete-null-pointer-checks \
    -fomit-frame-pointer \
    -Os
 	LIBS += -ldl
	BUILD_TYPE := micro
endif