1 ROCK Pi 4B+ 基本情况
1.1 介绍
ROCK Pi 4 是 Radxa 公司基于 ROCK 芯片 RK3399 的SBC(单板计算机)。它可以运行 android 或一些 Linux 发行版。ROCK Pi 4 采用六核 ARM 处理器,64 位双通道 3200Mb/s LPDDR4,最高可达 4K@60HDMI、MIPI DSI、MIPI CSI、带麦克风的 3.5 毫米插孔、802.11 ac WIFI、蓝牙 5.0、USB 端口、GbE LAN、40 针彩色扩展头、RTC。此外,ROCK Pi 4支持USB PD和QC供电。来自【 Rockpi4 - Radxa Wiki】。
4B+ 相较于 4B,主要是板载了 eMMC,其他一致。
1.2 详细参数
Model | ROCK PI 4 Model B / B Plus |
Processor | 64bits hexa core processor Rockchip RK3399 Dual Cortex-72, frequency 1.8GHz with qual Cortex-A53, frequency 1.4GHz Mali T860MP4 gpu, support OpenGL ES 1.1/2.0/3.0/3.1/3.2, Vulkan 1.0, Open CL 1.1 1.2, DX11. |
Memory | LPDDR4 64bit dual channel LPDDR4@3200Mb/s, 1GB/2GB/4GB optioal |
Storage | eMMC module (Optional industrial compatible high performance eMMC module, 8GB/16GB/32GB/64GB/128GB available) μSD card (μSD slot supports up to 128 GB μSD card) M.2 SSD (M.2 connector supports up to 2T M2 NVME SSD) |
Display | HDMI 2.0 up to 4k@60 MIPI DSI 2 lanes via FPC connector HDMI and MIPI DSI can work at the same time, support mirror mode or extend mode. |
Audio | 3.5mm jack with mic HD codec that supports up to 24-bit/96KHz audio. |
Camera | MIPI CSI 2 lanes via FPC connector, support up to 800 MP camera. |
Wireless | 802.11 ac wifi Bluetooth 5.0 with on board antenna |
USB | USB 3.0 OTG X1, hardware switch for host/device switch, upper one USB 3.0 HOST X1, dedicated USB 3.0 channel, lower one USB 2.0 HOST X2 |
Ethernet | GbE LAN with Power over Ethernet (PoE) support additional HAT is required for powering from PoE |
IO | 40-pin expansion header 2 x UART 2 x SPI bus 3 x I2C bus 1 x PCM/I2S 1 x SPDIF 2 x PWM 1 x ADC 6 x GPIO 2 x 5V DC power in 2 x 3.3V DC power in |
Others | RTC RTC battery connector for time backup(optional) |
Power | USB PD, support USB Type C PD 2.0, 9V/2A, 12V/2A, 15V/2A, 20V/2A. Qualcomm® Quick ChargeTM: Supports QC 3.0/2.0 adapter, 9V/2A, 12V/1.5A |
Size | 85mm x 54mm |
来自【 Rockpi4/getting started - Radxa Wiki】。
2 ROCK Pi 4B+ 硬件说明
2.1 4B+ 产品型号
SKU | RAM | eMMC | PD/QC | WiFi/BT | Antenna | HW REV | Note |
RS114-A4E32 | 4GB | 32GB | HT188+LDR6015 | - | - | v1.6 | EoL |
RS114-A2E16 | 2GB | 16GB | CH224D | - | - | v1.72 | |
RS114-A4E32 | 4GB | 32GB | CH224D | - | - | v1.72 | |
RS114-A4E64 | 64GB | CH224D | - | - | v1.72 | ||
RS114-A4E128 | 128GB | CH224D | - | - | v1.72 | ||
RS114-B4E32 | 4GB | 32GB | HT188+LDR6015 | AP6256 | On board | v1.6 | EoL |
RS114-B2E16 | 2GB | 16GB | CH224D | AP6256 | On board | v1.72 | |
RS114-B4E32 | 4GB | 32GB | CH224D | AP6256 | On board | v1.72 | |
RS114-B4E64 |
| 64GB | CH224D | AP6256 | On board | v1.72 |
|
RS114-B4E128 | 128GB | CH224D | AP6256 | On board | v1.72 | ||
RS114-B4E32T | 4GB | 32GB | CH224D | AP6256 | u.FL connector | v1.72 | |
RS114-B4E64T | 64GB | CH224D | AP6256 | u.FL connector | v1.72 | ||
RS114-B4E128T | 128GB | CH224D | AP6256 | u.FL connector | v1.72 |
来自【 https://wiki.radxa.com/Rockpi4/hardware/models】。
笔者选购的是 RS114-B4E64 ,板载 64G EMMC、WIFI/BT,某宝带散热片共 676 米。硬件相关的资料可参考官网【Rockpi4/hardware - Radxa Wiki】。
2.2 CPU
RK3399 有 6 个 CPU 内核,2 个大内核 A72,4 个小内核 A53。在 Linux 中,CPU0 到 CPU3 是小内核,CPU5 和CPU6 是大内核。
查看 cpu[0 - 3] 支持的频率:
1 2 | # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 408000 600000 816000 1008000 1200000 1416000 |
查看 cpu[4 - 5] 支持的频率:
1 2 | # cat /sys/devices/system/cpu/cpu5/cpufreq/scaling_available_frequencies 408000 600000 816000 1008000 1200000 1416000 1608000 1800000 |
查看 cpu[0 - 3] 当前的频率:
1 2 3 4 5 | # cat /sys/devices/system/cpu/cpu[0123]/cpufreq/cpuinfo_cur_freq 1416000 1416000 1416000 1416000 |
设置 cpu[4 - 5] 为最大频率:
1 2 | # echo 1008000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq # echo 1008000 > /sys/devices/system/cpu/cpu5/cpufreq/scaling_max_freq |
关闭两个大核心
1 2 | # echo 0 > /sys/devices/system/cpu/cpu4/online # echo 0 > /sys/devices/system/cpu/cpu5/online |
来自【 https://wiki.radxa.com/Rockpi4/hardware/cpu】。
2.3 GPIO
ROCK Pi 4B+ 有一个 40 PIN 扩展排针,通过不同颜色区分引脚的功能。
GPIO number | Function2 | Function1 | GPIO | Pin# | Pin# | GPIO | Function1 | Function2 | GPIO number |
+3.3V | 1 | 2 | +3.3V | ||||||
71 | I2C7_SDA | GPIO2_A7 | 3 | 4 | +5.0V | ||||
72 | I2C7_SCL | GPIO2_B0 | 5 | 6 | GND | ||||
75 | SPI2_CLK | GPIO2_B3 | 7 | 8 | GPIO4_C4 | UART2_TXD | 148 | ||
GND | 9 | 10 | GPIO4_C3 | UART2_RXD | 147 | ||||
146 | PWM0 | GPIO4_C2 | 11 | 12 | GPIO4_A3 | I2S1_SCLK | 131 | ||
150 | PWM1 | GPIO4_C6 | 13 | 14 | GND | ||||
149 | SPDIF_TX | GPIO4_C5 | 15 | 16 | GPIO4_D2 | 154 | |||
+3.3V | 17 | 18 | GPIO4_D4 | 156 | |||||
40 | UART4_TXD | SPI1_TXD | GPIO1_B0 | 19 | 20 | GND | |||
39 | UART4_RXD | SPI1_RXD | GPIO1_A7 | 21 | 22 | GPIO4_D5 | 157 | ||
41 | SPI1_CLK | GPIO1_B1 | 23 | 24 | GPIO1_B2 | SPI1_CSn | 42 | ||
GND | 25 | 26 | ADC_IN0 | ||||||
64 | I2C2_SDA | GPIO2_A0 | 27 | 28 | GPIO2_A1 | I2C2_CLK | 65 | ||
74 | I2C6_SCL | SPI2_TXD | GPIO2_B2 | 29 | 30 | GND | |||
73 | I2C6_SDA | SPI2_RXD | GPIO2_B1 | 31 | 32 | GPIO3_C0 | SPDIF_TX | UART3_CTSn | 112 |
76 | SPI2_CSn | GPIO2_B4 | 33 | 34 | GND | ||||
133 | I2S1_LRCK_TX | GPIO4_A5 | 35 | 36 | GPIO4_A4 | I2S1_LRCK_RX | 132 | ||
158 | GPIO4_D6 | 37 | 38 | GPIO4_A6 | I2S1_SDI | 134 | |||
GND | 39 | 40 | GPIO4_A7 | I2S1_SDO | 135 |
其中,
- 橙色标记的引脚是该 GPIO 在 ROCK Pi 系统下的默认功能。
- 除电源引脚(+3.3V、+5.0V 和 GND)外,其余管脚均直接与 SoC RK3399 连接。
- I2C:引脚 3、5、27、28、29 和 31,均外接 4.7K 电阻上拉至 3.0V 电源。
- SPI:引脚 19、21、23 和 24 ,由 SoC 的 SPI1 外设直接引出。
- 引脚 7 与板上 MIPI CSI 的引脚直连(笔者理解为 IO 复用,直接使用会有干扰)。
- UART
- 默认情况下,UART2 作为 U-boot 和 Linux 串行控制台启用。查看【Rockpi4/dev/serial-console - Radxa Wiki】如何使用。查看【Rockpi4/hardware/devtree overlays - Radxa Wiki】如何失能(关闭)UART2 串口控制。下文会提到如何使用。
- UART2 和 UART4 支持多种波特率。它包括但不限于以下波特率。例如,115200bps. 500000bps, 1500000bps 等。
- 对于 v1.4及更高版本的硬件,焊接了板载 4MB(32Mbit) SPI Flash 外设( 用于存放 boot loader,参考 v1.4 更新 [A 4MB(32Mbit) SPI flash is pasted by default, for future SPI booting support]),故 UART4 引脚复用作 SPI 功能。
- I2C-2和I2C-7
- 官方正在测试 I2C E2PROM 外设,需要打开 I2C 设备文件,然后进行读/写操作(用于存放 MAC 地址,参考 v1.6 更新 [Add EEPROM (BL24C16A) for mac address and serial no.] )。
来自【 Rockpi4/hardware/gpio - Radxa Wiki】。
2.4 LED
ROCK Pi 4 上板载两个 LED 灯。
电源指示灯:绿色。常亮用于指示系统供电是否正常。
状态指示灯:
- 红色,v1.3 版本,指示系统状态。
- 蓝色,v1.4 版本(v1.72 为蓝色,故此处表示此后版本沿用),指示系统状态。
- 对于较新的内核(具体版本,未指明,v1.72 符合),状态指示灯配置为心跳灯,在系统成功引导后或启动时闪烁。
它的功能可以根据需要改变。
1 2 | # cat /sys/class/leds/user-led2/trigger none rc-feedback kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock mmc0 mmc1 timer oneshot [heartbeat] backlight gpio cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 default-on rfkill0 mmc2 rfkill1 rfkill2 |
例如,要将其设置为显示 eMMC 读/写状态:
1 | # echo mmc1 > /sys/class/leds/user-led2/trigger |
来自 【 Rockpi4/hardware/led - Radxa Wiki>】。
2.5 eMMC
ROCK Pi 4 没有板载存储,而是使用 eMMC 模块。eMMC 模块的好处是用户可以根据需要选择存储设备,也减少了主板 SKU。此外,可插拔的eMMC模块使切换操作系统成为可能。笔者购买的是 4B+,已板载 eMMC,故此部分可自行官网学习,同样官网也提供了 eMMC 模块的系统烧录方法【Rockpi4/hardware/emmc - Radxa Wiki 和 Rockpi4/hardware/usb3 eMMC reader - Radxa Wiki】。
2.6 RTC 电池
ROCK Pi 4 保留一个 RTC 电池连接器,以便在关机时保持时间。RTC 功能由 RK808 PMIC 提供。RTC 电池规格如下:
- 连接器类型:XH1.25mm
- 电压:3.0V
- 电池型号:CR2032
笔者未购买,后续可采购一个或做 PCB 转接板的时候做在板子上。
2.7 散热片
官方提供图纸,笔者推荐购买ROCK Pi 时一起购买。
2.8 显示与相机
ROCK Pi 目前屏幕与摄像头与树莓派官方兼容处理,具体参考:
HDMI显示【Rockpi4/hardware/display - Radxa Wiki】。
MIPI CSI/USB摄像头【Rockpi4/hardware/camera/ - Radxa Wiki】。
2.9 HATs 扩展板
官方目前提供 PoE/SATA 的扩展板。
POE 【ROCKPI 23W PoE HAT - Radxa Wiki】。
STAT 【Dual Quad SATA HAT - Radxa Wiki】和 【Penta SATA HAT - Radxa Wiki】。
2.10 M.2 扩展板
官方提供了扩展板的尺寸与原理图,笔者准备 JLC PCB来一块!
2.11 SPI Flash
RK3399 可以从 SPI/SD卡/eMMC引导,引导的 SPI 总线是 SPI1 。ROCK Pi 4 v1.3 和更早的版本预留了 Flash 但未焊接(v1.72 已焊接)。有几个原因:
- SPI 在扩展排针上引出,如果将其用作引导 ROM,则无法连接驱动其他 SPI 外设。
- 如果 SPI Flash 中的 bootloader 损坏,它将使 ROCK Pi 4 变砖。
- Bootloader 以前不支持从 USB3 或 NVMe 引导,而且缺少一些工具来轻松写入 SPI Flash。
2.12 设备树
查看【Rockpi4/hardware/devtree overlays - Radxa Wiki】。
3 ROCK Pi 4B+ 从 USB OTG 端口将镜像安装到 eMMC
ROCK Pi 4 支持 Maskrom 模式,这是 CPU 等待 USB OTG 端口命令的一种特殊操作模式。在 Linux/macOS 平台中使用工具 rkdeveloptool,在 Windows 平台下使用工具 RKDevTool。
3.1 设备准备
- 支持此方法的设备如下:
- ROCK Pi 4A
- ROCK Pi 4A Plus
- ROCK Pi 4B
- ROCK Pi 4B Plus
- ROCK Pi 4C
- 板载 eMMC / eMMC 模块。
- USB Type-C 电源适配器(5V-3A)。
- 双公头 USB 线,实际上应称为 OTG 线,主要应用于不同的设备或移动设备间的联接,进行数据交换。简单来说,USB 是针对计算机与外部设备的连接和通信,OTG 是针对无计算机的情况下,设备之间的数据传输。
红色标注的为笔者准备的硬件,此外,还准备了用于调试的USB转串口、以太网线、无线路由器。
来自【Rockpi4/dev/usb-install - Radxa Wiki】。
3.2 软件准备
- 安装 RKDevTool
- 下载地址【https://dl.radxa.com/tools/windows/RKDevTool_Release_v2.81.zip】。
- 软件为压缩包,解压后直接使用。
- 安装 DriverAssitant
- 下载地址 【https://dl.radxa.com/tools/windows/DriverAssitant_v5.0.zip】。
- 软件为压缩包,解压后安装使用。
- 若之前安装不同版本,需要先进行卸载。
- Linux/macOS 平台请参考【Rockpi4/install/rockchip-flash-tools - Radxa Wiki】。
3.3 镜像准备
- 官网镜像下载 【Rockpi4/downloads - Radxa Wiki】。
- Github 最新镜像地址 【Releases · radxa/rock-pi-images-released · GitHub】。
- 由于 Github 下载速度较慢,笔者已经将最新的 Ubuntu Server 20.04、 Debian Buster Desktop 镜像和 Bootloader 上传百度云,方便各位:
- 链接:【 百度网盘 请输入提取码】 提取码:ROCK
- 微信二维码
3.4 引导 ROCK Pi 4B+ 进入 Maskrom 模式
1)切断 ROCK Pi 电源。
2)连接 USB 转串口(本人自制的 CH9344 USB 转四串口),软件采用 MobaXterm,串口配置波特率 1.5 Mbps、数据位 8 bits、停止位 1 bits、无奇偶校验、无硬件流控 。
① 硬件连接
ROCK Pi 4 B+ | <---> | USB to TTL module |
RX(pin 10) | <---> | TX |
TX(pin 8) | <---> | RX |
GND(pin 6) | <---> | GND |
② 软件设置
3)短路板载的 SPI Flash,即扩展引脚的 23脚 SPI_CLK 和 25 脚 GND。
4)移除 SD 卡。
5)确认 eMMC(4B+ 版本外安装 eMMC 模块)。
6)连接 ROCK Pi 4B+ OTG port(USB 3.0 接口的上面一个)与 PC USB口。
7)ROCK Pi 4B+ 版本按下 Maskrom 模式按键(1: Reset 2: Maskrom 3: Recovery),等上电后再松开。
8)确认 ROCK Pi 4B+ 是否处于 Maskrom 模式。Windows下,打开 RKDevTool 软件,观察提示栏信息:
Windows 11 设备管理器
RKDevTool 软件
9)下载镜像。
① 右键配置下载项。
② 配置分区名字。
③ 装载 Loader 与 Ubuntu 镜像。
RKDevTool 软件
10)下载完毕,自动重启,用户名与密码均为 rock。
RKDevTool 软件
串口 Log
11)插上网线重启 sudo reboot(主要是之前忘了,懒得重新刷机)。
TP-LINK 查看 ROCK Pi 信息
Ping baidu 成功
PC ping ROCK Pi 4B+ 成功
4 总结
- 实际在刷机过程中,无需断电再上电,只需先按下 Maskrom 按键,再按下 Reset 按键即可进入 Maskrom 模式。
- 下篇文章准备学习并更新:
- 如何安装 Ubuntu Server 桌面?
- 如何通过 SSH 终端连接 ROCK Pi 4B+?
- 如何对 ROCK Pi 4B+ 的 GPIO 进行控制?