程序项目代做,有需求私信(vue、React、Java、爬虫、电路板设计、嵌入式linux等)

Rockchip RK3588 - NanoPC-T6开发板介绍

最近,手里正好有一块NanoPC-T6开发板,主控芯片是Rockchip RK3588,这块板子也是友善之家的,并且官方有很详细的文档,NanoPC-T6/zh

这篇博客主要是对这块板子进行一个介绍,大部分内容也都来自官方手册,由于官方手册是实时更新的,因此,更详细的内容介绍请移步官网。

一、介绍

  • NanoPC-T6(简称T6)是友善电子团队设计出品的一款开源高性能一体化边缘计算平台,它带有双2.5G网口。它采用瑞芯微RK3588作为主控处理器, 配备4GB/8GB/16GB LPDDR4x内存,和32GB/64GB/256GB eMMC闪存,支持运行FriendlyWrt, Android, DebianUbuntu等多种系统, 支持GPUVPU加速。
  • 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 HS200NVMeSFC

(5) Multi-Media

  • H.265/H.264/VP9/AV1/AVS2 video decoderup 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 LTEmimiPCIe插槽和一个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上我们可以看到这个板子上的电气元件的密度是非常大的:

NanoPC-T6 Layout-L.jpg

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

T6-rtc.png
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线刷时使用;
图标 文件名 版本 描述 内核版本
Debian-icon.svg rk3588-XYZ-debian-bullseye-core-6.1-arm64-YYYYMMDD.img.gz bullseye Debian11 精简版固件,没有桌面, 仅命令行 6.1.y
Debian-icon.svg rk3588-XYZ-debian-bullseye-minimal-6.1-arm64-YYYYMMDD.img.gz bullseye Debian11 系统固件,Xfce桌面, 不预装推荐软件包, 支持GPU/VPU硬件加速 6.1.y
Debian-icon.svg rk3588-XYZ-debian-bullseye-desktop-6.1-arm64-YYYYMMDD.img.gz bullseye Debian11 完整版固件,Xfce桌面, 预装推荐软件包, 支持GPU/VPU硬件加速 6.1.y
Ubuntu-icon.svg rk3588-XYZ-ubuntu-focal-desktop-6.1-arm64-YYYYMMDD.img.gz focal Ubuntu 20.04固件, LXQT桌面,支持GPU/VPU硬件加速 6.1.y
Ubuntu-icon.svg rk3588-XYZ-ubuntu-jammy-desktop-6.1-arm64-YYYYMMDD.img.gz jammy Ubuntu 22.04固件, 使用GNOME与Wayland,预装网页浏览器等推荐软件 6.1.y
Ubuntu-icon.svg rk3588-XYZ-ubuntu-jammy-minimal-6.1-arm64-YYYYMMDD.img.gz jammy 精简版Ubuntu 22.04固件, 使用GNOME与Wayland, 不预装推荐软件 6.1.y
Ubuntu-icon.svg rk3588-XYZ-ubuntu-jammy-x11-desktop-arm64-YYYYMMDD.img.gz jammy Ubuntu 22.04固件, 基于X11与Xubuntu,使用panfrost GPU驱动,集成rkmpp/mpv实现视频硬件加速 6.1.y
Ubuntu-icon.svg rk3588-XYZ-friendlycore-focal-6.1-arm64-YYYYMMDD.img.gz focal FriendlyCore系统固件,预装了Qt5, 仅命令行,基于Ubuntu core 20.04构建 6.1.y
Android-icon.svg rk3588-XYZ-androidtv-YYYYMMDD.img.zip 12 Android 12 TV 6.1.y
Android-icon.svg rk3588-XYZ-android12-YYYYMMDD.img.zip 12 Android 12 Tablet 6.1.y
Openmediavault250.png rk3588-XYZ-openmediavault-6.1-YYYYMMDD.img.gz Shaitan OpenMediaVault NAS系统,基于Debian11构建,已集成Docker 6.1.y
Openwrt-icon.svg rk3588-XYZ-friendlywrt-21.02-YYYYMMDD.img.gz 21.02 FriendlyWrt, 基于OpenWrt 21.02 6.1.y
Openwrt-icon.svg rk3588-XYZ-friendlywrt-21.02-docker-YYYYMMDD.img.gz 21.02 预装了Docker的FriendlyWrt, 基于OpenWrt 21.02 6.1.y
Openwrt-icon.svg rk3588-XYZ-friendlywrt-23.05-YYYYMMDD.img.gz 23.05 FriendlyWrt, 基于OpenWrt 23.05 6.1.y
Openwrt-icon.svg rk3588-XYZ-friendlywrt-23.05-docker-YYYYMMDD.img.gz 23.05 预装了Docker的FriendlyWrt, 基于OpenWrt 23.05 6.1.y
Other Image
Openwrt-icon.svg Github Actions - FriendlyWrt云编译版本 21.02,23.05 FriendlyWrt 6.1.y
Linux-tux.svg 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-T6microSD卡槽;

(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 烧写固件

固件格式一般有两种格式:

  • 单个统一固件:统一固件是由分区表、bootLOADERubootkernelsystem等所有文件打包合并成的单个文件。升级统一固件将会更新主板上所有分区的数据和分区表,并且擦除主板上所有数据。通常第三方固件会使用这种打包方式;
  • 多个分区镜像:即各个功能独立的文件,如分区表、bootLOADERkernel等,在开发阶段生成。独立分区镜像可以只更新指定的分区,而保持其它分区数据不被破坏,在开发过程中会很方便调试。 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,那么只需要勾选LoaderParameter以及目标分区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] 瑞芯微官方手册

posted @ 2023-12-04 00:33  大奥特曼打小怪兽  阅读(294)  评论(3编辑  收藏  举报
如果有任何技术小问题,欢迎大家交流沟通,共同进步