The Rockchip RK3568 is a 64-bit processor known for its balance of performance, power consumption, and interface flexibility in AIoT applications. While the standard cross-compiler for this platform is 64-bit, some projects require running 32-bit applications. This article outlines how to use a 32-bit cross-compiler to build applications and run them on an RK3568-based development board.
1. Procedure
(1) Kernel Configuration
The stock kernel on the RK3568 development board has EL0 enabled by default, so no additional kernel configuration is necessary.
(2) Runtime Library Preparation
Since 32-bit runtime libraries are missing, the following steps are required:
- Package the
lib
directory found within thelibc
directory of your cross-compilation toolchain. The path is typically:gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc
- On the RK3568 development board, create a
/lib32
folder in the root directory. - Copy the packaged library files to the board's
/lib32
directory to serve as the runtime libraries:cp ./* /lib32/ -rf
- Add the new directory to the library search path by setting an environment variable:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib32
- Create a symbolic link for the loader:
ln -s /lib32/ld-linux-armhf.so.3 /lib
(3) Application Testing
Use the
ld-linux-armhf.so.3 --list
command as an alternative to
ldd
to check the library dependencies of the test program.
2. Important Notes
(1) glibc Version Matching: Ensure the glibc version in the selected cross-compilation toolchain matches the version required by your application to ensure proper operation.
(2) Command Accuracy: Enter all commands carefully to avoid causing system issues on the development board.
(3) Development Environment: Before compiling and testing, verify that the development environment, including the cross-compilation toolchain and environment variables, is configured correctly.
3. RK3568 Processor Overview
The Rockchip RK3568 processor features a quad-core 64-bit Cortex-A55 architecture with a clock speed of up to 2.0 GHz. It also integrates a Rockchip-developed NPU with 1 TOPS of computing power. The processor supports multiple high-definition video decoding formats and multi-display outputs, making it suitable for applications ranging from industrial control to smart security.