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
+
+ riscv32-linux-musl
+
+
+
+ |
@@ -432,6 +442,8 @@ https://github.com/nihui/opencv-mobile/releases/latest
|
+
+
@@ -442,7 +454,6 @@ https://github.com/nihui/opencv-mobile/releases/latest
|
-
@@ -456,6 +467,7 @@ https://github.com/nihui/opencv-mobile/releases/latest
|
+
# 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 ..