Rk3399

来自百问网嵌入式Linux wiki

SOC特征

  • CPU:
    • Big.Little architecture: Dual Cortex-A72 + Quad Cortex-A53, 64-bit CPU
    • Frequency is over 1.8GHz (Big cluster)
    • L1 cache
      • 48KB Icache and 32KB Dcache for each A72
      • 32KB Icache and 32KB Dcache for each A53
    • L2 cache
      • 1024KB for big cluster
      • 512KB for little cluster
  • Internal SRAM
    • 192KB total
    • 4KB used by bootrom when bootup
  • GPU:
    •  Mali-T864 GPU, OpenGL ES1.1/2.0/3.0/3.1, OpenCL, DX11
    • Supports AFBC (ARM Frame Buffer Compression)
  • Display:
    • Dual VOP: one supports 4096x2160 with AFBC supported;The other supports 2560x1600
    • Dual channel MIPI-DSI (4 lanes per channel)
    • eDP 1.3 (4 lanes with 10.8Gbps) to support display, with PSR
    • HDMI 2.0 for 4K 60Hz with HDCP 1.4/2.2
    • DisplayPort 1.2 (4 lanes, up to 4K 60Hz)
    • Supports Rec.2020 and conversion to Rec.709
  • Camera:
    •  Dual mipi CSI,dual ISP,Maximum input resolution of 13M pixels
  • Memory:
    • Dual channels 64-bit DRAM controller
    • Support DDR3/DDR3L, LPDDR3, LPDDR4
  • Connectivity:
    • PCIe 2.1 (4 full-duplex lanes with 20Gbps)
    • Embedded low power MCU for other application
    • 8 channels I2S supports 8 channels RX or 8 channels TX
RK3399 Block Diagram.png

参考资料

这里面提供了主流芯片的 TRM、Datasheet 以及硬件设计指南。
TRM 是技术参考手册,里面包含芯片各模块到寄存器级别的详细信息,是进行底层软件开发必读的资料。
Datasheet 是关于芯片的简介信息,做方案选型的时候可以用来做参考。
其中 BSP 描述了 U-Boot,Linux kernel 这些代码的编译和打包方法。
Graphics 和 Multimedia 描述了 Rockchip 平台图形图形以及多媒体编解码的软件框架。
Tools 和 Firmware 主要描述了芯片启动和固件烧写相关流程,对于Bootloader 相关的开发帮助很大。
可以看到 Rockchip 在这个账户下开放了 100 多个仓库,包含了 u-boot、linux kernel、mpp(多媒体)、libmali(GPU) 等重要模块。
其中 doc 是一个尤其值得去关注的仓库,里面包含了 RK 平台上各个模块的详细设计使用文档,是深入理解 RK 平台的重要参考文件。


知名开源项目对 Rockchip 平台的支持

从 git 提交记录看,无论是 RK 自己还是海外的一些开源爱好者,对 RK 平台的支持都十分积极,几乎每个版本都能看到针对 RK 平台的大量代码提交支持。大量基于 RK 平台的开发板都可以用 mainline 的 U-Boot 和 Linux Kernel 直接启动。
尤其是随着最近 Linux 5.3 的发布,里面加入了对 Arm Mali GPU 的支持,现在用 mainline 的 Linux kernel 已经可以把 Rockchip 平台上的 mali GPU 用起来了。
Armbian 专门为各种 Arm 开发板提供 Debian 和 Ubuntu 的适配镜像,支持了大量基于 RK 芯片的开发板。
玩家们可以直接下载 Armbian 官方发布的编译好的镜像,也可以直接下载 Armbain 的代码自己编译。
Libreelec 是一个基于 Kodi 的专注于多媒体播放的类 TV OS,通过它可以把你的开发板打造成一个流畅易用的电视盒子。他也对大量基于 RK 芯片的开发板提供了良好的支持。
Lakka 是一个开源的面向手柄类游戏机的 OS,通过它可以把你的开发板打造成一个强大的游戏手柄。
可以直接下载他们官网提供的固件,也可以下载源码自己编译。
Collabora 是一个著名的开源组织,他们为 Rockchip平台向 LinuxKernel mainline 提交了大量代码为 Rockchip平台的 GPU图形加速和多媒体提供了大量的支持。
阅读他们的博客可以及时了解到 Linux开源社区的技术新动向。