From dcbba23797112d39e3ea6f773ff4a9d58700a511 Mon Sep 17 00:00:00 2001 From: nihui Date: Sun, 11 May 2025 11:55:07 +0800 Subject: [PATCH] Avaota f1 (#195) --- .github/workflows/release.yml | 12 +++++++ README.md | 14 +++++++- toolchains/riscv32-linux-musl.toolchain.cmake | 33 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 toolchains/riscv32-linux-musl.toolchain.cmake diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a942ab8..bf7bf0a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1872,6 +1872,18 @@ jobs: export STAGING_DIR=$GITHUB_WORKSPACE/toolchain cmake-options: -DWITH_AW=ON + - name: avaota-f1 + single-core: true + cmake-toolchain: riscv32-linux-musl.toolchain.cmake + setup-toolchain-cmd: | + wget -q https://github.com/AvaotaSBC/toolchains/releases/download/v821-toolchains/nds32le-linux-musl-v5d.tar.xz + tar -xf nds32le-linux-musl-v5d.tar.xz + setup-env-cmd: | + export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/nds32le-linux-musl-v5d + setup-test-env-cmd: | + export RISCV_ROOT_PATH=$GITHUB_WORKSPACE/nds32le-linux-musl-v5d + cmake-options: -DWITH_AW=ON + - name: purple-pi single-core: false cmake-toolchain: arm-linux-gnueabihf.toolchain.cmake diff --git a/README.md b/README.md index 144a69f..8028834 100644 --- a/README.md +++ b/README.md @@ -410,6 +410,16 @@ https://github.com/nihui/opencv-mobile/releases/latest + + + avaota-f1 +
avaota-f1 +
+
riscv32-linux-musl
+ + opencv4-avaota-f1 + + purple-pi @@ -432,6 +442,8 @@ https://github.com/nihui/opencv-mobile/releases/latest opencv4-myir-t113i + + 2k0300-fengniao @@ -442,7 +454,6 @@ https://github.com/nihui/opencv-mobile/releases/latest opencv4-2k0300-fengniao - lockzhiner-vision-module @@ -456,6 +467,7 @@ https://github.com/nihui/opencv-mobile/releases/latest opencv4-lockzhiner-vision-module + # Usage Android diff --git a/toolchains/riscv32-linux-musl.toolchain.cmake b/toolchains/riscv32-linux-musl.toolchain.cmake new file mode 100644 index 0000000..1ff993a --- /dev/null +++ b/toolchains/riscv32-linux-musl.toolchain.cmake @@ -0,0 +1,33 @@ +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_PROCESSOR riscv32) + +if(DEFINED ENV{RISCV_ROOT_PATH}) + file(TO_CMAKE_PATH $ENV{RISCV_ROOT_PATH} RISCV_ROOT_PATH) +else() + message(FATAL_ERROR "RISCV_ROOT_PATH env must be defined") +endif() + +set(RISCV_ROOT_PATH ${RISCV_ROOT_PATH} CACHE STRING "root path to riscv toolchain") + +set(CMAKE_C_COMPILER "${RISCV_ROOT_PATH}/bin/riscv32-linux-musl-gcc") +set(CMAKE_CXX_COMPILER "${RISCV_ROOT_PATH}/bin/riscv32-linux-musl-g++") + +set(CMAKE_FIND_ROOT_PATH "${RISCV_ROOT_PATH}/riscv32-linux-musl") + +set(CMAKE_SYSROOT "${RISCV_ROOT_PATH}/sysroot") + +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +set(CMAKE_C_FLAGS "-march=rv32imafdc") +set(CMAKE_CXX_FLAGS "-march=rv32imafdc") + +# cache flags +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE STRING "c flags") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" CACHE STRING "c++ flags") + +# export RISCV_ROOT_PATH=/home/nihui/osd/nds32le-linux-musl-v5d + +# cmake -DCMAKE_TOOLCHAIN_FILE=../../toolchains/riscv32-linux-musl.toolchain.cmake -DCMAKE_C_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_CXX_FLAGS="-fno-rtti -fno-exceptions" -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE=Release `cat ../../opencv4_cmake_options.txt` -DBUILD_opencv_world=OFF -DOPENCV_DISABLE_FILESYSTEM_SUPPORT=ON ..