Introduction to the Embedded Linux RK3399 Platform

1. Overview

The RK3399 is a high-performance SoC (System on Chip) launched by Rockchip, widely used in embedded Linux devices such as smart terminals, industrial control, edge computing, and AI visual processing. It adopts the big.LITTLE architecture, integrating dual-core Cortex-A72 + quad-core Cortex-A53, and is equipped with a powerful Mali-T860MP4 GPU, providing excellent computing and graphics performance.

This article will delve into the hardware architecture, software support, and embedded Linux development related content of the RK3399 platform, helping developers gain a comprehensive understanding of the platform’s features and applications.

2. RK3399 Hardware Architecture

2.1 Processor Architecture

The RK3399 adopts the ARM big.LITTLE heterogeneous architecture, combining high-performance cores (Cortex-A72) and low-power cores (Cortex-A53) to achieve a balance of energy efficiency:

  • Cortex-A72 (2 cores @ 1.8 GHz~2.0 GHz): for high-performance computing tasks such as video decoding and AI inference.
  • Cortex-A53 (4 cores @ 1.4 GHz~1.5 GHz): for low-power tasks such as background processes and lightweight computing.

2.2 GPU Performance

The RK3399 integrates the Mali-T860MP4 GPU, supporting:

  • OpenGL ES 3.2, OpenCL 1.2, Vulkan 1.0
  • 4K video decoding (VP9, H.265, H.264, etc.)
  • Dual-screen independent display, supporting HDMI 2.0, eDP, MIPI-DSI

2.3 Storage and Memory

  • Supports LPDDR3 / LPDDR4 / DDR3 / DDR4, with a maximum of 4GB~8GB RAM
  • Supports eMMC 5.1 / SD / SPI Flash storage devices
  • High-speed interfaces: USB 3.0, PCIe 2.1, SATA 3.0

2.4 Peripheral Interfaces

The RK3399 provides a rich set of peripheral interfaces suitable for various embedded applications:

  • USB 3.0 + USB 2.0 + Type-C
  • PCIe 2.1 (supports high-speed storage or AI accelerator cards)
  • Gigabit Ethernet (GMAC)
  • MIPI-CSI (Camera Interface)
  • I²C / SPI / UART / GPIO

2.5 Multimedia Support

  • Video decoding: 4K H.265/H.264/VP9 hardware decoding
  • Video encoding: H.264/H.265 1080p@60fps
  • Audio processing: I2S, SPDIF, HDMI Audio

3. RK3399 Software Support

3.1 Operating System Support

The RK3399 has good support from the open-source community and can run multiple operating systems:

  • Embedded Linux (Yocto, Buildroot)
  • Android (official support for Android 7.1/8.1/10)
  • Debian / Ubuntu / Armbian
  • OpenWRT (for networking devices)
  • Android TV / Chromium OS

3.2 Linux Kernel Support

The RK3399 primarily uses Linux Kernel 4.x / 5.x, with the official SDK providing complete Device Tree (DTB) support, allowing developers to base their work on:

  • Rockchip official BSP (Board Support Package)
  • Mainline Kernel (well-supported by the community)
  • U-Boot (supports SPI Flash, eMMC, USB boot)

3.3 GPU & VPU (Video Processing Unit) Drivers

  • Mali GPU driver (supports OpenGL / OpenCL / Vulkan)
  • VPU (Video Processing Unit) driver, supports GStreamer hardware-accelerated encoding and decoding

3.4 AI Computing Support

The RK3399 does not integrate a dedicated NPU (Neural Processing Unit), but can expand AI accelerators via PCIe / USB:

  • RK1808 / RK3399Pro (integrated NPU)
  • Google Edge TPU
  • Intel Movidius NCS2

4. Setting Up the RK3399 Development Environment

4.1 Cross-Compilation Toolchain

Developing embedded Linux requires the use of an ARM cross-compilation toolchain:

sudo apt-get install gcc-aarch64-linux-gnu

Compilation example:

aarch64-linux-gnu-gcc -o hello hello.c

4.2 U-Boot & Kernel Compilation

1. Download Rockchip Official BSP

git clone https://github.com/rockchip-linux/kernel.git
cd kernel

2. Select RK3399 Device Tree

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- rockchip_defconfig

3. Compile the Kernel

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)

4.3 Rootfs (File System) Creation

The RK3399 supports Buildroot, Yocto, Debian/Ubuntu Rootfs, example:

debootstrap --arch=arm64 buster rootfs http://deb.debian.org/debian/

4.4 Flashing the System

Use the <span>dd</span> tool to flash the system image to the SD card:

sudo dd if=rk3399.img of=/dev/sdX bs=4M status=progress && sync

5. RK3399 Application Cases in Embedded Linux

5.1 Industrial Internet of Things (IIoT)

  • Edge Computing, for data preprocessing
  • Industrial Automation, such as smart gateways and PLC controllers
  • Machine Vision, combined with cameras for AI recognition

5.2 AI Computing & Robotics

  • AI visual processing (OCR, object detection)
  • Robot control (combined with ROS development)

5.3 Smart Home & Multimedia

  • 4K smart players, Android TV boxes
  • Smart interactive terminals (voice recognition, touch screens)

5.4 Network Security & Routing

  • OpenWRT + RK3399, building high-performance routers
  • VPN gateways, SD-WAN devices

6. Conclusion

The RK3399, as Rockchip’s high-performance embedded processor, with its six-core CPU, Mali-T860 GPU, 4K video processing capabilities, and rich I/O interfaces, has become an important solution in the embedded Linux field. Its strong community support and good compatibility with Linux / Android / AI computing make it widely used in industrial control, AI computing, smart terminals, and robotics scenarios.

For embedded developers, the RK3399 provides a flexible development environment and rich peripheral support, making it an ideal choice for building high-performance embedded systems!

Leave a Comment