forked from xuos/xiuos
solve the compile problem of tflite in xiuos
This commit is contained in:
@@ -1,7 +1,13 @@
|
||||
menu "knowing app"
|
||||
source "$APP_DIR/Applications/knowing_app/mnist/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/face_detect/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/instrusion_detect/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/helmet_detect/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/iris_ml_demo/Kconfig"
|
||||
menuconfig APPLICATION_KNOWING
|
||||
bool "Using knowing apps"
|
||||
default n
|
||||
|
||||
if APPLICATION_KNOWING
|
||||
source "$APP_DIR/Applications/knowing_app/mnist/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/face_detect/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/instrusion_detect/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/helmet_detect/Kconfig"
|
||||
source "$APP_DIR/Applications/knowing_app/iris_ml_demo/Kconfig"
|
||||
endif
|
||||
endmenu
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
SRC_DIR := mnist
|
||||
|
||||
include $(KERNEL_ROOT)/compiler.mk
|
||||
7
APP_Framework/Applications/knowing_app/mnist/Makefile
Executable file
7
APP_Framework/Applications/knowing_app/mnist/Makefile
Executable file
@@ -0,0 +1,7 @@
|
||||
SRC_FILES := \
|
||||
main.cpp \
|
||||
mnistmain.c
|
||||
CPPPATHS += -I.
|
||||
|
||||
|
||||
include $(KERNEL_ROOT)/compiler.mk
|
||||
@@ -1,3 +1,4 @@
|
||||
#include <cstdio>
|
||||
#include <transform.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
31
APP_Framework/Applications/knowing_app/mnist/mnistmain.c
Normal file
31
APP_Framework/Applications/knowing_app/mnist/mnistmain.c
Normal file
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright (c) 2020 AIIT XUOS Lab
|
||||
* XiOS is licensed under Mulan PSL v2.
|
||||
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
||||
* You may obtain a copy of Mulan PSL v2 at:
|
||||
* http://license.coscl.org.cn/MulanPSL2
|
||||
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
* See the Mulan PSL v2 for more details.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file: mnistmain.c
|
||||
* @brief: start mnist function
|
||||
* @version: 1.0
|
||||
* @author: AIIT XUOS Lab
|
||||
* @date: 2021/4/30
|
||||
*
|
||||
*/
|
||||
|
||||
#include <transform.h>
|
||||
|
||||
void mnist_app(void);
|
||||
|
||||
int tfmnist(void) {
|
||||
mnist_app();
|
||||
}
|
||||
// #ifndef SEPARATE_COMPILE
|
||||
// SHELL_EXPORT_CMD(SHELL_CMD_PERMISSION(0)|SHELL_CMD_TYPE(SHELL_TYPE_CMD_FUNC)|SHELL_CMD_PARAM_NUM(0)|SHELL_CMD_DISABLE_RETURN, tfmnist, tfmnist, run mnist demo of tflite);
|
||||
// #endif
|
||||
@@ -9,7 +9,7 @@ ifeq ($(CONFIG_SUPPORT_CONNECTION_FRAMEWORK),y)
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SUPPORT_KNOWING_FRAMEWORK),y)
|
||||
SRC_DIR += know
|
||||
SRC_DIR += knowing
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SUPPORT_CONTROL_FRAMEWORK),y)
|
||||
|
||||
@@ -1,13 +1,4 @@
|
||||
SRC_DIR :=
|
||||
ifeq ($(CONFIG_SUPPORT_KNOW_FRAMEWORK),y)
|
||||
ifeq ($(CONFIG_USING_TFLITE_MNIST),y)
|
||||
SRC_DIR += tflite_mnist
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_USING_TFLITE_SIN),y)
|
||||
SRC_DIR += tflite_sin
|
||||
endif
|
||||
endif
|
||||
SRC_DIR := tensorflow-lite
|
||||
|
||||
|
||||
include $(KERNEL_ROOT)/compiler.mk
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
menuconfig USING_TENSORFLOWLITEMICRO
|
||||
bool "Tensorflow Lite for Micro"
|
||||
select RT_USING_CPLUSPLUS
|
||||
select LIB_CPLUSPLUS
|
||||
default n
|
||||
|
||||
if USING_TENSORFLOWLITEMICRO
|
||||
|
||||
3
APP_Framework/Framework/knowing/tensorflow-lite/Makefile
Normal file
3
APP_Framework/Framework/knowing/tensorflow-lite/Makefile
Normal file
@@ -0,0 +1,3 @@
|
||||
SRC_DIR := tensorflow-lite-for-mcu
|
||||
|
||||
include $(KERNEL_ROOT)/compiler.mk
|
||||
@@ -0,0 +1,90 @@
|
||||
TFLITE_SRCS = \
|
||||
source/tensorflow/lite/micro/all_ops_resolver.cc \
|
||||
source/tensorflow/lite/micro/debug_log.cc \
|
||||
source/tensorflow/lite/micro/memory_helpers.cc \
|
||||
source/tensorflow/lite/micro/micro_allocator.cc \
|
||||
source/tensorflow/lite/micro/micro_error_reporter.cc \
|
||||
source/tensorflow/lite/micro/micro_interpreter.cc \
|
||||
source/tensorflow/lite/micro/micro_profiler.cc \
|
||||
source/tensorflow/lite/micro/micro_string.cc \
|
||||
source/tensorflow/lite/micro/micro_time.cc \
|
||||
source/tensorflow/lite/micro/micro_utils.cc \
|
||||
source/tensorflow/lite/micro/recording_micro_allocator.cc \
|
||||
source/tensorflow/lite/micro/recording_simple_memory_allocator.cc \
|
||||
source/tensorflow/lite/micro/simple_memory_allocator.cc \
|
||||
source/tensorflow/lite/micro/test_helpers.cc \
|
||||
source/tensorflow/lite/micro/benchmarks/keyword_scrambled_model_data.cc \
|
||||
source/tensorflow/lite/micro/memory_planner/greedy_memory_planner.cc \
|
||||
source/tensorflow/lite/micro/memory_planner/linear_memory_planner.cc \
|
||||
source/tensorflow/lite/micro/testing/test_conv_model.cc \
|
||||
source/tensorflow/lite/c/common.c \
|
||||
source/tensorflow/lite/core/api/error_reporter.cc \
|
||||
source/tensorflow/lite/core/api/flatbuffer_conversions.cc \
|
||||
source/tensorflow/lite/core/api/op_resolver.cc \
|
||||
source/tensorflow/lite/core/api/tensor_utils.cc \
|
||||
source/tensorflow/lite/kernels/internal/quantization_util.cc \
|
||||
source/tensorflow/lite/kernels/kernel_util.cc \
|
||||
source/tensorflow/lite/schema/schema_utils.cc \
|
||||
source/tensorflow/lite/micro/kernels/activations.cc \
|
||||
source/tensorflow/lite/micro/kernels/arg_min_max.cc \
|
||||
source/tensorflow/lite/micro/kernels/ceil.cc \
|
||||
source/tensorflow/lite/micro/kernels/circular_buffer.cc \
|
||||
source/tensorflow/lite/micro/kernels/comparisons.cc \
|
||||
source/tensorflow/lite/micro/kernels/concatenation.cc \
|
||||
source/tensorflow/lite/micro/kernels/conv_test_common.cc \
|
||||
source/tensorflow/lite/micro/kernels/dequantize.cc \
|
||||
source/tensorflow/lite/micro/kernels/detection_postprocess.cc \
|
||||
source/tensorflow/lite/micro/kernels/elementwise.cc \
|
||||
source/tensorflow/lite/micro/kernels/ethosu.cc \
|
||||
source/tensorflow/lite/micro/kernels/flexbuffers_generated_data.cc \
|
||||
source/tensorflow/lite/micro/kernels/floor.cc \
|
||||
source/tensorflow/lite/micro/kernels/hard_swish.cc \
|
||||
source/tensorflow/lite/micro/kernels/kernel_runner.cc \
|
||||
source/tensorflow/lite/micro/kernels/kernel_util.cc \
|
||||
source/tensorflow/lite/micro/kernels/l2norm.cc \
|
||||
source/tensorflow/lite/micro/kernels/logical.cc \
|
||||
source/tensorflow/lite/micro/kernels/logistic.cc \
|
||||
source/tensorflow/lite/micro/kernels/maximum_minimum.cc \
|
||||
source/tensorflow/lite/micro/kernels/neg.cc \
|
||||
source/tensorflow/lite/micro/kernels/pack.cc \
|
||||
source/tensorflow/lite/micro/kernels/pad.cc \
|
||||
source/tensorflow/lite/micro/kernels/prelu.cc \
|
||||
source/tensorflow/lite/micro/kernels/quantize.cc \
|
||||
source/tensorflow/lite/micro/kernels/quantize_common.cc \
|
||||
source/tensorflow/lite/micro/kernels/reduce.cc \
|
||||
source/tensorflow/lite/micro/kernels/reshape.cc \
|
||||
source/tensorflow/lite/micro/kernels/resize_nearest_neighbor.cc \
|
||||
source/tensorflow/lite/micro/kernels/round.cc \
|
||||
source/tensorflow/lite/micro/kernels/shape.cc \
|
||||
source/tensorflow/lite/micro/kernels/split.cc \
|
||||
source/tensorflow/lite/micro/kernels/split_v.cc \
|
||||
source/tensorflow/lite/micro/kernels/strided_slice.cc \
|
||||
source/tensorflow/lite/micro/kernels/sub.cc \
|
||||
source/tensorflow/lite/micro/kernels/svdf_common.cc \
|
||||
source/tensorflow/lite/micro/kernels/tanh.cc \
|
||||
source/tensorflow/lite/micro/kernels/transpose_conv.cc \
|
||||
source/tensorflow/lite/micro/kernels/unpack.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/add.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/conv.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/depthwise_conv.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/fully_connected.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/mul.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/pooling.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/softmax.cc \
|
||||
source/tensorflow/lite/micro/kernels/normal/svdf.cc
|
||||
|
||||
# ifeq ($(CONFIG_INTELLIGENT_TFLITE),y)
|
||||
ifeq ($(CONFIG_USING_TENSORFLOWLITEMICRO),y)
|
||||
SRC_FILES := $(TFLITE_SRCS) tf_fini_fix.c
|
||||
CPPPATHS += \
|
||||
-Isource \
|
||||
-Isource/third_party/gemmlowp \
|
||||
-Isource/third_party/flatbuffers/include \
|
||||
-Isource/third_party/ruy
|
||||
DEFINES += -DTF_LITE_USE_GLOBAL_CMATH_FUNCTIONS \
|
||||
-DTF_LITE_USE_GLOBAL_MAX \
|
||||
-DTF_LITE_USE_GLOBAL_MIN \
|
||||
-DTF_LITE_STATIC_MEMORY
|
||||
endif
|
||||
|
||||
include $(KERNEL_ROOT)/compiler.mk
|
||||
@@ -0,0 +1,4 @@
|
||||
// fix '_fini' not found on gcc risvc 8.2.0
|
||||
#if (__riscv == 1) && (__GNUC__ == 8) && (__GNUC_MINOR__ == 2)
|
||||
void _fini (void) {}
|
||||
#endif
|
||||
@@ -96,3 +96,12 @@ _ssize_t _write_r(struct _reent *ptr, int fd, const void *buf, size_t nbytes)
|
||||
{
|
||||
return write(fd, buf, nbytes);
|
||||
}
|
||||
|
||||
void exit(int __status);
|
||||
void _exit(int __status){}
|
||||
void _kill(int k)
|
||||
{}
|
||||
int _getpid(void)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -40,4 +40,4 @@ void abort(void)
|
||||
}
|
||||
|
||||
while (1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user