From 81ca111fcf9e747cedc3356c8af254529eefd8e8 Mon Sep 17 00:00:00 2001 From: Pete Warden Date: Thu, 5 Sep 2019 13:45:48 -0700 Subject: [PATCH] Add Mbed CI testing support This is the first step towards setting up nightly builds and automatic library builds for Mbed projects. Because of an issue with Arm's Mbed build system, I had to rename string.h to string_type.h: https://github.com/ARMmbed/mbed-cli/issues/917 This could potentially break clients that look for the particular header, but I don't believe we expect this to be part of the public API, and my internal searches haven't found projects that do this. PiperOrigin-RevId: 267443927 --- tensorflow/lite/BUILD | 2 +- tensorflow/lite/allocation.h | 2 +- .../core/api/flatbuffer_conversions_test.cc | 2 +- tensorflow/lite/delegates/flex/buffer_map.cc | 2 +- tensorflow/lite/delegates/flex/kernel.cc | 2 +- tensorflow/lite/delegates/flex/test_util.cc | 2 +- tensorflow/lite/delegates/flex/util_test.cc | 2 +- .../lite/examples/label_image/label_image.h | 2 +- .../micro/tools/ci_build/install_mbed_cli.sh | 19 ++ .../micro/tools/ci_build/test_arduino.sh | 5 - .../micro/tools/ci_build/test_mbed.sh | 42 +++ .../micro/tools/ci_build/test_mbed_library.sh | 33 +++ .../experimental/micro/tools/make/Makefile | 11 +- .../micro/tools/make/ext_libs/cmsis.inc | 260 +++++++++++++++++- .../tools/make/templates/mbed-os.lib.tpl | 2 +- .../tools/make/third_party_downloads.inc | 4 +- .../kernels/internal/log_quantized_test.cc | 11 +- .../internal/logsoftmax_quantized_test.cc | 2 +- .../internal/softmax_quantized_test.cc | 2 +- tensorflow/lite/{string.h => string_type.h} | 6 +- tensorflow/lite/string_util.h | 2 +- tensorflow/lite/testing/generate_testspec.h | 2 +- tensorflow/lite/testing/join.h | 2 +- .../lite/testing/kernel_test/diff_analyzer.h | 2 +- .../testing/kernel_test/input_generator.h | 2 +- tensorflow/lite/testing/split.h | 2 +- tensorflow/lite/testing/test_runner.h | 3 +- tensorflow/lite/testing/tflite_diff_util.h | 2 +- tensorflow/lite/testing/tokenize.cc | 4 +- tensorflow/lite/testing/util.h | 2 +- tensorflow/lite/tools/gen_op_registration.h | 2 +- 31 files changed, 391 insertions(+), 47 deletions(-) create mode 100755 tensorflow/lite/experimental/micro/tools/ci_build/install_mbed_cli.sh create mode 100755 tensorflow/lite/experimental/micro/tools/ci_build/test_mbed.sh create mode 100755 tensorflow/lite/experimental/micro/tools/ci_build/test_mbed_library.sh rename tensorflow/lite/{string.h => string_type.h} (87%) diff --git a/tensorflow/lite/BUILD b/tensorflow/lite/BUILD index aa137d6607d..9dcae6d2c62 100644 --- a/tensorflow/lite/BUILD +++ b/tensorflow/lite/BUILD @@ -141,7 +141,7 @@ exports_files(["builtin_ops.h"]) cc_library( name = "string", hdrs = [ - "string.h", + "string_type.h", ], copts = TFLITE_DEFAULT_COPTS, ) diff --git a/tensorflow/lite/allocation.h b/tensorflow/lite/allocation.h index baf9ac3d421..70c9a46b7bf 100644 --- a/tensorflow/lite/allocation.h +++ b/tensorflow/lite/allocation.h @@ -24,7 +24,7 @@ limitations under the License. #include "tensorflow/lite/c/c_api_internal.h" #include "tensorflow/lite/core/api/error_reporter.h" #include "tensorflow/lite/simple_memory_arena.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { diff --git a/tensorflow/lite/core/api/flatbuffer_conversions_test.cc b/tensorflow/lite/core/api/flatbuffer_conversions_test.cc index 22d152c097e..009129a4a2e 100644 --- a/tensorflow/lite/core/api/flatbuffer_conversions_test.cc +++ b/tensorflow/lite/core/api/flatbuffer_conversions_test.cc @@ -20,7 +20,7 @@ limitations under the License. #include #include #include "tensorflow/lite/c/builtin_op_data.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace { diff --git a/tensorflow/lite/delegates/flex/buffer_map.cc b/tensorflow/lite/delegates/flex/buffer_map.cc index 6d792d97cb2..ace195d5607 100644 --- a/tensorflow/lite/delegates/flex/buffer_map.cc +++ b/tensorflow/lite/delegates/flex/buffer_map.cc @@ -19,7 +19,7 @@ limitations under the License. #include "tensorflow/core/framework/log_memory.h" #include "tensorflow/core/framework/typed_allocator.h" #include "tensorflow/lite/delegates/flex/util.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" #include "tensorflow/lite/string_util.h" namespace tflite { diff --git a/tensorflow/lite/delegates/flex/kernel.cc b/tensorflow/lite/delegates/flex/kernel.cc index 6478dd75930..68cdf27fd5d 100644 --- a/tensorflow/lite/delegates/flex/kernel.cc +++ b/tensorflow/lite/delegates/flex/kernel.cc @@ -28,7 +28,7 @@ limitations under the License. #include "tensorflow/lite/delegates/flex/delegate_data.h" #include "tensorflow/lite/delegates/flex/util.h" #include "tensorflow/lite/kernels/kernel_util.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" // Note: this is part of TF Lite's Flex delegation code which is to be // completed soon. diff --git a/tensorflow/lite/delegates/flex/test_util.cc b/tensorflow/lite/delegates/flex/test_util.cc index a67aeef231b..bf844e94230 100644 --- a/tensorflow/lite/delegates/flex/test_util.cc +++ b/tensorflow/lite/delegates/flex/test_util.cc @@ -17,7 +17,7 @@ limitations under the License. #include "absl/memory/memory.h" #include "flatbuffers/flexbuffers.h" // TF:flatbuffers -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace flex { diff --git a/tensorflow/lite/delegates/flex/util_test.cc b/tensorflow/lite/delegates/flex/util_test.cc index 69bba405055..751289ef28f 100644 --- a/tensorflow/lite/delegates/flex/util_test.cc +++ b/tensorflow/lite/delegates/flex/util_test.cc @@ -18,7 +18,7 @@ limitations under the License. #include #include -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" #include "tensorflow/lite/testing/util.h" namespace tflite { diff --git a/tensorflow/lite/examples/label_image/label_image.h b/tensorflow/lite/examples/label_image/label_image.h index 3d41dd54821..b5df07f886c 100644 --- a/tensorflow/lite/examples/label_image/label_image.h +++ b/tensorflow/lite/examples/label_image/label_image.h @@ -17,7 +17,7 @@ limitations under the License. #define TENSORFLOW_LITE_EXAMPLES_LABEL_IMAGE_LABEL_IMAGE_H_ #include "tensorflow/lite/model.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace label_image { diff --git a/tensorflow/lite/experimental/micro/tools/ci_build/install_mbed_cli.sh b/tensorflow/lite/experimental/micro/tools/ci_build/install_mbed_cli.sh new file mode 100755 index 00000000000..a66cff58d9f --- /dev/null +++ b/tensorflow/lite/experimental/micro/tools/ci_build/install_mbed_cli.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Copyright 2019 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +# +# Installs the latest Mbed command-line toolchain. + +pip install mbed-cli diff --git a/tensorflow/lite/experimental/micro/tools/ci_build/test_arduino.sh b/tensorflow/lite/experimental/micro/tools/ci_build/test_arduino.sh index c1b3006f5ae..e2df0854326 100755 --- a/tensorflow/lite/experimental/micro/tools/ci_build/test_arduino.sh +++ b/tensorflow/lite/experimental/micro/tools/ci_build/test_arduino.sh @@ -16,11 +16,6 @@ # # Creates the project file distributions for the TensorFlow Lite Micro test and # example targets aimed at embedded platforms. -# -# Usage: ci_build_micro_projects.sh -# -# For example: -# ci_build_micro_projects.sh mbed "CMSIS disco_f746ng" set -e diff --git a/tensorflow/lite/experimental/micro/tools/ci_build/test_mbed.sh b/tensorflow/lite/experimental/micro/tools/ci_build/test_mbed.sh new file mode 100755 index 00000000000..15e9c76ad4e --- /dev/null +++ b/tensorflow/lite/experimental/micro/tools/ci_build/test_mbed.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Copyright 2019 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +# +# Creates the project file distributions for the TensorFlow Lite Micro test and +# example targets aimed at embedded platforms. + +set -e + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR=${SCRIPT_DIR}/../../../../../.. +cd ${ROOT_DIR} +pwd + +make -f tensorflow/lite/experimental/micro/tools/make/Makefile \ + clean clean_downloads + +make -f tensorflow/lite/experimental/micro/tools/make/Makefile \ + TARGET=mbed \ + TAGS="portable_optimized disco_f746ng" \ + generate_projects + +tensorflow/lite/experimental/micro/tools/ci_build/install_mbed_cli.sh + +for f in tensorflow/lite/experimental/micro/tools/make/gen/mbed_*/prj/*/mbed; do + tensorflow/lite/experimental/micro/tools/ci_build/test_mbed_library.sh ${f} +done + +# Needed to solve CI build bug triggered by files added to source tree. +make -f tensorflow/lite/experimental/micro/tools/make/Makefile clean_downloads diff --git a/tensorflow/lite/experimental/micro/tools/ci_build/test_mbed_library.sh b/tensorflow/lite/experimental/micro/tools/ci_build/test_mbed_library.sh new file mode 100755 index 00000000000..5f2e4543d63 --- /dev/null +++ b/tensorflow/lite/experimental/micro/tools/ci_build/test_mbed_library.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Copyright 2019 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +# +# Tests an individual Arduino library. Because libraries need to be installed +# globally, this can cause problems with previously-installed modules, so we +# recommend that you only run this within a VM. + +set -e + +cd ${1} + +mbed config root . +mbed deploy + +python -c 'import fileinput, glob; +for filename in glob.glob("mbed-os/tools/profiles/*.json"): + for line in fileinput.input(filename, inplace=True): + print line.replace("\"-std=gnu++98\"","\"-std=c++11\", \"-fpermissive\"")' + +mbed compile -m DISCO_F746NG -t GCC_ARM diff --git a/tensorflow/lite/experimental/micro/tools/make/Makefile b/tensorflow/lite/experimental/micro/tools/make/Makefile index d2ed2e62341..a69cfd82302 100644 --- a/tensorflow/lite/experimental/micro/tools/make/Makefile +++ b/tensorflow/lite/experimental/micro/tools/make/Makefile @@ -137,7 +137,7 @@ tensorflow/lite/kernels/kernel_util.h \ tensorflow/lite/kernels/op_macros.h \ tensorflow/lite/kernels/padding.h \ tensorflow/lite/schema/schema_generated.h \ -tensorflow/lite/string.h \ +tensorflow/lite/string_type.h \ tensorflow/lite/string_util.h \ tensorflow/lite/version.h @@ -159,8 +159,7 @@ MAKE_PROJECT_FILES := \ MBED_PROJECT_FILES := \ README_MBED.md \ mbed-os.lib \ - mbed_app.json \ - .vscode/tasks.json + mbed_app.json KEIL_PROJECT_FILES := \ README_KEIL.md \ @@ -182,6 +181,9 @@ $(eval $(call add_third_party_download,$(FLATBUFFERS_URL),$(FLATBUFFERS_MD5),fla # keep this main makefile focused on the sources and dependencies. include $(wildcard $(MAKEFILE_DIR)/targets/*_makefile.inc) +# Load dependencies for optimized kernel implementations. +include $(wildcard $(MAKEFILE_DIR)/ext_libs/*.inc) + # Call specialize here so that platform-specific tags can be taken into account. MICROLITE_CC_SRCS := $(call specialize,$(MICROLITE_CC_SRCS)) @@ -204,9 +206,6 @@ CXX := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}g++ CC := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}gcc AR := $(CC_PREFIX)${TARGET_TOOLCHAIN_PREFIX}ar -# Load optimized kernel implementations -include $(wildcard $(MAKEFILE_DIR)/ext_libs/*.inc) - # Load the examples. include $(wildcard tensorflow/lite/experimental/micro/examples/*/Makefile.inc) diff --git a/tensorflow/lite/experimental/micro/tools/make/ext_libs/cmsis.inc b/tensorflow/lite/experimental/micro/tools/make/ext_libs/cmsis.inc index c15828db5f0..2763e23baa4 100644 --- a/tensorflow/lite/experimental/micro/tools/make/ext_libs/cmsis.inc +++ b/tensorflow/lite/experimental/micro/tools/make/ext_libs/cmsis.inc @@ -16,11 +16,263 @@ ifneq ($(filter cmsis-nn,$(ALL_TAGS)),) endif # Setup CMSIS-NN lib and add required header files to microlite lib INCLUDE + THIRD_PARTY_DOWNLOADS += \ + $(eval $(call add_third_party_download,$(CMSIS_URL),$(CMSIS_MD5),cmsis,)) + CMSIS_PATH = $(MAKEFILE_DIR)/downloads/cmsis/ - THIRD_PARTY_CC_SRCS += $(shell find $(CMSIS_PATH)/CMSIS/NN/Source/ -name *.c) - THIRD_PARTY_CC_HDRS += $(shell find $(CMSIS_PATH)/CMSIS/Core/Include/ -name *.h) \ - $(shell find $(CMSIS_PATH)/CMSIS/NN/Include/ -name *.h) \ - $(shell find $(CMSIS_PATH)/CMSIS/DSP/Include/ -name *.h) + # List created by running: + # find tensorflow/lite/experimental/micro/tools/make/downloads/cmsis/CMSIS/NN/Source/ -name *.c | sed -E 's#tensorflow/lite/experimental/micro/tools/make/downloads/cmsis(.*)$# ${CMSIS_PATH}\1 \\#g' + THIRD_PARTY_CC_SRCS += \ + $(CMSIS_PATH)/CMSIS/NN/Source/BasicMathFunctions/arm_elementwise_mul_s8.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/BasicMathFunctions/arm_elementwise_add_s8.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q7_opt.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_s8.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q15_opt.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_q7.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/FullyConnectedFunctions/arm_fully_connected_mat_q7_vec_q15_opt.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_conv_u8_basic_ver1.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_s8.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_1x1_s8_fast.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_fast.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15_reordered.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_q7_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_RGB.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_1x1_HWC_q7_fast_nonsquare.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_basic.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7_nonsquare.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_fast_nonsquare.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_conv_s8_opt.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_s8_s16.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_basic.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q15_fast.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_fast_nonsquare.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_nn_mat_mult_kernel_s8_s16_reordered.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_separable_conv_HWC_q7.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_depthwise_conv_s8.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ConvolutionFunctions/arm_convolve_HWC_q7_basic_nonsquare.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/PoolingFunctions/arm_pool_q7_HWC.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/PoolingFunctions/arm_avgpool_s8.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ActivationFunctions/arm_relu_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ActivationFunctions/arm_relu_q7.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q7.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/ActivationFunctions/arm_nn_activations_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_nn_add_q7.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_reordered_no_shift.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_nntables.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_nn_accumulate_q7_to_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_nn_mult_q7.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_nn_mult_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_reordered_with_offset.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_with_offset.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/NNSupportFunctions/arm_q7_to_q15_no_shift.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_q15.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_q7.c \ + $(CMSIS_PATH)/CMSIS/NN/Source/SoftmaxFunctions/arm_softmax_with_batch_q7.c + + # List created by running: + # find tensorflow/lite/experimental/micro/tools/make/downloads/cmsis/CMSIS/{Core,NN,DSP} -name *.h | sed -E 's#tensorflow/lite/experimental/micro/tools/make/downloads/cmsis(.*)$# ${CMSIS_PATH}\1 \\#g' + THIRD_PARTY_CC_HDRS += \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm3.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_armv81mml.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/cmsis_compiler.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm4.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm1.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/cmsis_iccarm.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/cmsis_version.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_armv8mml.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_sc300.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/cmsis_armclang_ltm.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/cmsis_armcc.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm0plus.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm33.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/cmsis_armclang.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/tz_context.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_armv8mbl.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_sc000.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm23.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm35p.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm7.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/cmsis_gcc.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/mpu_armv7.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/core_cm0.h \ + ${CMSIS_PATH}/CMSIS/Core/Include/mpu_armv8.h \ + ${CMSIS_PATH}/CMSIS/NN/Include/arm_nnfunctions.h \ + ${CMSIS_PATH}/CMSIS/NN/Include/arm_nnsupportfunctions.h \ + ${CMSIS_PATH}/CMSIS/NN/Include/arm_nn_tables.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/arm_nnexamples_gru_test_data.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM0/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM7_SP/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM4_FP/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/Compiler/EventRecorderConf.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/gru/RTE/_ARMCM3/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM0/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM7_SP/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM4_FP/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/Compiler/EventRecorderConf.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/RTE/_ARMCM3/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/arm_nnexamples_cifar10_weights.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/arm_nnexamples_cifar10_inputs.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/ARM/arm_nn_examples/cifar10/arm_nnexamples_cifar10_parameter.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-gru/arm_nnexamples_gru_test_data.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/arm_nnexamples_cifar10_weights.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/arm_nnexamples_cifar10_inputs.h \ + ${CMSIS_PATH}/CMSIS/NN/Examples/IAR/iar_nn_examples/NN-example-cifar10/arm_nnexamples_cifar10_parameter.h \ + ${CMSIS_PATH}/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM0/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM7_SP/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM4_FP/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/NN_Lib_Tests/nn_test/RTE/_ARMCM3/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/NN/NN_Lib_Tests/nn_test/arm_nnexamples_nn_test.h \ + ${CMSIS_PATH}/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/ref_functions.h \ + ${CMSIS_PATH}/CMSIS/NN/NN_Lib_Tests/nn_test/Ref_Implementations/fully_connected_testing_weights.h \ + ${CMSIS_PATH}/CMSIS/DSP/PythonWrapper/cmsisdsp_pkg/src/cmsismodule.h \ + ${CMSIS_PATH}/CMSIS/DSP/Include/arm_common_tables.h \ + ${CMSIS_PATH}/CMSIS/DSP/Include/arm_const_structs.h \ + ${CMSIS_PATH}/CMSIS/DSP/Include/arm_math.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/mem_ARMCA5.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/Device/ARMCA5/system_ARMCA5.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/DspLibTest_FVP_A5/RTE/CMSIS/RTX_Config.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/all_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/template.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/templates/test_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/type_abbrev.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/statistics_tests/statistics_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/filtering_tests/filtering_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/math_helper.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/fast_math_tests/fast_math_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/transform_tests/transform_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/intrinsics_tests/intrinsics_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/intrinsics_tests/intrinsics_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/intrinsics_tests/intrinsics_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/basic_math_tests/basic_math_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/complex_math_tests/complex_math_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/matrix_tests/matrix_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/controller_tests/controller_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_data.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_tests.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_templates.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/inc/support_tests/support_test_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_fw.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/util/util.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_define.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_define.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_call.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test_ret.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_call.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group_define.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_cycle.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_util.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_systick.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/arr_desc/arr_desc.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_test.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_group.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/jtest_pf.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/pp_narg.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/splice.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/Common/JTest/inc/opt_arg/opt_arg.h \ + ${CMSIS_PATH}/CMSIS/DSP/DSP_Lib_TestSuite/RefLibs/inc/ref.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCA5/Include/ARMCA5.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCA5/LinkScripts/AC6/mem_ARMCA5.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCA5/LinkScripts/AC6/system_ARMCA5.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCA5/LinkScripts/GCC/mem_ARMCA5.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCA5/LinkScripts/GCC/system_ARMCA5.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM4/Include/ARMCM4_FP.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM4/Include/system_ARMCM4.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM4/Include/ARMCM4.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM4/LinkScripts/AC6/mem_ARMCM4.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM33/Include/ARMCM33_DSP_FP.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM33/Include/ARMCM33_TZ.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM33/Include/system_ARMCM33.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM33/Include/ARMCM33_DSP_FP_TZ.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM33/Include/ARMCM33.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM33/LinkScripts/AC6/mem_ARMCM33.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM7/Include/ARMCM7.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM7/Include/system_ARMCM7.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM7/Include/ARMCM7_DP.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM7/Include/ARMCM7_SP.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM7/LinkScripts/AC6/mem_ARMCM7.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM7/LinkScripts/GCC/mem_ARMCM7.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM0/Include/ARMCM0.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM0/Include/system_ARMCM0.h \ + ${CMSIS_PATH}/CMSIS/DSP/Platforms/FVP/ARMCM0/LinkScripts/AC6/mem_ARMCM0.h \ + ${CMSIS_PATH}/CMSIS/DSP/Examples/ARM/arm_matrix_example/math_helper.h \ + ${CMSIS_PATH}/CMSIS/DSP/Examples/ARM/arm_fir_example/math_helper.h \ + ${CMSIS_PATH}/CMSIS/DSP/Examples/ARM/arm_convolution_example/math_helper.h \ + ${CMSIS_PATH}/CMSIS/DSP/Examples/ARM/arm_graphic_equalizer_example/math_helper.h \ + ${CMSIS_PATH}/CMSIS/DSP/Examples/ARM/arm_linear_interp_example/math_helper.h \ + ${CMSIS_PATH}/CMSIS/DSP/Examples/ARM/arm_signal_converge_example/math_helper.h \ + ${CMSIS_PATH}/CMSIS/DSP/Source/DistanceFunctions/arm_boolean_distance_template.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/RTE_Components.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/FIRF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/BasicMathsBenchmarksF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/PoolingBench.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/ComplexMathsBenchmarksQ15.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/BasicMathsBenchmarksQ15.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/ComplexMathsBenchmarksF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/MISCQ7.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/BasicMathsBenchmarksQ7.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/BasicMathsBenchmarksQ31.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/FIRQ31.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/MISCF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/FullyConnectedBench.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/DECIMQ31.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/MISCQ15.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/DECIMQ15.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/DECIMF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/BIQUADF64.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/BIQUADF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/FIRQ15.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/ComplexMathsBenchmarksQ31.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Benchmarks/MISCQ31.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/StatsTestsF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/Softmax.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/Pooling.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/NNSupport.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/SVMF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/FullyConnected.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/DistanceTestsF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/DistanceTestsU32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/SupportTestsF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/BayesF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/Include/Tests/BasicTestsF32.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/Test.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/Semihosting.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/Pattern.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/Calibrate.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/ArrayMemory.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/IORunner.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/Error.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/Generators.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/Timing.h \ + ${CMSIS_PATH}/CMSIS/DSP/Testing/FrameworkInclude/FPGA.h \ + ${CMSIS_PATH}/CMSIS/DSP/ComputeLibrary/Include/NEMath.h + INCLUDES += -I$(CMSIS_PATH)/CMSIS/Core/Include \ -I$(CMSIS_PATH)/CMSIS/NN/Include \ -I$(CMSIS_PATH)/CMSIS/DSP/Include diff --git a/tensorflow/lite/experimental/micro/tools/make/templates/mbed-os.lib.tpl b/tensorflow/lite/experimental/micro/tools/make/templates/mbed-os.lib.tpl index 69fff22f335..e8c46617851 100644 --- a/tensorflow/lite/experimental/micro/tools/make/templates/mbed-os.lib.tpl +++ b/tensorflow/lite/experimental/micro/tools/make/templates/mbed-os.lib.tpl @@ -1 +1 @@ -https://github.com/ARMmbed/mbed-os/#6a0a86538c0b9b2bfcc4583b1e2b7fea8f4e71e9 +https://github.com/ARMmbed/mbed-os/#8ef742a49c1682f9ef3ba50148b871e38c3866cc diff --git a/tensorflow/lite/experimental/micro/tools/make/third_party_downloads.inc b/tensorflow/lite/experimental/micro/tools/make/third_party_downloads.inc index 6f84e25d294..4797d6a96ca 100644 --- a/tensorflow/lite/experimental/micro/tools/make/third_party_downloads.inc +++ b/tensorflow/lite/experimental/micro/tools/make/third_party_downloads.inc @@ -20,8 +20,8 @@ LEON_BCC2_MD5 := "cdf78082be4882da2a92c9baa82fe765" TSIM_URL := "https://www.gaisler.com/anonftp/tsim/tsim-eval-2.0.63.tar.gz" TSIM_MD5 := "afa0095d3ed989a949e1467f94e41d2f" -CMSIS_URL := "https://github.com/ARM-software/CMSIS_5/archive/5.4.0.zip" -CMSIS_MD5 := "f451f1dccc844e894939055db278a40e" +CMSIS_URL := "https://github.com/ARM-software/CMSIS_5/archive/04c0b9a8646ab267d0a5d5abe413a916aa7464f6.zip" +CMSIS_MD5 := "d9f473201070758be8999cd9f1df8660" AM_SDK_URL := "http://s3.asia.ambiqmicro.com/downloads/AmbiqSuite-Rel2.0.0.zip" AM_SDK_MD5 := "70332bc6968602bd85bee600ca81d06f" diff --git a/tensorflow/lite/kernels/internal/log_quantized_test.cc b/tensorflow/lite/kernels/internal/log_quantized_test.cc index c31c8e30775..2a27a097d2a 100644 --- a/tensorflow/lite/kernels/internal/log_quantized_test.cc +++ b/tensorflow/lite/kernels/internal/log_quantized_test.cc @@ -29,7 +29,7 @@ limitations under the License. #include #include "tensorflow/lite/kernels/internal/optimized/optimized_ops.h" #include "tensorflow/lite/kernels/internal/reference/reference_ops.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { @@ -142,8 +142,9 @@ void RunSingleTest(const std::vector& test_input, } { std::ostringstream label; - label << check_label << " / reference vs float-gen / InputIntegerBits=" - << InputIntegerBits << ", OutputIntegerBits=" << OutputIntegerBits; + label << check_label + << " / reference vs float-gen / InputIntegerBits=" << InputIntegerBits + << ", OutputIntegerBits=" << OutputIntegerBits; CheckOutputData(quantized_output, float_gen_output, test_input, label.str(), InputIntegerBits, OutputIntegerBits, tolerance); } @@ -189,7 +190,7 @@ void RunSingleTest(const std::vector& test_input, int input_integer_bits, INPUT_CASE(29); default: ASSERT_LE(input_integer_bits, 30) - << "Input integer bits not handled: " << input_integer_bits; + << "Input integer bits not handled: " << input_integer_bits; } #undef INPUT_CASE } @@ -234,7 +235,7 @@ void RunSingleTest(const std::vector& test_input, int input_integer_bits, OUTPUT_CASE(29); default: ASSERT_LE(input_integer_bits, 30) - << "Input integer bits not handled: " << input_integer_bits; + << "Input integer bits not handled: " << input_integer_bits; } #undef OUTPUT_CASE } diff --git a/tensorflow/lite/kernels/internal/logsoftmax_quantized_test.cc b/tensorflow/lite/kernels/internal/logsoftmax_quantized_test.cc index d0d2654d412..b98e8234454 100644 --- a/tensorflow/lite/kernels/internal/logsoftmax_quantized_test.cc +++ b/tensorflow/lite/kernels/internal/logsoftmax_quantized_test.cc @@ -29,7 +29,7 @@ limitations under the License. #include "tensorflow/lite/kernels/internal/reference/integer_ops/log_softmax.h" #include "tensorflow/lite/kernels/internal/reference/reference_ops.h" #include "tensorflow/lite/kernels/internal/test_util.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace { diff --git a/tensorflow/lite/kernels/internal/softmax_quantized_test.cc b/tensorflow/lite/kernels/internal/softmax_quantized_test.cc index 269dc98e129..95fc8f1a7e2 100644 --- a/tensorflow/lite/kernels/internal/softmax_quantized_test.cc +++ b/tensorflow/lite/kernels/internal/softmax_quantized_test.cc @@ -29,7 +29,7 @@ limitations under the License. #include "tensorflow/lite/kernels/internal/reference/integer_ops/softmax.h" #include "tensorflow/lite/kernels/internal/reference/reference_ops.h" #include "tensorflow/lite/kernels/internal/test_util.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace { diff --git a/tensorflow/lite/string.h b/tensorflow/lite/string_type.h similarity index 87% rename from tensorflow/lite/string.h rename to tensorflow/lite/string_type.h index 4d1d6077934..f5a7f833765 100644 --- a/tensorflow/lite/string.h +++ b/tensorflow/lite/string_type.h @@ -13,8 +13,8 @@ See the License for the specific language governing permissions and limitations under the License. ==============================================================================*/ // Abstract string. We don't want even absl at this level. -#ifndef TENSORFLOW_LITE_STRING_H_ -#define TENSORFLOW_LITE_STRING_H_ +#ifndef TENSORFLOW_LITE_STRING_TYPE_H_ +#define TENSORFLOW_LITE_STRING_TYPE_H_ #include @@ -24,4 +24,4 @@ using std::string; } // namespace tflite -#endif // TENSORFLOW_LITE_STRING_H_ +#endif // TENSORFLOW_LITE_STRING_TYPE_H_ diff --git a/tensorflow/lite/string_util.h b/tensorflow/lite/string_util.h index cb268ee805c..67f3b72bdd1 100644 --- a/tensorflow/lite/string_util.h +++ b/tensorflow/lite/string_util.h @@ -43,7 +43,7 @@ limitations under the License. #include #include "tensorflow/lite/c/c_api_internal.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { diff --git a/tensorflow/lite/testing/generate_testspec.h b/tensorflow/lite/testing/generate_testspec.h index bda636f2c80..fe7e6ddb3fb 100644 --- a/tensorflow/lite/testing/generate_testspec.h +++ b/tensorflow/lite/testing/generate_testspec.h @@ -19,7 +19,7 @@ limitations under the License. #include #include -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace testing { diff --git a/tensorflow/lite/testing/join.h b/tensorflow/lite/testing/join.h index 12496b4864b..3f17f7fad46 100644 --- a/tensorflow/lite/testing/join.h +++ b/tensorflow/lite/testing/join.h @@ -19,7 +19,7 @@ limitations under the License. #include #include -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace testing { diff --git a/tensorflow/lite/testing/kernel_test/diff_analyzer.h b/tensorflow/lite/testing/kernel_test/diff_analyzer.h index aecbaea449b..2056aa03b57 100644 --- a/tensorflow/lite/testing/kernel_test/diff_analyzer.h +++ b/tensorflow/lite/testing/kernel_test/diff_analyzer.h @@ -18,7 +18,7 @@ limitations under the License. #include #include "tensorflow/lite/c/c_api_internal.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace testing { diff --git a/tensorflow/lite/testing/kernel_test/input_generator.h b/tensorflow/lite/testing/kernel_test/input_generator.h index 859c7068e54..257a2bf0902 100644 --- a/tensorflow/lite/testing/kernel_test/input_generator.h +++ b/tensorflow/lite/testing/kernel_test/input_generator.h @@ -21,7 +21,7 @@ limitations under the License. #include "tensorflow/lite/c/c_api_internal.h" #include "tensorflow/lite/interpreter.h" #include "tensorflow/lite/model.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace testing { diff --git a/tensorflow/lite/testing/split.h b/tensorflow/lite/testing/split.h index b3ffab793af..b9513b6fa4f 100644 --- a/tensorflow/lite/testing/split.h +++ b/tensorflow/lite/testing/split.h @@ -23,7 +23,7 @@ limitations under the License. #include #include -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { namespace testing { diff --git a/tensorflow/lite/testing/test_runner.h b/tensorflow/lite/testing/test_runner.h index 1e7901264d5..aaa4b2822ec 100644 --- a/tensorflow/lite/testing/test_runner.h +++ b/tensorflow/lite/testing/test_runner.h @@ -19,7 +19,8 @@ limitations under the License. #include #include #include -#include "tensorflow/lite/string.h" + +#include "tensorflow/lite/string_type.h" namespace tflite { namespace testing { diff --git a/tensorflow/lite/testing/tflite_diff_util.h b/tensorflow/lite/testing/tflite_diff_util.h index 091134f50f8..362bc64a6bc 100644 --- a/tensorflow/lite/testing/tflite_diff_util.h +++ b/tensorflow/lite/testing/tflite_diff_util.h @@ -17,7 +17,7 @@ limitations under the License. #include -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" #include "tensorflow/lite/testing/tflite_driver.h" namespace tflite { diff --git a/tensorflow/lite/testing/tokenize.cc b/tensorflow/lite/testing/tokenize.cc index bb475358013..02ae8fb6999 100644 --- a/tensorflow/lite/testing/tokenize.cc +++ b/tensorflow/lite/testing/tokenize.cc @@ -13,9 +13,11 @@ See the License for the specific language governing permissions and limitations under the License. ==============================================================================*/ #include "tensorflow/lite/testing/tokenize.h" + #include #include -#include "tensorflow/lite/string.h" + +#include "tensorflow/lite/string_type.h" namespace tflite { namespace testing { diff --git a/tensorflow/lite/testing/util.h b/tensorflow/lite/testing/util.h index 45751497de4..fa4cc32904d 100644 --- a/tensorflow/lite/testing/util.h +++ b/tensorflow/lite/testing/util.h @@ -18,7 +18,7 @@ limitations under the License. #include #include "tensorflow/lite/core/api/error_reporter.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite { diff --git a/tensorflow/lite/tools/gen_op_registration.h b/tensorflow/lite/tools/gen_op_registration.h index a616720c934..b01ede98292 100644 --- a/tensorflow/lite/tools/gen_op_registration.h +++ b/tensorflow/lite/tools/gen_op_registration.h @@ -16,7 +16,7 @@ limitations under the License. #define TENSORFLOW_LITE_TOOLS_GEN_OP_REGISTRATION_H_ #include "tensorflow/lite/model.h" -#include "tensorflow/lite/string.h" +#include "tensorflow/lite/string_type.h" namespace tflite {