Add support for S905D3 SoC
bazel build --config S905D3 Signed-off-by: Kainan Cha <kainan.zha@verisilicon.com>
This commit is contained in:
parent
90a52ea6c9
commit
9dfcb5a230
12
.bazelrc
12
.bazelrc
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
10
WORKSPACE
10
WORKSPACE
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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})
|
||||
|
|
@ -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"],
|
||||
}),
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue