最近,手里正好有一块NanoPC-T6
开发板,主控芯片是Rockchip RK3588
,这块板子也是友善之家的,并且官方有很详细的文档,NanoPC-T6/zh
。
这篇博客主要是对这块板子进行一个介绍,大部分内容也都来自官方手册,由于官方手册是实时更新的,因此,更详细的内容介绍请移步官网。
一、介绍
NanoPC-T6
(简称T6
)是友善电子团队设计出品的一款开源高性能一体化边缘计算平台,它带有双2.5G
网口。它采用瑞芯微RK3588
作为主控处理器, 配备4GB
/8GB
/16GB
LPDDR4x
内存,和32GB
/64GB
/256GB
eMMC
闪存,支持运行FriendlyWrt
,Android
,Debian
和Ubuntu
等多种系统, 支持GPU
和VPU
加速。NanoPC-T6
接口丰富,布局紧凑,主板尺寸只有110x80mm
,可选配安装一体化CNC
氧化铝外壳。它带有2个HDMI
输出接口和1个HDMI IN
接口,可解码播放最高8K60p H.265/VP9
, 以及8K30p H264
等格式视频,并可录制4k60p H.265
格式视频。T6
还具备1个M.2 B-Key
插槽,可安装使用M.2 NVME
固态硬盘, 以及1个M.2 E-Key
插槽, 可安装使用M.2 2230
尺寸的WiFi
无线模块, 还有1个miniPCIe
接口,可安装使用4G LTE
模块。- 另外.
NanoPC-T6
带有1个USB3.0
接口以及1个全功能的USB-C
接口,采用DC-12V
供电。
NanoPC-T6
非常适合企业客户定制开发带有多网口的迷你机器视觉系统,并适合嵌入式爱好者发掘、探索打造自己独具一格的玩法。
1.1 硬件特性
1.1.1 RK3588
(1) CPU
- 四核
ARM Cortex-A76
(up to 2.4GHz
) + 四核Cortex-A55
(up to 1.8GHz
); Integrated 64KB LI instruction cache
,64KB LI data cache and 512KB L2 cache for each Cortex-A76
;Integrated 32KB LI instruction cache
,32KB LI data cache and 128KB L2 cachefor each Cortex-A55
;、Big cluster and little cluster share 3MB L3 cache
;MCU for low power control
;
(2) GPU
ARM Mail-G610 MC4
;High performance OpenGL ES1.1, 2.0 and 3.2, OpenGL 2.2, Vulkan 1.2 etc
;Embedded 4 shader cores with shared hierarchical tiler
;
(3) NPU
6TOPs@int8
;Support int4/int8/int16/FP16/BF16/TF32
;Support deep learning frameworks
:TensorFlow
,Caffe
.Tflite
,Pytorch
,Onnx NN
,Android NN
,etc
;
(4) Memory
64bit LPDDR4/LPDDR4X/LPDDR5
;Support eMMC 5.1 with HS400
,SDIO 3.0 with HS200
,NVMe
,SFC
;
(5) Multi-Media
H.265/H.264/VP9/AV1/AVS2 video decoder
,up to8K@60fps
;H.264AVC/MVC Main10 L6.0: 8K@30fps(7680x4320)
;VP9 Profile0/2 L6.1:8K@60fps(7680x4320)
;H.265 HEVC/MVC Main10 L6.1:8K@60fps(7680x4320)
;AVS2 Profile0/2 L10.2.6: 8K@60fps(7680x4320)
;AV1 Main Profile 8/10bit L5.3: 4K@60fps (3840x2160)
;1080P other video decoders (VC-1,MPEG-1/2/4,VP8,AVS1)
;MPEG-1 up to MP:1080p@60fps(1920x1088)
;MPEG-2 up to MP:1080p@60fps(1920x1088)
;VC-lup to AP level3: 1080p@60fps(1920x1088)
;VP8 version2:1080p@60fps(1920x1088)
;8K@30fps video encoders for H.264/H.265
;
(6) Video Input
-
48M PixelISP with HDR&3DNR
; -
Multiple(4*4 lanes or 4*2 lanes + 2*4 lanes) MIPI CSI-2 and DVP interface
; -
HDMI 2.0 input to 4K@60fps
;
(7) Display
Multiple display engine max to 8K
;Dual HDMI2.1/eDP V1.4 Combo interface
;Dual MIPI-DSI TX, 4 lanes
;Dual DP v1.3 embed in USB 3.1
,Audio
,HDCP2.x
;
(8) Audio Interface
I2S0/I2S1 with 8 channels
;I2S2/I2S3 with 2 channels
;SPDIFO/SPDIF1
;PDMO/PDM1 with 8 channels
;Digital Audio Codec with 2 channels
;VAD (Voice Activity Detection)
;
(9) High Speed Interface
Dual port USB 3.1 with type-C & DP
;Dual port USB 2.0 0TG & dual port USB 2.0 host
;PCle 3.0,4 lanes or 2x2 lanes or 4 x 1 lane
;Three port PCle 2.0/SATA 3.0
Dual RGMll interface
;
(10) Security
ARM Trustzone security extension
;Secure boot
;Secure JTAG to debug
;Key ladder
;Crypto(RSA 2K,HAS 256--)0
;HDCP 2.xfor HDMI and DP/eDP
;
1.1.2 板载外设
RAM
: 64-bit 4GB/8GB/16GB LPDDR4X
频率高达2133MHz
;
Flash
: 32GB/64GB/256GB eMMC
, 最高支持HS400
模式;
microSD
: 最高支持SDR104
模式;
Ethernet
: 2个PCIe
扩展的2.5G
以太网;
4G LTE
: 一个用于扩展4G LTE
的mimiPCIe
插槽和一个microSIM
卡槽;
USB-A:
一个USB 3.0 Type-A
;
USB-C
: 一个全功能USB Type‑C
™接口, 支持USB3.0
数据传输和DP
显示输出,分辨率高达4Kp60
。
视频输入:
1x Standard HDMI input port, up to 4Kp60
;2x4 lane MIPI-CSI, compatible with MIPI V1.2
;
视频输出:
- 2个标准尺寸
HDMI
输出接口;- 兼容
HDMI2.1
,HDMI2.0
, 以及HDMI1.4
; one support displays up to 7680x4320@60Hz
,another one support up to 4Kp60
;Support RGB/YUV(up to 10bit) format
;
- 兼容
USB Type‑C™ DP
显示输出,分辨率高达4Kp60
;2x4 lane MIPI-DSI, compatible with MIPI DPHY 2.0 or CPHY 1.1
;
音频:
3.5mm
双通道耳机接口,;2.0mm PH-2A
模拟麦克风输入接口;
GPIO
:
40-Pin 2.54mm
双排针接口;up to 2xSPIs
,6xUARTs
,1xI2Cs
,8xPWMs
,2xI2Ss
,28xGPIOs
;
M.2 Connectors
:
one M.2 M-Key connector with PCIe 3.0 x4 for NVMe SSDs up to 2,500 MB/s
;one M.2 E-key connector with PCIe 2.1 x1 and USB2.0 Host
;
其他:
2 Pin 1.27/1.25mm RTC battery input connector for low power RTC IC HYM8563TS
;one 38Khz IR receiver
;MASK button for eMMC update, reset button, and Power button
;one 5V Fan connector
;Debug UART, 3-Pin 2.54mm header, 3.3V level, 1500000bps
;2 x GPIO Controlled LED (SYS, LED1)
;
供电电源: DC 12V/2A
;
PCB: 8 Layer, 110x80x1.6mm
;
环境工作温度: 0℃ to 70℃
。
1.2 接口布局和尺寸
下面是我购买的NanoPC-T6
开发板的正反面外形,从PCB
上我们可以看到这个板子上的电气元件的密度是非常大的:
1.2.1 40 Pin GPIO
引脚定义
Pin# | GPIO | SPI | UART | I2C | I2S | PWM | POWER | Description |
---|---|---|---|---|---|---|---|---|
1,17 | VCC3V3_SYS_S3 | 3.3V Power Output, 500mA Max | ||||||
2,4 | VCC_5V0 | 5V Power Output, 500mA Max | ||||||
6,9,14,20,25,30,34,39 | GND | Power and Signal Ground | ||||||
3 | GPIO1_D7 | I2C8_SDA_M2 | T6内部已经通过2.2K上拉到3.3V | |||||
5 | GPIO1_D6 | I2C8_SCL_M2 | T6内部已经通过2.2K上拉到3.3V | |||||
7 | GPIO3_B2 | I2S2_SDI_M1 | 3.3V | |||||
8 | GPIO0_C5 | UART0_TX_M0 | PWM4_M0 | 3.3V | ||||
10 | GPIO0_C4 | UART0_RX_M0 | 3.3V | |||||
11 | GPIO3_C2 | PWM14_M0 | 3.3V | |||||
12 | GPIO3_B7 | 3.3V | ||||||
13 | GPIO3_C3 | PWM15_IR_M0 | 3.3V | |||||
15 | GPIO1_A7 | 3.3V | ||||||
16 | GPIO3_B3 | I2S2_SDO_M1 | 3.3V | |||||
18 | GPIO3_B4 | I2S2_MCLK_M1 | 3.3V | |||||
19 | GPIO1_B2 | SPI0_MOSI_M2 | UART4_RX_M2 | 3.3V | ||||
21 | GPIO1_B1 | SPI0_MISO_M2 | 3.3V | |||||
22 | GPIO1_B5 | SPI0_CS1_M0 | UART7_TX_M2 | 3.3V | ||||
23 | GPIO1_B3 | SPI0_CLK_M2 | UART4_TX_M2 | 3.3V | ||||
24 | GPIO1_B4 | SPI0_CS0_M2 | UART7_RX_M2 | 3.3V | ||||
26 | GPIO1_B0 | 3.3V | ||||||
27 | GPIO1_A0 | UART6_RX_M1 | 3.3V | |||||
28 | GPIO1_A1 | UART6_TX_M1 | 3.3V | |||||
29 | GPIO3_B5 | UART3_TX_M1 | I2S2_SCLK_M1 | PWM12_M0 | 3.3V | |||
31 | GPIO3_B6 | UART3_RX_M1 | I2S2_LRCK_M1 | PWM13_M0 | 3.3V | |||
32 | GPIO0_C6 | PWM5_M1 | 3.3V | |||||
33 | GPIO3_B0 | PWM9_M0 | 3.3V | |||||
35 | GPIO3_A0 | SPI4_MISO_M1 | I2S3_MCLK | PWM10_M0 | 3.3V | |||
36 | GPIO3_A3 | SPI4_CS0_M1 | UART8_RX_M1 | I2S3_SDO | 3.3V | |||
37 | GPIO3_A4 | SPI4_CS1_M1 | I2S3_SDI | 3.3V | ||||
38 | GPIO3_A1 | SPI4_MOSI_M1 | I2S3_SCLK | 3.3V | ||||
40 | GPIO3_A2 | SPI4_CLK_M1 | UART8_TX_M1 | I2S3_LRCK | 3.3V |
1.2.2 MIPI-DSI
MIPI
(Mobile Industry Processor Interface
)是2003
年由ARM, Nokia, ST ,TI
等公司成立的一个联盟,目的是把手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性。
MIPI
联盟下面有不同的WorkGroup
,分别定义了一系列的手机内部接口标准,比如摄像头接口CSI
、显示接口DSI
、射频接口DigRF
、麦克风/喇叭接口SLIMbus
等。
MIPI-DSI
是一种应用于显示技术的串行接口,兼容DPI
(显示像素接口,Display Pixel Interface
)、DBI
(显示总线接口,Display Bus Interface
)和DCS
(显示命令集,Display Command Set
),以串行的方式发送像素信息或指令给外设,还可以从外设中读取状态信息或像素信息,而且在传输过程中享有自己独立的通信协议,包括数据包格式和纠错检错机制。
0.5mm FPC
连接器:
Pin# | MIPI-DSI0 | MIPI-DSI1 | Description |
---|---|---|---|
1,2,3 | VCC_5V0 | VCC_5V0 | 5V Power ouput |
4,7,9,11,15,18,21,24,27,30 | GND | GND | Power and Signal Ground |
5 | I2C5_SDA_M0 | I2C4_SDA_M3 | 3.3V, I2C Data, T6内部已经通过2.2K上拉到3.3V |
6 | I2C5_SCL_M0 | I2C4_SCL_M3 | 3.3V, I2C Clock, T6内部已经通过2.2K上拉到3.3V |
8 | GPIO3_C0 | GPIO4_A0 | 3.3V, GPIO |
10 | GPIO3_B1/PWM2_M1 | GPIO3_D5/PWM11_M3 | 3.3V, GPIO/PWM |
12 | GPIO3_A6 | GPIO4_A3 | 3.3V, GPIO |
13 | /NC | /NC | No Connection |
14 | GPIO3_C1 | GPIO4_A1 | 3.3V, GPIO |
16 | MIPI_DPHY0_TX_D3N | MIPI_DPHY1_TX_D3N | MIPI TX Lane3 ouput N |
17 | MIPI_DPHY0_TX_D3P | MIPI_DPHY1_TX_D3P | MIPI TX Lane3 ouput P |
19 | MIPI_DPHY0_TX_D2N | MIPI_DPHY1_TX_D2N | MIPI TX Lane2 ouput N |
20 | MIPI_DPHY0_TX_D2P | MIPI_DPHY1_TX_D2P | MIPI TX Lane2 ouput P |
22 | MIPI_DPHY0_TX_D1N | MIPI_DPHY1_TX_D1N | MIPI TX Lane1 ouput N |
23 | MIPI_DPHY0_TX_D1P | MIPI_DPHY1_TX_D1P | MIPI TX Lane1 ouput P |
25 | MIPI_DPHY0_TX_D0N | MIPI_DPHY1_TX_D0N | MIPI TX Lane0 ouput N |
26 | MIPI_DPHY0_TX_D0P | MIPI_DPHY1_TX_D0P | MIPI TX Lane0 ouput P |
28 | MIPI_DPHY0_TX_CLKN | MIPI_DPHY1_TX_CLKN | MIPI TX Clock ouput N |
29 | MIPI_DPHY0_TX_CLKP | MIPI_DPHY1_TX_CLKP | MIPI TX Clock ouput P |
1.2.3 MIPI-CSI
接口引脚定义
0.5mm FPC
连接器;
Pin# | MIPI-CSI0 | MIPI-CSI1 | Description |
---|---|---|---|
1,2 | VCC_5V0 | VCC_5V0 | 5V Power ouput |
3,13,15,18,21,24,27,30 | GND | GND | Power and Signal Ground |
4,5,7 | /NC | /NC | No Connection |
6 | VCC_1V8_S3 | VCC_1V8_S3 | 1.8V Power ouput, 100mA Max |
8 | VSYNC_MASTER | VSYNC_SLAVE | 用于两个摄像头的同步信号互联,T6内部已经短接了这两个Pin |
9 | I2C3_SCL_M0 | I2C7_SCL_M0 | 1.8V, I2C Clock, T6内部已经通过2.2K上拉到1.8V |
10 | I2C3_SDA_M0 | I2C7_SDA_M0 | 1.8V, I2C Data, T6内部已经通过2.2K上拉到1.8V |
11 | GPIO4_C4 | GPIO2_C1 | 1.8V, GPIO |
12 | GPIO4_C5 | GPIO2_C2 | 1.8V, GPIO |
14 | MIPI_CAM1_CLKOUT | MIPI_CAM2_CLKOUT | 1.8V, CLock ouput for Sensor |
16 | MIPI_CSI0_RX_D3P | MIPI_CSI1_RX_D3P | MIPI RX Lane3 iuput P |
17 | MIPI_CSI0_RX_D3N | MIPI_CSI1_RX_D3N | MIPI RX Lane3 iuput N |
19 | MIPI_CSI0_RX_D2P | MIPI_CSI1_RX_D2P | MIPI RX Lane2 iuput P |
20 | MIPI_CSI0_RX_D2P | MIPI_CSI1_RX_D2N | MIPI RX Lane2 iuput N |
22 | MIPI_CSI0_RX_D1P | MIPI_CSI1_RX_D1P | MIPI RX Lane1 iuput P |
23 | MIPI_CSI0_RX_D1N | MIPI_CSI1_RX_D1N | MIPI RX Lane1 iuput N |
25 | MIPI_CSI0_RX_CLK0P | MIPI_CSI1_RX_CLK0P | MIPI RX Clock iuput P |
26 | MIPI_CSI0_RX_CLK0N | MIPI_CSI1_RX_CLK0N | MIPI RX Clock iuput N |
28 | MIPI_CSI0_RX_D0P | MIPI_CSI1_RX_D0P | MIPI RX Lane0 iuput P |
29 | MIPI_CSI0_RX_D0N | MIPI_CSI1_RX_D0N | MIPI RX Lane0 iuput N |
1.2.4 串口调试引脚定义
3.3V
电平, 波特率为1500000bps
;
Pin# | Assignment | Description |
---|---|---|
1 | GND | 0V |
2 | UART2_TX_M0_DEBUG | output |
3 | UART2_RX_M0_DEBUG | intput |
1.2.5 电源接口
电源输入接口为5.5*2.1mm DC
连接器。支持5V~20V
输入, 推荐使用12V
电源。
以下是各个外设接口的电源输出能力。请根据实际使用情况计算实际功耗,总和不能超过35W
。注意电源适配器也要有足够的输出功率。
Port | Max Output | Port | Max Output |
---|---|---|---|
USB-A 3.0 | 5V/2A | USB-C/DP | 5V/2A |
M.2 M-Key | 3.3V/3A | M.2 E-Key | 3.3V/3A |
MIPI-CSI0 | 5V/0.5A | MIPI-CSI1 | 5V/0.5A |
MIPI-DSI0 | 5V/1A | MIPI-DSI1 | 5V/1A |
GPIO | 5V/0.5A, 3.3V/0.5A | miniPCIe | 3.3V/3A |
Total | 35W |
1.2.6 RTC
RTC backup current is 0.25μA TYP (VDD =3.0V, TA =25℃)
Connector P/N: Molex 53398-0271
;
1.2.7 IR receiver
Connected to PWM3_IR_M0
;38Khz carrier frequency
;compatible with NEC protocol, User code is 3B4C
;Support FriendlyELEC RC100 IR controller
。
二、更新固件
2.1 准备工作
2.1.1 硬件准备
要开启你的NanoPC-T6
新玩具,请先准备好以下硬件:
NanoPC-T6
开发板;MicroSD
卡/TF
卡:Class10
或以上的8GB SDHC
卡;- 一个
DC
接口的外接电源,要求输出为12V/2A
; - 如果需要开发与编译,则需要一台可以联网的电脑,推荐安装
ubuntu 20.04 64
位系统;
2.1.2 调试串口参数配置
波特率 | 1500000 |
---|---|
数据位 | 8 |
奇偶校验 | None |
停止位 | 1 |
流控制 | None |
2.1.3 固件下载
访问此处的下载地址下载固件文件 (位于网盘的"01_系统固件"目录):下表列出了所有官方固件,文件名中的XYZ
代表文件的不同用途,其含义如下:
sd
: 安装系统到SD
卡时使用;eflasher
: 需要通过SD
卡烧写系统到eMMC
时使用;usb
:USB
线刷时使用;
图标 | 文件名 | 版本 | 描述 | 内核版本 |
---|---|---|---|---|
| rk3588-XYZ-debian-bullseye-core-6.1-arm64-YYYYMMDD.img.gz | bullseye | Debian11 精简版固件,没有桌面, 仅命令行 | 6.1.y |
| rk3588-XYZ-debian-bullseye-minimal-6.1-arm64-YYYYMMDD.img.gz | bullseye | Debian11 系统固件,Xfce桌面, 不预装推荐软件包, 支持GPU/VPU硬件加速 | 6.1.y |
| rk3588-XYZ-debian-bullseye-desktop-6.1-arm64-YYYYMMDD.img.gz | bullseye | Debian11 完整版固件,Xfce桌面, 预装推荐软件包, 支持GPU/VPU硬件加速 | 6.1.y |
| rk3588-XYZ-ubuntu-focal-desktop-6.1-arm64-YYYYMMDD.img.gz | focal | Ubuntu 20.04固件, LXQT桌面,支持GPU/VPU硬件加速 | 6.1.y |
| rk3588-XYZ-ubuntu-jammy-desktop-6.1-arm64-YYYYMMDD.img.gz | jammy | Ubuntu 22.04固件, 使用GNOME与Wayland,预装网页浏览器等推荐软件 | 6.1.y |
| rk3588-XYZ-ubuntu-jammy-minimal-6.1-arm64-YYYYMMDD.img.gz | jammy | 精简版Ubuntu 22.04固件, 使用GNOME与Wayland, 不预装推荐软件 | 6.1.y |
| rk3588-XYZ-ubuntu-jammy-x11-desktop-arm64-YYYYMMDD.img.gz | jammy | Ubuntu 22.04固件, 基于X11与Xubuntu,使用panfrost GPU驱动,集成rkmpp/mpv实现视频硬件加速 | 6.1.y |
| rk3588-XYZ-friendlycore-focal-6.1-arm64-YYYYMMDD.img.gz | focal | FriendlyCore系统固件,预装了Qt5, 仅命令行,基于Ubuntu core 20.04构建 | 6.1.y |
| rk3588-XYZ-androidtv-YYYYMMDD.img.zip | 12 | Android 12 TV | 6.1.y |
| rk3588-XYZ-android12-YYYYMMDD.img.zip | 12 | Android 12 Tablet | 6.1.y |
| rk3588-XYZ-openmediavault-6.1-YYYYMMDD.img.gz | Shaitan | OpenMediaVault NAS系统,基于Debian11构建,已集成Docker | 6.1.y |
| rk3588-XYZ-friendlywrt-21.02-YYYYMMDD.img.gz | 21.02 | FriendlyWrt, 基于OpenWrt 21.02 | 6.1.y |
| rk3588-XYZ-friendlywrt-21.02-docker-YYYYMMDD.img.gz | 21.02 | 预装了Docker的FriendlyWrt, 基于OpenWrt 21.02 | 6.1.y |
| rk3588-XYZ-friendlywrt-23.05-YYYYMMDD.img.gz | 23.05 | FriendlyWrt, 基于OpenWrt 23.05 | 6.1.y |
| rk3588-XYZ-friendlywrt-23.05-docker-YYYYMMDD.img.gz | 23.05 | 预装了Docker的FriendlyWrt, 基于OpenWrt 23.05 | 6.1.y |
Other Image | ||||
| Github Actions - FriendlyWrt云编译版本 | 21.02,23.05 | FriendlyWrt | 6.1.y |
| rk3588-eflasher-multiple-os-YYYYMMDD-25g.img.gz | - | 内含了多个操作系统的eMMC烧写文件,方便测试各个OS |
2.1.4 工具软件(可选)
访问此处的下载链接下载所需要的工具软件 (位于网盘的"05_工具软件"目录).
文件名 | 描述 |
---|---|
win32diskimager.rar | 用于将镜像文件写入SD卡 |
SD Card Formatter | 用于清空SD卡中的引导数据 |
RKDevTool_Release_v2.84.zip | 瑞芯微的刷机工具,USB线刷系统时需要使用此工具 |
2.2 通过SD
卡启动
(1) 首先准备一张8GB
或以上容量的SD
卡;
(2) 访问此处的下载地址下载需要的固件(位于"01_系统固件/01_SD卡固件"目录);这里我们以固件rk3588-sd-android12-20231113.img.gz
为例进行介绍;
(3) 下载烧写工具win32diskimager.rar
(位于"05_工具软件"目录);
(4) 将固件rk3588-sd-android12-20231113.img.gz
和烧写工具win32diskimager.rar
分别解压,在Windows
下插入TF
卡,以管理员身份运行win32diskimager
工具;
(5) 在win32diskimager
工具的界面上, 选择你的SD
卡盘符,选择你要烧写的系统固件,点击Write
按钮烧写即可;
如果出现类似如下错误:建议把系统放在英文路径下尝试;
an error has occurred when attempting to get a handle on the file
(6) 将SD
卡从电脑端弹出,插NanoPC-T6
的microSD
卡槽;
(7) 连接NanoPC-T6
的电源,系统会从SD
卡启动,某些型号可能需要按下Power
键才会启动(对于我使用的开发板需要长按Power
按键1.5秒以上);
2.3 烧录固件到eMMC
将固件烧写到eMMC有多种方法:
-
使用
SD
启动卡进行自动烧写;此方法是通过SD
卡启动一个小型的Linux
系统, 借助名为EFlasher
的工具来烧写固件到eMMC
; -
使用
USB
烧写;
这里我们只介绍如何通过USB
烧写;
2.3.1 安装DriverAssitant_v5.1.1.zip
在"05_工具软件"文件夹找到DriverAssitant_v5.1.1.zip
,进行解压,然后运行DriverInstall.exe
:
2.3.2 下载RKDevTool.exe
这里我们下载了RKDevTool_Release_v2.84.zip
,解压后可以看到RKDevTool.exe
线刷工具和系统分区配置文件(config.cfg
);
这里有详细的通过RKDevTool
烧写固件的使用说明文档。
注意:不同固件使用的工具版本可能不同,请根据《使用USB
线烧写须知(重要)》下载对应的版本。
2.3.3 进入MASKROM
模式
(1) 以管理员身份运行RKDevTool.exe
;
(2) 将开发板连接上电源,并且通过HDMI
接口连接到显示设备,连接Type-C
数据线到PC
;
(3) 按住Mask
键再长按Power
键开机(保持按下Mask
键5秒以上),将强制进入MASKROM
模式,RKDevTool
会显示“发现一个MASKROM
设备”;
注意:如果显示“没有发现设备”,请先检查是否已成功安装驱动,检查Type-C
数据线然后按上述方法重新开机;
(4) 主机应该会提示发现新硬件并配置驱动。打开设备管理器,会见到新设备Rockusb Device
出现,如下图。如果没有,则需要返回上一步重新安装驱动:
2.3.4 烧写固件
固件格式一般有两种格式:
- 单个统一固件:统一固件是由分区表、
bootLOADER
、uboot
、kernel
、system
等所有文件打包合并成的单个文件。升级统一固件将会更新主板上所有分区的数据和分区表,并且擦除主板上所有数据。通常第三方固件会使用这种打包方式; - 多个分区镜像:即各个功能独立的文件,如分区表、
bootLOADER
、kernel
等,在开发阶段生成。独立分区镜像可以只更新指定的分区,而保持其它分区数据不被破坏,在开发过程中会很方便调试。FriendlyELEC
的固件采用这种方式;
2.3.5 烧写单个统一固件
在瑞芯微开发工具RKDevTool.exe
界面上, 点击 “升级固件”, 再点击 “固件” 按钮, 选择你要烧写的固件文件,点击 “升级” 然后等待烧写完成即可, 完成后设备会自动重启,,并从eMMC
启动你刚刚安装的系统;
2.3.6 烧写由多个分区镜像组成的固件
(1) 根据需要到网盘上下载对应的压缩包(位于"01_系统固件/03_USB线刷固件(USB-to-eMMC
)"目录),;
(2) 这里以固件rk3588-usb-debian-bullseye-desktop-6.1-arm64-20231116.zip
为例,在电脑上解压,解压后, 可以看到固件目录下已内置了各个分区镜像文件和预设好的配置文件;
(3) 在瑞芯微开发工具RKDevTool.exe
界面上, 选择 “下载镜像”,右键点击导入配置并选择config.cfg
文件:然后一一选择镜像文件;
注意:如果只想更新部分分区,比如uboot
,那么只需要勾选Loader
、Parameter
以及目标分区uboot
即可。
(4) 点击“执行”按钮, 稍等片刻即可完成烧写,完成后设备会自动重启, 并从eMMC
启动你安装的系统。这里我的开发板会会自动进入debian
桌面系统。
注意:如果烧录失败,请参考《RKDevTool_manual_v1.2_cn.pdf
》。
2.4 启动优先级
当我们同时在SD
卡以及eMMC
烧录了固件,那么启动优先级是怎样的呢?
默认情况下, 会优先从SD
卡启动系统, 但并不是所有条件下都是这样, 本节内容将详细说明所有情况;
Rockchip
提供了两种不同的启动加载程序方法:
TPL/SPL
加载:U-BootTPL/SPL
(即主线U-Boot
);- 官方固件加载;
Rockchip idbloader
;
需要留意的是:
FriendlyELEC
发布的所有Rom
均采用的都是第2种,即Rockchip idbloader
;- 第三方固件通常采用的是第1种, 即
U-Boot TPL/SPL
总结如下:
eMMC当前系统 | SD卡当前系统 | 启动优先级 |
---|---|---|
无系统 | 任意固件 | SD卡 |
FriendlyELEC的固件 | FriendlyELEC的固件 | SD卡 |
FriendlyELEC的固件 | 采用主线U-boot的固件 | eMMC |
采用主线U-boot的固件 | FriendlyELEC的固件 | eMMC |
采用主线U-boot的固件 | 采用主线U-boot的固件 | eMMC |
参考文章:
[1] NanoPC-T6
开发手册
[2] 瑞芯微官方手册