Add support for rk3576 platform: update input options and add toolchain files

This commit is contained in:
EricX-Zhao
2026-06-26 18:00:45 +03:00
parent c20818c692
commit ac9963449d
3 changed files with 51 additions and 2 deletions
+2 -2
View File
@@ -10,8 +10,8 @@ on:
description: "Target platform"
required: true
type: choice
options: [rk3588]
default: rk3588
options: [rk3588, rk3576]
default: rk3576
ros_distro:
description: "ROS 2 distribution"
required: true
+17
View File
@@ -0,0 +1,17 @@
FROM cc-base:latest AS cc_rk3576
WORKDIR /opt
RUN wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz \
&& tar -xJf arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz \
&& rm /opt/arm-gnu-toolchain-13.2.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
COPY rk3576/rk3576.toolchain.cmake /opt/cmake/
ENV PATH="/opt/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-linux-gnu/bin:${PATH}"
ENV CC_TOOLCHAIN_FILE=/opt/cmake/rk3576.toolchain.cmake
ENV TARGET_SYSROOT=/opt/rk3576
WORKDIR /root
@@ -0,0 +1,32 @@
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(SYSROOT /opt/arm-gnu-toolchain-13.2.Rel1-x86_64-aarch64-none-linux-gnu)
set(CMAKE_SYSROOT
${SYSROOT}/aarch64-none-linux-gnu/libc
)
set(CMAKE_C_COMPILER ${SYSROOT}/bin/aarch64-none-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${SYSROOT}/bin/aarch64-none-linux-gnu-g++)
list(APPEND CMAKE_FIND_ROOT_PATH
$ENV{TARGET_SYSROOT}
$ENV{ROS_ROOT}
${CMAKE_INSTALL_PREFIX}
)
# Set compile flags which are overwritter by android.toolchain.cmake
# set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG -Wno-error=unused-variable")
# set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -Wno-error=unused-variable")
# add_link_options("LINKER:-rpath-link,$ENV{TARGET_SYSROOT}/lib")
set(Python3_EXECUTABLE /usr/bin/python3)
set(Python3_NumPy_INCLUDE_DIR $ENV{TARGET_SYSROOT}/lib/python3.10/site-packages/numpy/core/include)
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)