pkg/cmsis-nn: add support
This commit is contained in:
parent
b0df1c57ce
commit
fdd2b97387
10
pkg/cmsis-nn/Makefile
Normal file
10
pkg/cmsis-nn/Makefile
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
PKG_NAME=cmsis-nn
|
||||||
|
PKG_URL=https://github.com/ARM-software/CMSIS_5
|
||||||
|
PKG_VERSION=5.6.0
|
||||||
|
PKG_LICENSE=Apache-2.0
|
||||||
|
CFLAGS += -Wno-strict-aliasing -Wno-unused-parameter
|
||||||
|
|
||||||
|
include $(RIOTBASE)/pkg/pkg.mk
|
||||||
|
|
||||||
|
all:
|
||||||
|
"$(MAKE)" -C $(PKG_BUILDDIR) -f $(CURDIR)/Makefile.$(PKG_NAME)
|
||||||
42
pkg/cmsis-nn/Makefile.cmsis-nn
Normal file
42
pkg/cmsis-nn/Makefile.cmsis-nn
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
PKG_NAME=cmsis-nn
|
||||||
|
|
||||||
|
# A list of all the directories to build for CMSIS-NN
|
||||||
|
CMSIS_DIRS += \
|
||||||
|
CMSIS/NN/Source/ActivationFunctions \
|
||||||
|
CMSIS/NN/Source/BasicMathFunctions \
|
||||||
|
CMSIS/NN/Source/ConcatenationFunctions \
|
||||||
|
CMSIS/NN/Source/ConvolutionFunctions \
|
||||||
|
CMSIS/NN/Source/FullyConnectedFunctions \
|
||||||
|
CMSIS/NN/Source/NNSupportFunctions \
|
||||||
|
CMSIS/NN/Source/PoolingFunctions \
|
||||||
|
CMSIS/NN/Source/ReshapeFunctions \
|
||||||
|
CMSIS/NN/Source/SoftmaxFunctions \
|
||||||
|
#
|
||||||
|
|
||||||
|
INCLUDES += -I$(CURDIR)/CMSIS/NN/Include
|
||||||
|
CMSIS_BINDIRS = $(addprefix $(BINDIR)/$(PKG_NAME)/,$(CMSIS_DIRS))
|
||||||
|
|
||||||
|
# Override default RIOT search path for sources to include all of the CMSIS-NN
|
||||||
|
# sources in one library instead of one library per subdirectory.
|
||||||
|
SRC := $(foreach DIR,$(CMSIS_DIRS),$(wildcard $(DIR)/*.c))
|
||||||
|
SRCXX := $(foreach DIR,$(CMSIS_DIRS),$(wildcard $(DIR)/*.cpp))
|
||||||
|
ASMSRC := $(foreach DIR,$(CMSIS_DIRS),$(wildcard $(DIR)/*.s))
|
||||||
|
ASSMSRC := $(foreach DIR,$(CMSIS_DIRS),$(wildcard $(DIR)/*.S))
|
||||||
|
|
||||||
|
OBJC := $(SRC:%.c=$(BINDIR)/$(PKG_NAME)/%.o)
|
||||||
|
OBJCXX := $(SRCXX:%.cpp=$(BINDIR)/$(PKG_NAME)/%.o)
|
||||||
|
ASMOBJ := $(ASMSRC:%.s=$(BINDIR)/$(PKG_NAME)/%.o)
|
||||||
|
ASSMOBJ := $(ASSMSRC:%.S=$(BINDIR)/$(PKG_NAME)/%.o)
|
||||||
|
OBJ = $(OBJC) $(OBJCXX) $(ASMOBJ) $(ASSMOBJ)
|
||||||
|
|
||||||
|
# Create subdirectories if they do not already exist
|
||||||
|
$(OBJ): | $(CMSIS_BINDIRS)
|
||||||
|
|
||||||
|
$(CMSIS_BINDIRS):
|
||||||
|
@mkdir -p $@
|
||||||
|
|
||||||
|
# Reset the default goal.
|
||||||
|
.DEFAULT_GOAL :=
|
||||||
|
|
||||||
|
# Include RIOT settings and recipes
|
||||||
|
include $(RIOTBASE)/Makefile.base
|
||||||
1
pkg/cmsis-nn/Makefile.dep
Normal file
1
pkg/cmsis-nn/Makefile.dep
Normal file
@ -0,0 +1 @@
|
|||||||
|
FEATURES_REQUIRED += arch_cortexm
|
||||||
6
pkg/cmsis-nn/Makefile.include
Normal file
6
pkg/cmsis-nn/Makefile.include
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
INCLUDES += -I$(PKGDIRBASE)/cmsis-nn/CMSIS/NN/Include
|
||||||
|
|
||||||
|
# Required for some basic math functions
|
||||||
|
INCLUDES += -I$(PKGDIRBASE)/cmsis-nn/CMSIS/DSP/Include
|
||||||
|
|
||||||
|
CFLAGS += -Wno-sign-compare
|
||||||
Loading…
x
Reference in New Issue
Block a user