hc
2023-05-26 a23f51ed7a39e452c1037343a84d7db1ca2c5bd7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
################################################################################
#
# rknpu2
#
################################################################################
RKNPU2_VERSION = 1.0.0
RKNPU2_SITE_METHOD = local
RKNPU2_SITE = $(TOPDIR)/../external/rknpu2
RKNPU2_INSTALL_STAGING = YES
 
RKNPU2_LICENSE = ROCKCHIP
RKNPU2_LICENSE_FILES = LICENSE
 
ifeq ($(BR2_arm),y)
GCC_TYPE=arm-none-linux-gnueabihf
EXPORT_PATH=$(PATH):$(TOPDIR)/../prebuilts/gcc/linux-x86/arm/gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf/bin
NPU_PLATFORM_ARCH = armhf
else
GCC_TYPE=aarch64-none-linux-gnu
EXPORT_PATH=$(PATH):$(TOPDIR)/../prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin
NPU_PLATFORM_ARCH = aarch64
endif
 
ifeq ($(BR2_PACKAGE_RK356X),y)
NPU_PLATFORM_INFO = RK356X
NPU_DEMO_BUILD = build-linux_RK356X.sh
endif
 
ifeq ($(BR2_PACKAGE_RK3588), y)
NPU_PLATFORM_INFO = RK3588
NPU_DEMO_BUILD = build-linux_RK3588.sh
endif
 
define RKNPU2_BUILD_CMDS
   cd $(@D)/examples/rknn_common_test && export PATH=$(EXPORT_PATH) && export GCC_COMPILER=$(GCC_TYPE) && ./$(NPU_DEMO_BUILD)
endef
 
define RKNPU2_INSTALL_STAGING_CMDS
   mkdir -p $(STAGING_DIR)/usr/include/rknn
   $(INSTALL) -D -m 0644 $(@D)/runtime/$(NPU_PLATFORM_INFO)/Linux/librknn_api/include/rknn_api.h ${TARGET_DIR}/usr/include/rknn/rknn_api.h
endef
 
define RKNPU2_INSTALL_TARGET_CMDS
   cp -r $(@D)/runtime/$(NPU_PLATFORM_INFO)/Linux/rknn_server/${NPU_PLATFORM_ARCH}/usr/bin/* ${TARGET_DIR}/usr/bin/
   cp -r $(@D)/runtime/$(NPU_PLATFORM_INFO)/Linux/librknn_api/${NPU_PLATFORM_ARCH}/* ${TARGET_DIR}/usr/lib/
   $(INSTALL) -D -m 0755 $(@D)/examples/rknn_common_test/install/rknn_common_test_Linux/rknn_common_test ${TARGET_DIR}/usr/bin/
   cp -r $(@D)/examples/rknn_common_test/install/rknn_common_test_Linux/lib/* ${TARGET_DIR}/usr/lib/
   cp -r $(@D)/examples/rknn_common_test/install/rknn_common_test_Linux/model/ ${TARGET_DIR}/usr/share/
endef
 
$(eval $(generic-package))