~~NOCACHE~~ ~~NOTOC~~
# Linux 下也可用 upgrade_tool 烧录
sudo upgrade_tool uf update.img
# 查询设备
sudo upgrade_tool ld
**提示:**由 Android 切换至 Linux(或反向切换)时,若无法识别设备,可在 RKDevTool「高级功能」中执行「进入 Maskrom」后重新烧录。
==== 3.5 U盘升级 ====
=== 3.5.1 升级前准备 ===
- 在 SDK 根目录执行整包编译,生成 rockdev/Image-xxx/ 目录
- 执行 ./mkupdate.sh(或 make otapackage)打包生成 update.img
- 将 update.img 拷入 U 盘根目录,文件名保持 update.img
- U 盘格式建议 FAT32,容量 ≤ 32GB
# 打包整包镜像
./build.sh updateimg
ls -lh rockdev/update.img
=== 3.5.2 开始OTA升级 ===
**方式一:U 盘本地升级**
- 主板正常开机,插入含 update.img 的 U 盘
- 进入「设置 → 系统 → 系统升级 → 本地升级」
- 选择 U 盘中的 update.img,确认后自动重启升级
- 升级过程约 3 ~ 5 分钟,进度条结束后自动重启
**方式二:ADB 命令升级**
adb root
adb remount
adb push update.img /data/local/tmp/
adb shell update_engine --payload=/data/local/tmp/update.img
**提示:**升级过程中禁止断电,否则可能导致系统无法启动,需重新烧录整包。
==== 3.6 串口调试 ====
- 使用 USB 转 TTL 小板连接 **DEBUG** 接口,注意 TX / RX 交叉、GND 共地
- 电脑设备管理器中确认串口号(如 COM3)
- 打开 Xshell / MobaXterm / SecureCRT,新建 **SERIAL** 会话
- 参数:波特率 **1500000**、数据位 8、停止位 1、无校验、无流控
- 上电后即可看到 U-Boot 与内核启动日志
# Linux 下可用 picocom 调试
sudo picocom -b 1500000 -d 8 -p n /dev/ttyUSB0
==== 3.7 API参考与使用 ====
* **GPIO / I2C / SPI / UART**:通过 sysfs 与 /dev 节点访问,见第 4、5 章
* **NPU**:RKNN-Toolkit2 转换模型,板端用 librknnrt.so 推理
* **多媒体**:mpi_enc_test / mpi_dec_test 示例位于 SDK external/mpp/test
* **硬件资料**:原理图、Datasheet 联系技术支持获取
===== 4 Android系统的使用 =====
==== 4.1 开启ADB调试 ====
=== 4.1.1 USB ADB使用方法 ===
- 使用 Type-C 数据线连接 **USB1(OTG)** 与电脑
- 「设置 → 关于平板电脑」,连续点击「版本号」7 次开启开发者选项
- 进入「开发者选项」,打开「USB 调试」
- 电脑端执行 adb devices,首次连接需在主板弹窗点击「允许」
adb devices
# List of devices attached
# 0123456789ABCDEF device
=== 4.1.2 网络ADB使用方法 ===
主板与电脑同网段时,可无线调试,无需数据线。
adb connect 192.168.8.55:5555
adb devices
==== 4.2 WiFi使用方法 ====
- 「设置 → 网络和互联网 → WLAN」,打开开关
- 选择目标热点并输入密码
- 连接成功后可在「网络详情」中查看 IP 地址
adb shell dumpsys wifi | grep -i "curState"
adb shell ifconfig wlan0
==== 4.3 网口使用方法 ====
**查看设备**
ip link show | grep -v "eth"
**使用(动态 IP)**
su
ifconfig eth1 up
ifconfig eth1 dhcp
**使用(静态 IP)**
su
ifconfig eth1 down
ifconfig eth1 192.168.8.55 netmask 255.255.255.0
ifconfig eth1 up
**提示:**静态 IP 需开机自动生效时,在系统内配置 eth1 静态地址,或应用层通过 ConnectivityManager 设置以太网静态 IP。
==== 4.4 4G模块使用方法 ====
=== 4.4.1 支持列表 ===
^ 模块型号 ^ 厂商 ^ 制式 ^ 说明 ^
| EC20-CE | 移远 | LTE Cat4 | 国内全网通,需插 SIM 卡 |
| EC25-E | 移远 | LTE Cat4 | 海外频段 |
| RM500U-CN | 移远 | 5G NR | 需选配 5G Mini-PCIe 方案 |
=== 4.4.2 步骤 ===
- 断电后插入 SIM 卡与 4G 模块,连接天线
- 上电,「设置 → 网络和互联网 → 移动网络」,打开「移动数据」
- 确认 APN 与运营商一致(默认自动获取)
- 状态栏出现 4G 图标即接入成功
adb shell ifconfig rmnet0
adb shell ping -c 3 www.baidu.com
==== 4.5 GPIO使用方法 ====
=== 4.5.1 GPIO系统索引号计算方法 ===
RK3568 GPIO 编号规则:**bank × 32 + (group × 8) + pin**,group A=0、B=1、C=2、D=3。
^ GPIO 名称 ^ 计算过程 ^ 系统编号 ^
| GPIO3_A0 | 3×32 + 0×8 + 0 | 96 |
| GPIO3_A5 | 3×32 + 0×8 + 5 | 101 |
| GPIO3_C2 | 3×32 + 2×8 + 2 | 114 |
| GPIO4_B1 | 4×32 + 1×8 + 1 | 137 |
**操作示例**
以 GPIO3_A5(系统编号 101)输出高电平为例:
su
echo 101 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio101/direction
echo 1 > /sys/class/gpio/gpio101/value
cat /sys/class/gpio/gpio101/value
释放:
echo 101 > /sys/class/gpio/unexport
==== 4.6 串口使用方法 ====
ls -l /dev/ttyS*
su
chmod 777 /dev/ttyS3
应用层用 SerialPort 库以 /dev/ttyS3、波特率 9600 打开即可收发;RS485 方向由硬件自动切换。
==== 4.7 SPI使用方法 ====
# 查看 SPI 设备节点
ls -l /dev/spidev*
# 查询 SPI 控制器与片选
cat /sys/class/spi_master/spi*/device/of_node/compatible
**测试收发**
# 使用内核自带 spidev_test(需交叉编译后推入设备)
adb push spidev_test /data/local/tmp/
adb shell /data/local/tmp/spidev_test -D /dev/spidev3.0 -v -p "12345678"
参数说明:-D 指定设备节点,-s 设置速率(默认 500kHz),-v 打印收发数据,-p 发送字符串。
==== 4.8 双屏异显 ====
主板支持 HDMI + LVDS / eDP 同时输出,可同显或异显。
# 查看当前显示设备
adb shell dumpsys display | grep -i "mDisplayId"
# 同显(镜像)
adb shell setprop persist.sys.dualscreen mirror
# 异显(扩展)
adb shell setprop persist.sys.dualscreen extend
^ 模式 ^ 说明 ^
| 同显 | 两屏显示相同画面,分辨率取二者较小值 |
| 异显 | 两屏独立画面,可分别启动应用 |
**提示:**异显模式下需应用侧指定 DisplayId 启动 Activity,具体见 SDK 示例 DualScreenDemo。
===== 5 Linux系统的使用 =====
==== 5.1 声卡使用方法 ====
aplay -l
aplay -D plughw:0,0 /usr/share/sounds/test.wav
arecord -D plughw:0,0 -f cd -d 5 test.wav
音量调节:
alsamixer
amixer -c 0 set 'Playback' 80%
==== 5.2 网络使用方法 ====
=== 5.2.1 以太网 ===
**查看设备**
ip link show | grep -v "eth"
**使用(动态 IP)**
sudo cat /etc/network/interfaces
sudo dhclient eth0 up
sudo ifconfig eth0 up
sudo dhclient eth0
**使用(静态 IP)**
编辑 /etc/network/interfaces:
auto eth0
iface eth0 inet static
address 192.168.8.55
netmask 255.255.255.0
gateway 192.168.8.1
dns-nameservers 202.96.134.133
sudo ifconfig eth0 down
sudo ifconfig eth0 up
ip addr show eth0
**测试**
ping -c 4 192.168.8.1
ping -c 4 www.baidu.com
=== 5.2.2 WiFi ===
ip link show wlan0
sudo nmcli dev wifi rescan
sudo nmcli dev wifi list
sudo nmcli dev wifi connect "SSID" password "PASSWORD"
ip addr show wlan0
==== 5.3 显分辨率修改 ====
**HDMI 输出**
cat /sys/class/display/HDMI0/mode
echo 1920x1080p60 > /sys/class/display/HDMI0/mode
**LVDS / eDP 屏**
在 /boot/dts/ 对应屏参 dts 中修改 display-timings,重新编译并替换 dtb 后重启生效。
==== 5.4 远程访问及文件传输 ====
sudo apt update && sudo apt install -y openssh-server
sudo systemctl enable --now ssh
ip addr show
电脑端传输:
scp ./update.img root@192.168.8.55:/home/root/
图形化工具可用 WinSCP / FileZilla,协议 SFTP,端口 22。
===== 6 通用方法 =====
==== 6.1 查看CPU温度 ====
cat /sys/class/thermal/thermal_zone0/temp
# 输出为毫摄氏度,45200 表示 45.2℃
==== 6.2 查看CPU序列号 ====
cat /proc/device-tree/serial-number
# Android 下
getprop ro.serialno
==== 6.3 查看CPU频率 ====
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
==== 6.4 查看内存容量 ====
free -h
cat /proc/meminfo | head -3
==== 6.5 查看存储容量 ====
df -h
lsblk
==== 6.6 网络Ping测试 ====
ping -c 4 192.168.8.1
ping -c 4 www.baidu.com
ping -c 1 -W 1 8.8.8.8
==== 6.7 设置系统时间保存到RTC芯片 ====
# 查看当前时间
date
hwclock -r
# 设置系统时间
sudo date -s "2026-11-09 10:00:00"
# 写入 RTC 芯片
sudo hwclock -w
# 再次读取,确认写入成功
sudo hwclock -r