Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkg/cmsis-nn: model in Kconfig #17997

Merged
merged 2 commits into from
Apr 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pkg/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ rsource "c25519/Kconfig"
rsource "cayenne-lpp/Kconfig"
rsource "cifra/Kconfig"
rsource "cmsis-dsp/Kconfig"
rsource "cmsis-nn/Kconfig"
rsource "cn-cbor/Kconfig"
rsource "driver_atwinc15x0/Kconfig"
rsource "driver_bme680/Kconfig"
Expand Down
36 changes: 36 additions & 0 deletions pkg/cmsis-nn/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Copyright (c) 2022 Inria
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#

config PACKAGE_CMSIS-NN
bool "NN ARM CMSIS package"
depends on TEST_KCONFIG
depends on HAS_CPU_CORE_CORTEXM

select MODULE_CMSIS-NN_ACTIVATIONFUNCTIONS
select MODULE_CMSIS-NN_CONVOLUTIONFUNCTIONS
select MODULE_CMSIS-NN_FULLYCONNECTEDFUNCTIONS
select MODULE_CMSIS-NN_NNSUPPORTFUNCTIONS
select MODULE_CMSIS-NN_POOLINGFUNCTIONS
select MODULE_CMSIS-NN_SOFTMAXFUNCTIONS

config MODULE_CMSIS-NN_ACTIVATIONFUNCTIONS
bool

config MODULE_CMSIS-NN_CONVOLUTIONFUNCTIONS
bool

config MODULE_CMSIS-NN_FULLYCONNECTEDFUNCTIONS
bool

config MODULE_CMSIS-NN_NNSUPPORTFUNCTIONS
bool

config MODULE_CMSIS-NN_POOLINGFUNCTIONS
bool

config MODULE_CMSIS-NN_SOFTMAXFUNCTIONS
bool
22 changes: 15 additions & 7 deletions pkg/cmsis-nn/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,24 @@ include $(RIOTBASE)/pkg/pkg.mk
CFLAGS += -Wno-cast-align

CMSIS_NN_MODULES = \
cmsis-nn_ActivationFunctions \
cmsis-nn_ConvolutionFunctions \
cmsis-nn_FullyConnectedFunctions \
cmsis-nn_NNSupportFunctions \
cmsis-nn_PoolingFunctions \
cmsis-nn_SoftmaxFunctions \
cmsis-nn_activationfunctions \
cmsis-nn_convolutionfunctions \
cmsis-nn_fullyconnectedfunctions \
cmsis-nn_nnsupportfunctions \
cmsis-nn_poolingfunctions \
cmsis-nn_softmaxfunctions \
#

DIR_activationfunctions := ActivationFunctions
DIR_convolutionfunctions := ConvolutionFunctions
DIR_fullyconnectedfunctions := FullyConnectedFunctions
DIR_nnsupportfunctions := NNSupportFunctions
DIR_poolingfunctions := PoolingFunctions
DIR_softmaxfunctions := SoftmaxFunctions

.PHONY: cmsis-nn_%

all: $(CMSIS_NN_MODULES)

cmsis-nn_%:
$(MAKE) -C $(PKG_SOURCE_DIR)/CMSIS/NN/Source/$* -f $(CURDIR)/Makefile.cmsis-nn MODULE=$@
$(MAKE) -C $(PKG_SOURCE_DIR)/CMSIS/NN/Source/$(DIR_$*) -f $(CURDIR)/Makefile.cmsis-nn MODULE=$@
12 changes: 6 additions & 6 deletions pkg/cmsis-nn/Makefile.dep
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FEATURES_REQUIRED += cpu_core_cortexm

USEMODULE += cmsis-nn_ActivationFunctions
USEMODULE += cmsis-nn_ConvolutionFunctions
USEMODULE += cmsis-nn_FullyConnectedFunctions
USEMODULE += cmsis-nn_NNSupportFunctions
USEMODULE += cmsis-nn_PoolingFunctions
USEMODULE += cmsis-nn_SoftmaxFunctions
USEMODULE += cmsis-nn_activationfunctions
USEMODULE += cmsis-nn_convolutionfunctions
USEMODULE += cmsis-nn_fullyconnectedfunctions
USEMODULE += cmsis-nn_nnsupportfunctions
USEMODULE += cmsis-nn_poolingfunctions
USEMODULE += cmsis-nn_softmaxfunctions
1 change: 1 addition & 0 deletions tests/pkg_cmsis-nn/app.config.test
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CONFIG_PACKAGE_CMSIS-NN=y