前段时间朋友寄过来一块ArmSoM-Sige7
开发板,本来想分享一些相关的内容,但是由于最近一段时间由于较忙,这件事就一直耽搁下来了。
一、介绍
ArmSoM-Sige7
采用Rockchip RK3588
新一代旗舰级八核64
位处理器,主频高达2.4GHz
,6 TOPS
算力NPU
,最大可配32GB
大内存。支持8K
视频编解码,拥有丰富的接口,支持双2.5G
网口、WiFi6 & BT5
和多种视频输出。支持多种操作系统, 可适用于ARM PC
、边缘计算、云服务器、人工智能、云计算、虚拟/增强现实、区块链、智能NVR
等领域
1.1 硬件特性
1.1.1 RK3588
关于RK3588 SoC
这里不过多介绍,具体参考《Rockchip RK3588 - NanoPC-T6
开发板介绍》。
关键参数:
类别 | 功能参数 |
---|---|
SoC | RockChip RK3588 |
CPU | RK3588 四核Cortex-A76@ 2.4GHz+四核Cortex-A55@ 1.8GHz,8纳米制程 |
GPU | GPU Mali-G610 MP4 (4x256KB L2 Cache) 支持 OpenGL ES3.2/OpenCL2.2/Vulkan1.1 |
NPU | 6 TOPS@INT8(3 NPU core) 支持 INT4/INT8/INT16 混合运算 支持深度学习框架:TensorFlow/MXNet/PyTorch/Caffe/Tflite/Onnx NN/Android NN 等 |
VPU/编解码 | 硬解码:8K@60fps H.265/VP9/AVS2、 8K@30fps H.264 AVC/MVC、 4K@60fps AV1、1080P@60fps MPEG-2/-1/VC-1/VP8 硬编码:8K@30fps H.265/H.264 |
ISP | 集成48MP ISP with HDR&3DNR |
1.1.2 板载外设
类别 | 功能参数 |
---|---|
RAM | 8GB/16GB/32GB(最高可配 32GB )64bit LPDDR4/LPDDR4x,默认LPDDR4x 8GB |
Flash | 16GB/32GB/64GB/128GB eMMC,默认eMMC 64GB 支持MicroSD卡扩展 |
PCIe | 1x M.2 Key M 接口(PCIe 3.0 4- lanes),可拓展 SSD:Type 2280/2260/2242/2230,目前默认使用2280 |
网络 | 2x 2.5G网口 板载 IEEE 802.11a/b/g/n/ac/ax WIFI6 和 BT5 (AP6275P) |
视频输出 | 1x HDMI OUT2.1,支持 8K@60fps 1xMIPI DSI 分辨率最高可达 4K@60fps 1x DP1.4 分辨率最高可达 8K@30fps |
视频输入 | 2x 2Lanes MIPI CSI,每线最高 2.5Gbps |
音频 | 1x HDMI音频输出 1x HP-OUT 音频输出 1x USB Type-C 3.0 (DP1.4)音频输出 |
USB接口 | 1x USB3.0(支持USB3.1 Gen1),高达5Gbps数据速率 1x USB Type-C 3.0(DP1.4/OTG) 1x USB2.0,支持高速(480Mbps)、全速(12Mbps)和低速(1.5Mbps)模式 |
40-pin | 和树莓派40pin可完全兼容,可接丰富的配件外设 支持 UART/SPI/I2C/I2S/PWM/ADC/5V Power/3.3V Power |
其他 | 1x 5V风扇接口 1x 电池输入连接器用于低功耗RTC芯片 LK8563S 的供电 2x LED灯,系统正常时绿色灯开始闪烁,红色灯由用户控制 |
电源 | 支持USB Type-C PD 2.0, 9V/2A, 12V/2A, 15V/2A |
按键 | 1x PWRON键,支持休眠唤醒 1x Reset键,支持重启 1x Maskrom键,支持进入maskrom烧录模式 |
1.2 接口布局和尺寸
下面是ArmSoM-Sige7
开发板的正反面外形,从PCB
上我们可以看到这个板子上的电气元件的密度是非常大的:
尺寸为:92 mm x 62mm
,工作温度0℃ ~ 80℃
。
1.2.1 40 Pin GPIO
引脚定义
GPIO number | 功能 | Pin | Pin | 功能 | GPIO number |
---|---|---|---|---|---|
+3.3V | 1 | 2 | +5.0V | ||
139 | I2S1_SDO2_M0 / I2C7_SDA_M3 / UART8_CTSN_M0 / PWM15_IR_M1 / CAN1_TX_M1 / GPIO4_B3 / | 3 | 4 | +5.0V | |
138 | I2S1_SDO1_M0 / I2C7_SCL_M3 / UART8_RTSN_M0 / PWM14_M1 / CAN1_RX_M1 / GPIO4_B2 | 5 | 6 | GND | |
115 | SPI1_CS1_M1 / I2C8_SDA_M4 / UART7_CTSN_M1 / PWM15_IR_M0 / GPIO3_C3 | 7 | 8 | GPIO0_B5 /UART2_TX_M0/ I2C1_SCL_M0 / I2S1_MCLK_M1 / JTAG_TCK_M2 | 13 |
GND | 9 | 10 | GPIO0_B6 /UART2_RX_M0/ I2C1_SDA_M0 / I2S1_SCLK_M1 / JTAG_TMS_M2 | 14 | |
113 | SPI1_CLK_M1 / UART7_RX_M1 / GPIO3_C1 | 11 | 12 | GPIO3_B5 / CAN1_RX_M0 / PWM12_M0 /UART3_TX_M1 / I2S2_SCLK_M1 | 109 |
111 | SPI1_MOSI_M1 / I2C3_SCL_M1 / GPIO3_B7 | 13 | 14 | GND | |
112 | SPI1_MISO_M1 / I2C3_SDA_M1 / UART7_TX_M1 / GPIO3_C0 | 15 | 16 | GPIO3_A4 / SPI4_CS1_M1 / I2S3_SDI / UART8_RTSN_M1 | 100 |
+3.3V | 17 | 18 | GPIO4_C4 / PWM5_M2 / SPI3_MISO_M0 | 148 | |
42 | SPI0_MOSI_M2 / UART4_RX_M2 / GPIO1_B2 | 19 | 20 | GND | |
41 | SPI0_MISO_M2 / GPIO1_B1 | 21 | 22 | SARADC_IN4 | |
43 | SPI0_CLK_M2 / UART4_TX_M2 / GPIO1_B3 | 23 | 24 | GPIO1_B4 / UART7_RX_M2 /SPI0_CS0_M2 | 44 |
GND | 25 | 26 | GPIO1_B5 / UART7_TX_M2 / SPI0_CS1_M2 | 45 | |
150 | SPI3_CLK_M0 / I2C0_SDA_M1 / PWM7_IR_M3 / GPIO4_C6 | 27 | 28 | GPIO4_C5 / PWM6_M2 / I2C0_SCL_M1 / | |
63 | UART1_CTSN_M1 / PWM15_IR_M3 / GPIO1_D7 | 29 | 30 | GND | |
47 | SPDIF_TX_M0 / UART1_RX_M1 / PWM13_M2 / GPIO1_B7 | 31 | 32 | GPIO3_C2 / PWM14_M0 / UART7_RTSN_M1 / I2C8_SCL_M4 / SPI1_CS0_M1 | 114 |
103 | PWM8_M0 / GPIO3_A7 | 33 | 34 | GND | |
110 | I2S2_LRCK_M1 / UART3_RX_M1 / PWM13_M0 / CAN1_TX_M0 / GPIO3_B6 | 35 | 36 | GPIO3_B1 / PWM2_M1 / UART2_TX_M2 | 105 |
0 | REFCLK_OUT / GPIO0_A0 | 37 | 38 | GPIO3_B2 /PWM3_IR_M1 / UART2_RX_M2 / I2S2_SDI_M1 | 106 |
GND | 39 | 40 | GPIO3_B3 / UART2_RTSN / I2S2_SDO_M1 | 107 |
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
连接器(J23
):
Pin | MIPI-DSI | 描述 |
---|---|---|
1,4,7,10,13,16,27,33,34 | GND | Power and Signal Ground |
2 | MIPI_DPHY1_TX_D0N | MIPI1 TX Lane0 ouput N |
3 | MIPI_DPHY1_TX_D0P | MIPI1 TX Lane0 ouput P |
5 | MIPI_DPHY1_TX_D1N | MIPI1 TX Lane1 ouput N |
6 | MIPI_DPHY1_TX_D1P | MIPI1 TX Lane1 ouput P |
8 | MIPI_DPHY1_TX_CLKN | MIPI1 TX Clock ouput N |
9 | MIPI_DPHY1_TX_CLKP | MIPI1 TX Clock ouput P |
11 | MIPI_DPHY1_TX_D2N | MIPI1 TX Lane2 ouput N |
12 | MIPI_DPHY1_TX_D2P | MIPI1 TX Lane2 ouput P |
14 | MIPI_DPHY1_TX_D3N | MIPI1 TX Lane3 ouput N |
15 | MIPI_DPHY1_TX_D3P | MIPI1 TX Lane3 ouput P |
17 | LCD_PWM (PWM2_M2/GPIO4_C2) | 1.8V, GPIO/PWM |
18,19 | VCC3V3_LCD | 3.3V Power ouput |
20 | LCD_RESET (GPIO2_C1) | 1.8V, GPIO |
21 | /NC | No Connection |
22 | LCD_BL_EN (GPIO3_A1) | 3.3V, GPIO |
23 | I2C6_SCL_M0 | 1.8V, I2C Clock, pulled up to 1.8V with 2.2K on Sige7 |
24 | I2C6_SDA_M0 | 1.8V, I2C Data, pulled up to 1.8V with 2.2K on Sige7 |
25 | TP_INT (GPIO0_D3) | 1.8V, GPIO |
26 | TP_RST (GPIO0_C6) | 1.8V, GPIO |
28,29 | VCC5V0_LCD | 5V Power ouput |
31,32 | VCC_1V8 | 1.8V Power ouput |
1.2.3 MIPI CSI0
0.5mm FPC
连接器;
Pin | MIPI-CSI | 描述 |
---|---|---|
1,4,7,10,13,16,24,25,26,27,32,33 | GND | Power Ground & Signal Ground |
2 | MIPI_CSI0_RX_D3N | MIPI RX Lane3 iuput N |
3 | MIPI_CSI0_RX_D3P | MIPI RX Lane3 iuput P |
5 | MIPI_CSI0_RX_D2N | MIPI RX Lane2 iuput N |
6 | MIPI_CSI0_RX_D2P | MIPI RX Lane2 iuput P |
8 | MIPI_CSI0_RX_CLK1N | MIPI RX Clock iuput N |
9 | MIPI_CSI0_RX_CLK1P | MIPI RX Clock iuput P |
11 | MIPI_CSI0_RX_D1N | MIPI RX Lane1 iuput N |
12 | MIPI_CSI0_RX_D1P | MIPI RX Lane1 iuput P |
14 | MIPI_CSI0_RX_D0N | MIPI RX Lane0 iuput N |
15 | MIPI_CSI0_RX_D0P | MIPI RX Lane0 iuput P |
17 | MIPI_CSI0_RX_CLK0N | MIPI RX Clock iuput N |
18 | MIPI_CSI0_RX_CLK0P | MIPI RX Clock iuput P |
19 | MIPI_VSYNC | |
20 | MIPI_CAM3_CLKOUT | 1.8V, CLock ouput for Sensor |
21 | MIPI_HSYNC | |
22 | MIPI_CAM1_CLKOUT | 1.8V, CLock ouput for Sensor |
23 | MIPI_CSI0_PDN0_H(GPIO1_B0) | 1.8V, GPIO |
24 | I2C3_SCL_M0_MIPI | 1.8V, I2C Clock, pulled up to 1.8V with 2.2K on Sige7 |
25 | I2C3_SDA_M0_MIPI | 1.8V, I2C Clock, pulled up to 1.8V with 2.2K on Sige7 |
26 | MIPI_CSI0_PDN1_H(GPIO1_A7) | 1.8V, GPIO |
27 | CM_RST_L(GPIO4_A0) | 3.3V, GPIO |
28,29 | VCC_RX | 3.3V Power ouput |
30,31 | VCC_5V0 | 5V Power ouput |
1.2.4 MIPI CSI1
0.5mm FPC
连接器;
Pin | MIPI-CSI | 描述 |
---|---|---|
1,4,7,10,13,16,24,25,26,27,32,33 | GND | Power Ground & Signal Ground |
2 | MIPI_CSI1_RX_D3N | MIPI RX Lane3 iuput N |
3 | MIPI_CSI1_RX_D3P | MIPI RX Lane3 iuput P |
5 | MIPI_CSI1_RX_D2N | MIPI RX Lane2 iuput N |
6 | MIPI_CSI1_RX_D2P | MIPI RX Lane2 iuput P |
8 | MIPI_CSI1_RX_CLK1N | MIPI RX Clock iuput N |
9 | MIPI_CSI1_RX_CLK1P | MIPI RX Clock iuput P |
11 | MIPI_CSI1_RX_D1N | MIPI RX Lane1 iuput N |
12 | MIPI_CSI1_RX_D1P | MIPI RX Lane1 iuput P |
14 | MIPI_CSI1_RX_D0N | MIPI RX Lane0 iuput N |
15 | MIPI_CSI1_RX_D0P | MIPI RX Lane0 iuput P |
17 | MIPI_CSI1_RX_CLK0N | MIPI RX Clock iuput N |
18 | MIPI_CSI1_RX_CLK0P | MIPI RX Clock iuput P |
19 | MIPI_VSYNC | |
20 | MIPI_CAM3_CLKOUT / GPIO1_B7 | 1.8V, CLock ouput for Sensor / GPIO |
21 | MIPI_HSYNC | |
22 | MIPI_CAM0_CLKOUT | 1.8V, CLock ouput for Sensor |
23 | MIPI_CSI1_PDN0_H(GPIO1_B0) | 1.8V, GPIO |
24 | I2C3_SCL_M0_MIPI | 1.8V, I2C Clock, pulled up to 1.8V with 2.2K on Sige7 |
25 | I2C3_SDA_M0_MIPI | 1.8V, I2C Clock, pulled up to 1.8V with 2.2K on Sige7 |
26 | MIPI_CSI0_PDN1_H(GPIO1_A7) | 1.8V, GPIO |
27 | CM2_RST_L(GPIO4_A0) | 3.3V, GPIO |
28,29 | VCC_RX | 3.3V Power ouput |
30,31 | VCC_5V0 | 5V Power ouput |
1.2.5 Fan
0.8mm
连接器(CN32
):
in | Assignment | Description |
---|---|---|
1 | VCC_5V0 | 5V Power ouput |
2 | GND | 地 |
3 | PWM | PWM控制 |
1.2.6 Type-C
ArmSoM-Sige7
配备全功能USB Type‑C™ 3.0
端口,支持高达8K@30fps
的DP
显示。
1.2.7 HDMI
ArmSoM-Sige7
有HDMI
输出端口,支持CEC
和HDMI 2.1
,分辨率最高支持8Kp60
。
1.2.8 USB
ArmSoM-Sige7
提供一个USB 2.0
和一个USB 3.0
端口。
1.2.9 串口调试引脚定义
如下所示连接USB
转TTL
串口线:
接线如下:
Sige7 | 连接 | 串口模块 |
---|---|---|
GND (pin 6) | <---> | GND |
TX (pin 8) | <---> | RX |
RX (pin 10) | <---> | TX |
1.2.10 RGB LED
ArmSoM-Sige7
具有两个用户灯:LED
绿灯和红灯;
- 用户绿灯默认情况下,其常亮表示系统运行正常。
- 用户红灯默认情况下不亮,可由用户自行操控。
1.2.11 M.2
接口
ArmSoM-Sige7
提供M.2
连接器:产品的背面有一个带有四通道PCIe 3.0
接口的M.2 M Key
连接器。 板上有一个标准的M.2 2280
安装孔,可以部署M.2 2280 NVMe SSD
。
注意:该M.2
接口不支持M.2 SATA SSD
。
二、更新固件
2.1 开发资料
2.2 准备工作
2.2.1 硬件准备
要开启你的ArmSoM-Sige7
新玩具,请先准备好以下硬件:
ArmSoM-Sige7
开发板;microSD
卡/TF
卡:Class10
或以上的8GB SDHC
卡;- 一个
Type-C
接口(开发板PD Only
接口)的外接电源:支持9V/2A
,12V/2A
,15V/2A
、5V/4A
; - 如果需要开发与编译,则需要一台可以联网的电脑,推荐安装
ubuntu 20.04 64
位系统;
可选选项:
USB
键盘鼠标;HDMI
显示器和HDMI
线:Sige7
配备了全尺寸HDMI
接口,最高支持8K@60
显示;HDMI EDID
用于确定最佳显示分辨率。 在支持1080p
(或4K/8K
)的显示器和电视上,将选择此分辨率。 如果不支持 1080p,EDID
会找到的下一个可用分辨率。
Ethernet
线1(网线):Sige7
支持以太网上网,最高支持2.5Gb
;- 网线用于将
Sige7
连接到本地网络和互联网。
- 摄像头模块:
Sige7
支持拍照功能。- 推荐使用
imx415
模组,可找ArmSoM
官方店淘宝客服购买;
LCD
显示屏:Sige7
支持LCD
显示功能。- 推荐使用
ArmSoM Display 10.1 HD
,可找ArmSoM
官方店淘宝客服购买;
- 音频线:可以使用
0.8mm
立式插座。 USB-A
型转USB-C
型数据线。
2.2.2 固件下载
ArmSoM
系列产品的系统镜像包含了多种根文件系统,我们可以根据自己需求选择相应的镜像下载。
访问百度网盘资源介绍页面获取系统镜像: 百度网盘链接;
目录结构如上图所示,其中Linux
镜像目录下存放的是各种操作系统的镜像文件。
注意:
- 官方镜像的默认账号/密码为
armsom/armsom
; Debian
系统是使用RK
官方提供SDK
适配编译的系统,对于有ISP
、GPU
、编解码、NPU
需求的用户更加合适。使用RKDevTool
烧录到eMMC
,或者使用SDDiskTool
烧录到SD
卡;Ubuntu
,Armbian
,Openwrt
是ArmSoM
为开源爱好者提供的更多选择。
2.3 烧录固件到microSD
该方法适用于烧录系统到SD
卡, Windows
、MacOS
、Linux x64
操作系统都可用。
首先准备以下内容:
- 一个
microSD
卡; - 一个
SD
卡读卡器; - 下载对应产品的
Ubuntu/Armbian/Openwrt
系统镜像; - 把
SD
卡插入SD
读卡器,,然后把SD
读卡器插入电脑的USB
接口;
2.3.1 balenaEtcher
通过Etcher
刷入操作系统镜像到microSD
:
(1) 从 balena
官网 下载balenaEtcher
,选择指定主机系统下载,这里我下载的是windows
版本的。
(2) 将要烧录的microSD
卡插入SD
卡读卡器;
(3) 打开balenaEtcher
窗口,首先选择从文件烧录,找到您镜像下载位置,双击选择;
这里我选择的镜像为:Armbian-unofficial_24.5.0-trunk_Armsom-sige7_jammy_legacy_5.10.160_gnome_desktop.img
。
(4) 然后点击选择目标磁盘,选择自己要烧录的microSD
卡;
(5) 点击现在烧录, 烧录等待成功,这里需要一段时间;
(6) 烧录成功,会显示如图所示;
烧录失败:
windows
烧录镜像需要"以管理员身份运行",linux
某些用户可能需要通过chmod
命令修改成可执行运行;- 如果刷写操作系统镜像错误,,请再试一次;
2.3.2 Win32DiskImager
通过Win32DiskImager
刷入操作系统镜像到microSD
,具体可以参考《Rockchip RK3588 - NanoPC-T6
开发板介绍》第2.2节通过SD
卡启动。
2.4 USB
线烧录到eMMC
通过USB
线烧录到eMMC
,具体可以参考《Rockchip RK3588 - NanoPC-T6
开发板介绍》第2.3节烧录固件到eMMC
。
2.5 启动优先级
当我们同时在SD
卡以及eMMC
烧录了固件,那么启动优先级是怎样的呢?
默认情况下, 会优先从SD
卡启动系统, 但并不是所有条件下都是这样, 本节内容将详细说明所有情况;
Rockchip
提供了两种不同的启动加载程序方法:
TPL/SPL
加载:U-BootTPL/SPL
(即主线U-Boot
);- 官方固件加载;
Rockchip idbloader
;
需要留意的是:
ArmSoM-Sige7
发布的所有Rom
均采用的都是第2种,即Rockchip idbloader
;- 第三方固件通常采用的是第1种, 即
U-Boot TPL/SPL
总结如下:
eMMC当前系统 | SD卡当前系统 | 启动优先级 |
---|---|---|
无系统 | 任意固件 | SD卡 |
ArmSoM-Sige7的固件 | ArmSoM-Sige7的固件 | SD卡 |
ArmSoM-Sige7的固件 | 采用主线U-boot的固件 | eMMC |
采用主线U-boot的固件 | ArmSoM-Sige7的固件 | eMMC |
采用主线U-boot的固件 | 采用主线U-boot的固件 | eMMC |
三、简单测试
进行如下硬件连接:
- 首先我们需要将烧录了
Linux
镜像的microSD
卡插入到开发板microSD
卡槽; - 接着将一个
Type-C
电源连接到开发板的Type-C
(PD On lnly
)接口,这里我是用的电源适配器输出为5V===4A
(注意,功率如果较小,开发板可能无法正常工作); - 最后将
HDMI
显示屏连接到开发板的HDMI
输出接口;
3.1 串口测试
将USB
转TTL
串口线连接到开发板串口引脚上,打开串口助手并配置串口参数:
波特率 | 1500000 |
---|---|
数据位 | 8 |
奇偶校验 | None |
停止位 | 1 |
流控制 | None |
按下开发板的复位键,串口输入如下信息:
- armsom-sige7 login: DDR Version V1.08 20220617
- LPDDR4X, 2112MHz
- channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
- channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
- channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
- channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB
- Manufacturer ID:0x13
- CH0 RX Vref:29.7%, TX Vref:21.8%,21.8%
- CH1 RX Vref:28.7%, TX Vref:20.8%,20.8%
- CH2 RX Vref:30.7%, TX Vref:20.8%,19.8%
- CH3 RX Vref:30.7%, TX Vref:20.8%,19.8%
- change to F1: 528MHz
- change to F2: 1068MHz
- change to F3: 1560MHz
- change to F0: 2112MHz
- out
- U-Boot SPL board init
- U-Boot SPL 2017.09-gc060f28d70-220414 #zyf (Apr 18 2022 - 18:13:34)
- Failed to set cpub01
- Failed to set cpub23
- unknown raw ID phN
- unrecognized JEDEC id bytes: 00, 00, 00
- Trying to boot from MMC2
- spl: partition error
- Trying fit image at 0x4000 sector
- ## Verified-boot: 0
- ## Checking atf-1 0x00040000 ... sha256(7efcd01a0f...) + OK
- ## Checking uboot 0x00200000 ... sha256(a9a6a879e5...) + OK
- ## Checking fdt 0x0031b710 ... sha256(b2ae631723...) + OK
- ## Checking atf-2 0xff100000 ... sha256(1163474a5b...) + OK
- ## Checking atf-3 0x000f0000 ... sha256(da90adf3a4...) + OK
- Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000)
- Total: 185.629 ms
-
- INFO: Preloader serial: 2
- NOTICE: BL31: v2.3():v2.3-589-g3389cfdda:derrick.huang
- NOTICE: BL31: Built : 10:14:29, May 9 2023
- INFO: spec: 0x1
- INFO: ext 32k is not valid
- INFO: ddr: stride-en 4CH
- INFO: GICv3 without legacy support detected.
- INFO: ARM GICv3 driver initialized in EL3
- INFO: valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0
- INFO: system boots from cpu-hwid-0
- INFO: idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001
- ERROR: dfs get fsp_params[0] error, 0xfead0001 != 0xfead0003
- ERROR: dfs get fsp_params[1] error, 0xa4c != 0xfead0003
- ERROR: dfs get fsp_params[2] error, 0xa44 != 0xfead0003
- ERROR: dfs get fsp_params[3] error, 0x4000001 != 0xfead0003
- ERROR: loader&trust unmatch!!! Please update loader if need enable dmc
- INFO: BL31: Initialising Exception Handling Framework
- INFO: BL31: Initializing runtime services
- WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK
- ERROR: Error initializing runtime service opteed_fast
- INFO: BL31: Preparing for EL3 exit to normal world
- INFO: Entry point address = 0x200000
- INFO: SPSR = 0x3c9
- Armbian-unofficial 24.5.0-trunk Jammy ttyFIQ0
-
- armsom-sige7 login:
接下来按照提示设置密码、locale
等。设置完成后,显示屏将会进入如下页面:
Armbian
是一款基于Debian
或Ubuntu
的开源操作系统,专门针对嵌入式ARM
平台进行优化和定制。它可以运行在多种不同的嵌入式设备上,例如树莓派、斐讯N1
、玩客云等等。Armbian
针对不同的嵌入式平台,提供了相应的硬件支持,可以让用户轻松地在这些平台上搭建自己的嵌入式系统。
3.2 Armbian
测试
3.2.1 以太网
如果您使用的是以太网有线上网方式,请将网线对准ArmSoM-Sige7
的RJ45
端口插入。
通过命令ifconfig
检查以太网是否正常,可以看到:
- 有一个有线网卡
ip
地址为192.168.0.105
,网卡名为enP2p33s0
; - 另一个有限网卡名为
enP4p65s0
; - 还有一个无线网卡,网卡名为
wlan0
;
具体如下:
- root@armsom-sige7:~# apt install net-tools
- root@armsom-sige7:~# ifconfig
- enP2p33s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.0.105 netmask 255.255.255.0 broadcast 192.168.0.255
- inet6 fe80::639d:d798:4d77:fd4a prefixlen 64 scopeid 0x20<link>
- ether 9a:e7:e5:dd:a3:8a txqueuelen 1000 (Ethernet)
- RX packets 448 bytes 249781 (249.7 KB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 401 bytes 37544 (37.5 KB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- device interrupt 141
-
- enP4p65s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
- ether ce:9b:11:68:ba:db txqueuelen 1000 (Ethernet)
- RX packets 0 bytes 0 (0.0 B)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 0 bytes 0 (0.0 B)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- device interrupt 183
-
- lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
- inet 127.0.0.1 netmask 255.0.0.0
- inet6 ::1 prefixlen 128 scopeid 0x10<host>
- loop txqueuelen 1000 (Local Loopback)
- RX packets 0 bytes 0 (0.0 B)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 0 bytes 0 (0.0 B)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-
- wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
- ether b8:2d:28:5a:52:a0 txqueuelen 1000 (Ethernet)
- RX packets 0 bytes 0 (0.0 B)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 0 bytes 0 (0.0 B)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
此外,使用工具ping
判断是否连通网络;
- root@armsom-sige7:~# ping wwww.baidu.com
- PING ps_other.a.shifen.com (220.181.38.148): 56 data bytes
- 64 bytes from 220.181.38.148: icmp_seq=0 ttl=51 time=27.261 ms
- 64 bytes from 220.181.38.148: icmp_seq=1 ttl=51 time=25.214 ms
3.2.2 wifi
我们使用nmcli device wifi list
命令扫描无线网:
- root@armsom-sige7:~# nmcli device wifi list
- IN-USE BSSID SSID MODE CHAN RATE SIGNAL BARS SECURITY
- 8C:A6:DF:6F:E4:41 2202 Infra 6 405 Mbit/s 64 ▂▄▆_ WPA1 WPA2
- 9E:A6:DF:6F:E4:41 TPGuest_E441 Infra 6 405 Mbit/s 64 ▂▄▆_ WPA1 WPA2
这里扫描到一个SSID
为2202
的无线网。我们尝试连接它;
- root@armsom-sige7:~# nmcli device wifi connect "2202" password "181x1521x112x33"
- Device 'wlan0' successfully activated with '17970fdb-0a9f-448d-a1e0-02fbcac91fb3'.
我们再次查看网络设备信息,可以发现wlan0
的ip
地址被设置为了192.168.0.106
;
- root@armsom-sige7:~# ifconfig wlan0
- wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
- inet 192.168.0.106 netmask 255.255.255.0 broadcast 192.168.0.255
- inet6 fe80::ad2:4dab:6bc1:d000 prefixlen 64 scopeid 0x20<link>
- ether b8:2d:28:5a:52:a0 txqueuelen 1000 (Ethernet)
- RX packets 11 bytes 1717 (1.7 KB)
- RX errors 0 dropped 0 overruns 0 frame 0
- TX packets 20 bytes 2008 (2.0 KB)
- TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3.2.3 查看块设备
查看eMMC
块设备文件:
- root@armsom-sige7:~# ls /dev/mmc* -l
- brw-rw---- 1 root disk 179, 0 Jun 4 23:10 /dev/mmcblk0
- brw-rw---- 1 root disk 179, 32 Jun 4 23:10 /dev/mmcblk0boot0
- brw-rw---- 1 root disk 179, 64 Jun 4 23:10 /dev/mmcblk0boot1
- brw-rw---- 1 root disk 179, 1 Jun 4 23:10 /dev/mmcblk0p1
- brw-rw---- 1 root disk 179, 2 Jun 4 23:10 /dev/mmcblk0p2
- brw-rw---- 1 root disk 179, 3 Jun 4 23:10 /dev/mmcblk0p3
- brw-rw---- 1 root disk 179, 4 Jun 4 23:10 /dev/mmcblk0p4
- brw-rw---- 1 root disk 179, 5 Jun 4 23:10 /dev/mmcblk0p5
- brw-rw---- 1 root disk 179, 6 Jun 4 23:10 /dev/mmcblk0p6
- brw-rw---- 1 root disk 179, 7 Jun 4 23:10 /dev/mmcblk0p7
- brw-rw---- 1 root disk 179, 8 Jun 4 23:10 /dev/mmcblk0p8
- brw-rw---- 1 root disk 179, 9 Jun 4 23:10 /dev/mmcblk0p9
- brw-rw---- 1 root disk 179, 10 Jun 4 23:10 /dev/mmcblk0p10
- brw-rw---- 1 root disk 179, 11 Jun 4 23:10 /dev/mmcblk0p11
- brw-rw---- 1 root disk 179, 12 Jun 4 23:10 /dev/mmcblk0p12
- brw-rw---- 1 root disk 179, 13 Jun 4 23:10 /dev/mmcblk0p13
- brw-rw---- 1 root disk 179, 14 Jun 4 23:10 /dev/mmcblk0p14
- crw------- 1 root root 237, 0 Jun 4 23:10 /dev/mmcblk0rpmb
- brw-rw---- 1 root disk 179, 96 Jun 4 23:10 /dev/mmcblk1
- brw-rw---- 1 root disk 179, 97 Jun 4 23:10 /dev/mmcblk1p1
- brw-rw---- 1 root disk 179, 98 Jun 4 23:10 /dev/mmcblk1p2
这里一共有20
个块设备节点和1
个字符设备节点;其中:/dev/mmcblk0
表示的是eMMC
这个设备,其主设备号为179
,次设备号为0
,由于我在eMMC
烧录了安卓系统,因此可以看到如下若干个分区;
mmcblk0boot0
和mmcblk0boot1
对应两个Boot Area Partition
;mmcblk0rpmb
则为RPMB Partition
;mcblk0px
为User Data Area
划分出来的SW Partitions
;实际上就是通过解析GPT
分区表创建的分区,比如:security
、uboot
、trust
、misc
、dtbo
、vbmeta
、boot
等,分区编号依次为1~14
;
/dev/mmcblk1
表示的是microSD
这个设备,其主设备号为179
,次设备号为96
;
mcblk0px
为User Data Area
划分出来的SW Partitions
,分区编号依次为1~2
;
使用cat /proc/partitions
,可以查看全部分区信息:
- root@armsom-sige7:~# cat /proc/partitions
- major minor #blocks name
-
- 1 0 4096 ram0
- 254 0 3936412 zram0
- 179 0 61079552 mmcblk0
- 179 1 4096 mmcblk0p1
- 179 2 4096 mmcblk0p2
- 179 3 4096 mmcblk0p3
- 179 4 4096 mmcblk0p4
- 179 5 4096 mmcblk0p5
- 179 6 1024 mmcblk0p6
- 179 7 40960 mmcblk0p7
- 179 8 110592 mmcblk0p8
- 179 9 380928 mmcblk0p9
- 179 10 393216 mmcblk0p10
- 179 11 16384 mmcblk0p11
- 179 12 1024 mmcblk0p12
- 179 13 3186688 mmcblk0p13
- 179 14 56924143 mmcblk0p14
- 179 96 15605760 mmcblk1
- 179 97 262144 mmcblk1p1
- 179 98 15155200 mmcblk1p2
- 254 1 51200 zram1
其中blocks
表示分区的容量,每个blocks
是1KB
;
mmcblk0
大小为61079552KB=58.25GB
,对应着板载eMMC
的容量;mmcblk1
大小为15605760=14.88GB
,对应着microSD
卡的容量;
3.2.4 查看磁盘空间
这里我们可以通过df -hT
查看磁盘空间信息;
- root@armsom-sige7:~# df -hT
- Filesystem Type Size Used Avail Use% Mounted on
- tmpfs tmpfs 769M 11M 759M 2% /run
- /dev/mmcblk1p2 ext4 15G 5.2G 8.8G 37% /
- tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
- tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
- tmpfs tmpfs 3.8G 0 3.8G 0% /tmp
- /dev/mmcblk1p1 ext4 224M 122M 92M 57% /boot
- /dev/zram1 ext4 47M 220K 44M 1% /var/log
- tmpfs tmpfs 769M 96K 769M 1% /run/user/1000
- tmpfs tmpfs 769M 32K 769M 1% /run/user/0
显示内容参数说明:
Filesystem
:文件系统;Type
:文件系统类型;Siz
: 分区大小;Used
: 已使用容量;Avail
: 还可以使用的容量;Use%
: 已用百分比;Mounted on
: 挂载点;
这里我们可以看到根目录挂载在/dev/mmcblk1p2
设备节点上,文件系统格式是ext4
,/dev/mmcblk1p2
其实就是microSD
设备的rootfs
分区。
3.2.5 fdisk
分区命令
使用fdisk -l
查看磁盘分区情况:
- root@armsom-sige7:~# fdisk -l
- Disk /dev/ram0: 4 MiB, 4194304 bytes, 8192 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 4096 bytes
- I/O size (minimum/optimal): 4096 bytes / 4096 bytes
-
-
- Disk /dev/zram0: 3.75 GiB, 4030885888 bytes, 984103 sectors
- Units: sectors of 1 * 4096 = 4096 bytes
- Sector size (logical/physical): 4096 bytes / 4096 bytes
- I/O size (minimum/optimal): 4096 bytes / 4096 bytes
-
-
- Disk /dev/mmcblk0: 58.25 GiB, 62545461248 bytes, 122159104 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disklabel type: gpt
- Disk identifier: F808D051-1602-4DCD-9452-F9637FEFC49A
-
- Device Start End Sectors Size Type
- /dev/mmcblk0p1 8192 16383 8192 4M unknown
- /dev/mmcblk0p2 16384 24575 8192 4M unknown
- /dev/mmcblk0p3 24576 32767 8192 4M unknown
- /dev/mmcblk0p4 32768 40959 8192 4M unknown
- /dev/mmcblk0p5 40960 49151 8192 4M unknown
- /dev/mmcblk0p6 49152 51199 2048 1M unknown
- /dev/mmcblk0p7 51200 133119 81920 40M unknown
- /dev/mmcblk0p8 133120 354303 221184 108M unknown
- /dev/mmcblk0p9 354304 1116159 761856 372M unknown
- /dev/mmcblk0p10 1116160 1902591 786432 384M unknown
- /dev/mmcblk0p11 1902592 1935359 32768 16M unknown
- /dev/mmcblk0p12 1935360 1937407 2048 1M unknown
- /dev/mmcblk0p13 1937408 8310783 6373376 3G unknown
- /dev/mmcblk0p14 8310784 122159070 113848287 54.3G unknown
-
-
- Disk /dev/mmcblk1: 14.88 GiB, 15980298240 bytes, 31211520 sectors
- Units: sectors of 1 * 512 = 512 bytes
- Sector size (logical/physical): 512 bytes / 512 bytes
- I/O size (minimum/optimal): 512 bytes / 512 bytes
- Disklabel type: gpt
- Disk identifier: 971F3A72-BCA6-1542-82EA-6EA22192D667
-
- Device Start End Sectors Size Type
- /dev/mmcblk1p1 32768 557055 524288 256M Linux extended boot
- /dev/mmcblk1p2 557056 30867456 30310401 14.5G Linux filesystem
-
-
- Disk /dev/zram1: 50 MiB, 52428800 bytes, 12800 sectors
- Units: sectors of 1 * 4096 = 4096 bytes
- Sector size (logical/physical): 4096 bytes / 4096 bytes
- I/O size (minimum/optimal): 4096 bytes / 4096 bytes
从上面的内容可以看到:
- 磁盘
/dev/mmcblk0
大小为58.25GB
,总容量为62545461248
字节。Disklabel type: gpt
表示分区表为gpt
; - 磁盘
/dev/mmcblk1
大小为14.88GB
,总容量为15980298240
字节。Disklabel type: gpt
表示分区表为gpt
;
3.2.6 parted
分区命令
对于GPT
格式的分区,fdisk
工具是无能为力的,同时,fdisk
工具对分区是有大小限制的,它只能划分小于2T
的磁盘。
使用parted
命令列出所有可识别的磁盘以及它们的分区信息。
- root@armsom-sige7:~# parted -l
- Model: MMC ARV11X (sd/mmc)
- Disk /dev/mmcblk0: 62.5GB
- Sector size (logical/physical): 512B/512B
- Partition Table: gpt
- Disk Flags:
-
- Number Start End Size File system Name Flags
- 1 4194kB 8389kB 4194kB security
- 2 8389kB 12.6MB 4194kB uboot
- 3 12.6MB 16.8MB 4194kB trust
- 4 16.8MB 21.0MB 4194kB misc
- 5 21.0MB 25.2MB 4194kB dtbo
- 6 25.2MB 26.2MB 1049kB vbmeta
- 7 26.2MB 68.2MB 41.9MB boot
- 8 68.2MB 181MB 113MB recovery
- 9 181MB 571MB 390MB backup
- 10 571MB 974MB 403MB ext4 cache
- 11 974MB 991MB 16.8MB ext4 metadata
- 12 991MB 992MB 1049kB baseparameter
- 13 992MB 4255MB 3263MB super
- 14 4255MB 62.5GB 58.3GB userdata
-
-
- Model: Unknown (unknown)
- Disk /dev/zram1: 52.4MB
- Sector size (logical/physical): 4096B/4096B
- Partition Table: loop
- Disk Flags:
-
- Number Start End Size File system Flags
- 1 0.00B 52.4MB 52.4MB ext2
-
-
- Error: /dev/mmcblk0boot0: unrecognised disk label
- Model: Generic SD/MMC Storage Card (sd/mmc)
- Disk /dev/mmcblk0boot0: 4194kB
- Sector size (logical/physical): 512B/512B
- Partition Table: unknown
- Disk Flags:
-
- Model: SD 00000 (sd/mmc)
- Disk /dev/mmcblk1: 16.0GB
- Sector size (logical/physical): 512B/512B
- Partition Table: gpt
- Disk Flags:
-
- Number Start End Size File system Name Flags
- 1 16.8MB 285MB 268MB ext4 bootfs bls_boot
- 2 285MB 15.8GB 15.5GB ext4
-
-
- Error: /dev/mmcblk0boot1: unrecognised disk label
- Model: Generic SD/MMC Storage Card (sd/mmc)
- Disk /dev/mmcblk0boot1: 4194kB
- Sector size (logical/physical): 512B/512B
- Partition Table: unknown
- Disk Flags:
-
- Model: Unknown (unknown)
- Disk /dev/zram0: 4031MB
- Sector size (logical/physical): 4096B/4096B
- Partition Table: loop
- Disk Flags:
-
- Number Start End Size File system Flags
- 1 0.00B 4031MB 4031MB linux-swap(v1)
从上面的内容可以看到磁盘/dev/mmcblk0
大小为62.5GB
。Partition Tablete: gpt
表示分区表为gpt
。
参考文章
[1] Sige7
产品简介
[2] 系统镜像烧录
[3] ArmSoM
独立站
[4] ArmSoM
速卖通官方店
[5] ArmSoM
淘宝官方店
[6] Rockchip RK3588 - NanoPC-T6
开发板介绍
[7] Rockchip RK3588
- 移植uboot 2017.09 & linux 6.1
(友善之家脚本方式)