Add support for S905D3 SoC

bazel build --config S905D3

Signed-off-by: Kainan Cha <kainan.zha@verisilicon.com>
This commit is contained in:
Kainan Cha 2021-04-06 13:30:16 +08:00
parent 90a52ea6c9
commit 9dfcb5a230
5 changed files with 70 additions and 0 deletions

View File

@ -18,3 +18,15 @@ build:A311D --copt -Wno-unused-function
build:A311D --copt -Wno-sequence-point
build:A311D --copt -Wno-implicit-fallthrough
build:A311D --define target_device=aarch64_A311D
build:S905D3 --define linux=true
build:S905D3 --spawn_strategy=standalone
build:S905D3 --crosstool_top=@TOOLCHAINS//gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu:toolchain
build:S905D3 --host_crosstool_top=@bazel_tools//tools/cpp:toolchain
build:S905D3 --cpu=aarch64
build:S905D3 --compiler=gcc
build:S905D3 --copt -Wno-ignored-attributes
build:S905D3 --copt -Wno-unused-function
build:S905D3 --copt -Wno-sequence-point
build:S905D3 --copt -Wno-implicit-fallthrough
build:S905D3 --define target_device=aarch64_S905D3

View File

@ -11,6 +11,8 @@ add_definitions(-DOVXLIB_API=${OVXLIB_API_ATTR})
if("${CONFIG}" STREQUAL "A311D")
include(cmake/A311D.cmake)
elseif("${CONFIG}" STREQUAL "S905D3")
include(cmake/S905D3.cmake)
else()
include(cmake/X86_64.cmake)
endif()

View File

@ -15,6 +15,16 @@ http_archive(
],
)
http_archive(
name = "aarch64_S905D3",
build_file = "@//prebuilt-sdk/x86_64_linux:BUILD",
sha256 = "22e1ddb62216d286a1c0e62b673a8210291d0c045c4b8a18197e704da1007f7a",
strip_prefix = "aarch64_S905D3_D312513_A294074_R311680_T312233_O312045",
urls = [
"https://github.com/VeriSilicon/TIM-VX/releases/download/v1.1.28/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045.tgz",
],
)
local_repository(
name = 'TOOLCHAINS',
path = 'toolchains',

40
cmake/S905D3.cmake Normal file
View File

@ -0,0 +1,40 @@
set(PKG_NAME "OVXDRV")
message("Downloading S905D3 toolchain ...")
file(DOWNLOAD "https://cnbj1.fds.api.xiaomi.com/mace/third-party/gcc-linaro/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz"
${PROJECT_BINARY_DIR}/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
EXPECTED_MD5 "6ec789d642584a01e240ab3366599dbb"
SHOW_PROGRESS)
execute_process(COMMAND
tar xf ${PROJECT_BINARY_DIR}/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz)
set(TOOLCHAIN_DIR ${PROJECT_BINARY_DIR}/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu)
set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-g++)
set(CMAKE_AR ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc-ar)
set(CMAKE_AS ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc-as)
set(CMAKE_LD ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc-ld)
message("Downloading S905D3 SDK ...")
file(DOWNLOAD "https://github.com/VeriSilicon/TIM-VX/releases/download/v1.1.28/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045.tgz"
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045.tgz
EXPECTED_MD5 "09324bb8d0e17631c735348f378531ed"
SHOW_PROGRESS)
execute_process(COMMAND
tar xf ${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045.tgz)
set(OVXDRV_INCLUDE_DIRS)
list(APPEND OVXDRV_INCLUDE_DIRS
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/include
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/include/CL)
set(OVXDRV_LIBRARIES)
list(APPEND OVXDRV_LIBRARIES
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/lib/libCLC.so
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/lib/libGAL.so
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/lib/libOpenVX.so
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/lib/libOpenVXU.so
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/lib/libVSC.so
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/lib/libArchModelSw.so
${PROJECT_BINARY_DIR}/aarch64_S905D3_D312513_A294074_R311680_T312233_O312045/lib/libNNArchPerf.so)
mark_as_advanced(${OVXDRV_INCLUDE_DIRS} ${OVXDRV_LIBRARIES})

View File

@ -10,6 +10,11 @@ config_setting(
values = {"define": "target_device=aarch64_A311D"},
)
config_setting(
name = "aarch64_S905D3",
values = {"define": "target_device=aarch64_S905D3"},
)
config_setting(
name = "external_viv_sdk",
values = {"define": "use_external_viv_sdk=true"},
@ -20,6 +25,7 @@ cc_library(
deps = select({
"external_viv_sdk": ["@external_viv_sdk//:VIV_SDK_LIB"],
"aarch64_A311D": ["@aarch64_A311D//:VIV_SDK_LIB"],
"aarch64_S905D3": ["@aarch64_S905D3//:VIV_SDK_LIB"],
"//conditions:default": ["//prebuilt-sdk/x86_64_linux:VIV_SDK_LIB"],
}),
)