Practical Tutorial: Running 32-Bit Applications on RK3568 Development Board

The Rockchip RK3568 processor has established itself as a benchmark chip in the mid-range AIoT market, thanks to its well-balanced performance, power efficiency, and interface scalability, achieving remarkable market success since its launch. The RK3568 is a 64-bit processor, and the cross-compiler provided by the embedded system is also 64-bit. However, some users may need to run 32-bit applications on the RK3568 development board. This tutorial will provide a detailed walkthrough on how to use a 32-bit cross-compiler to compile 32-bit applications and ensure their seamless operation on the Forlinx Embedded RK3568 development board.

The following demonstrates the process using the gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf cross-compilation toolchain as an example.

1. Method Steps

(1) Kernel Configuration

The Forlinx Embedded RK3568 development board’s kernel is pre-configured with EL0 enabled by default, so no additional kernel configuration is required.

(2) 32-Bit Runtime Library Preparation

Since the system lacks 32-bit runtime libraries, the following steps are necessary:

  • ① Package the lib directory from the libc folder in the cross-compilation toolchain. The specific path is:
    gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/arm-linux-gnueabihf/libc
  • ② Manually create the /lib32 folder in the root directory of the Forlinx Embedded RK3568 development board.
  • ③ Execute the following command to copy the packaged library files to the /lib32 directory on the development board as runtime libraries: cp ./* /lib32/ -rf
  • ④ Add the environment variable to include /lib32 in the library search path: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib32
  • ⑤ Create a symbolic link: ln -s /lib32/ld-linux-armhf.so.3 /lib

(3) Application Testing

  • ① Use the ld-linux-armhf.so.3 --list command instead of ldd to verify the required library files for the test program.

    If all libraries are detected, proceed to execute the test program.

    The test executable runs successfully.

  • ② Check the test program in the development environment to confirm it is a 32-bit ELF format.

  • ③ If manual library path specification is required, use the following command: /lib/ld-linux-armhf.so.3 --library-path /lib32 --list /home/forlinx/test

2. Key Considerations

(1) Glibc Version Compatibility

Ensure the glibc version in the cross-compilation toolchain matches the application’s requirements. Mismatched versions may cause runtime failures.

(2) Operational Accuracy

Double-check all commands during execution to avoid system issues on the development board due to misoperations.

(3) Development Environment Verification

Confirm proper configuration of the development environment, including installation of the cross-compilation toolchain and environment variable settings, before compiling and testing.

By following these steps, users can successfully run 32-bit applications on the Forlinx Embedded RK3568 development board, leveraging its high performance and low power consumption for diverse embedded development needs.

3. RK3568 Development Board Description

In the field of embedded development, the choice of development platform is critical to the success of a project. OK3568-C development board based on Rockchip RK3568 processor has become the first choice of many engineers because of its high performance, low power consumption and rich functional interfaces.

RK3568 Development Board Description

The RK3568 processor uses a quad-core 64-bit Cortex-A55 architecture with a main frequency of up to 2.0 GHz, and integrates Rockchip's self-developed NPU with 1 TOPS computing power. It also supports multi-format HD video decoding and multi-channel display output, meeting diverse application needs ranging from industrial control to intelligent security.

Forlinx Embedded RK3568 development board

In addition to its powerful hardware capabilities, the Forlinx Embedded RK3568 development board offers extensive development tools and documentation, allowing engineers to effectively complete development, optimization, and project deployment.




Dear friends, we have created an exclusive embedded technical exchange group on Facebook, where our experts share the latest technological trends and practical skills. Join us and grow together!