3. 硬件环境搭建:电源、串口、网口、HDMI、SD卡/eMMC启动模式配置
硬件环境搭建,说白了就是让开发板先「活过来」,然后你才能跟它「说话」。很多初学者一上来就急着写驱动,结果板子点不亮,折腾半天发现是电源线没插紧——这种事我见过太多了。
这一章,我们就把 RK3568 开发板的外围硬件逐个搞定。从供电到通信,再到启动方式的选择,每一步我都会结合项目里的实际经验来讲。
3.1 电源系统:稳定是第一要务
RK3568 的典型供电是 12V/2A 的 DC 适配器。但别小看这个电源,我在项目里遇到过好几次「板子偶尔重启」的怪问题,最后查出来是电源纹波太大。
- 额定电流至少 2A,建议 3A 以上留余量
- 纹波控制在 50mV 以内
- 接口极性:内正外负(绝大多数开发板如此)
开发板上通常有多个电源指示灯:
- PWR_LED(常亮绿/蓝):表示 12V 主电源已接入
- SYS_LED(闪烁):表示核心供电和时钟已稳定,系统在运行
- VCC_IO_LED:表示 IO 域 3.3V 正常
上电顺序也很关键。RK3568 要求先给 VCC_IO(3.3V)和 VCC_DDR(1.8V),再给 VCC_CORE(0.8V~1.0V)。不过大部分开发板已经用 PMIC(电源管理芯片)帮你做好了时序,你只需要插好电源就行。
3.2 串口:开发者的「第一根救命线」
串口是嵌入式开发中最基础、最可靠的调试手段。没有屏幕、没有网络的时候,串口就是你跟板子沟通的唯一通道。
3.2.1 硬件连接
RK3568 开发板通常引出 3 个 UART:
| UART | 用途 | 默认引脚(40pin GPIO) |
|---|---|---|
| UART2 | 调试串口(Console) | Pin 8 (TX) / Pin 10 (RX) / GND |
| UART1 | 蓝牙/外设通信 | Pin 11 / Pin 13 |
| UART3 | 扩展串口 | Pin 15 / Pin 17 |
连接方式很简单:
- 用 USB 转 TTL 模块(如 CH340G、CP2102)
- 模块的 TX 接板子的 RX,RX 接板子的 TX
- GND 接 GND(这个必须接,否则电平参考点不对)
- VCC 不要接!板子自己供电,接上反而可能烧坏串口芯片
为什么用 1.5Mbps 而不是传统的 115200?因为 RK3568 的 bootrom 和 uboot 默认就是这个速率。你想想看,115200 下打印一屏信息要好几秒,1.5M 几乎是瞬间刷完,调试效率高很多。
3.2.2 终端软件配置
我个人习惯用 minicom 或 screen,简单直接:
# 安装 minicom
sudo apt install minicom
# 配置(第一次运行)
sudo minicom -s
# 进入设置后:
# 1. Serial port setup → Serial Device: /dev/ttyUSB0
# 2. Bps/Par/Bits → 1500000 8N1
# 3. Hardware Flow Control: No
# 4. Save as dfl
# 启动
sudo minicom
Windows 下用 MobaXterm 或 PuTTY,设置一样。注意选对 COM 口,波特率手动输入 1500000。
3.3 网口:网络启动与文件传输
RK3568 自带千兆以太网控制器(GMAC),开发板上通常配一个 RTL8211F 或 YT8531 的 PHY 芯片。
网口在开发中的主要用途:
- TFTP 下载内核和设备树(uboot 阶段)
- NFS 挂载根文件系统(内核启动阶段)
- SSH 远程登录(系统运行后)
连接时注意:
- 用超五类或六类网线,直连电脑或交换机
- 开发板默认 DHCP 获取 IP,如果没有 DHCP 服务器,uboot 会 fallback 到
192.168.1.100 - 电脑端建议设置静态 IP 在同一网段,比如
192.168.1.10
ping 192.168.1.10 测试连通性。如果 ping 不通,先检查网线指示灯——Link 灯亮表示物理层通了,Act 灯闪表示有数据交换。
3.4 HDMI:图形化验证
HDMI 接口主要用于验证显示驱动和 GUI 应用。RK3568 内置 HDMI 2.0 控制器,支持 4K@60fps 输出。
硬件连接没什么特别的,就是标准 HDMI Type-A 接口。但有几个点要注意:
- HDMI 线缆质量会影响信号完整性,劣质线在 4K 分辨率下可能出现闪屏
- 部分开发板需要跳线选择 HDMI 输出通道(比如从 eDP 切换到 HDMI)
- 如果插上显示器没画面,先确认 uboot 阶段有没有初始化显示控制器
我在项目中遇到过一个问题:HDMI 在 uboot 下能显示 logo,但进入内核后就黑了。查了半天,发现是设备树里 HDMI 的时钟频率配置和实际晶振不匹配。嗯,这种问题只能靠串口日志定位。
3.5 启动模式配置:SD卡 vs eMMC
RK3568 支持多种启动介质,通过 BOOT 拨码开关 选择。这是整个硬件搭建中最容易搞错的地方。
3.5.1 启动模式表
| BOOT1 | BOOT2 | BOOT3 | 启动介质 | 典型用途 |
|---|---|---|---|---|
| 0 | 0 | 0 | eMMC | 量产固件启动 |
| 1 | 0 | 0 | SD 卡 | 开发调试、烧写系统 |
| 0 | 1 | 0 | SPI Flash | 极小系统或 recovery |
| 1 | 1 | 0 | MaskROM(USB 下载) | 救砖、烧写 bootrom |
(注:0 表示拨到 OFF/低电平,1 表示拨到 ON/高电平)
3.5.2 我的开发流程
我个人习惯这样切换:
- SD 卡启动(1,0,0):用于烧写新系统、测试内核
- eMMC 启动(0,0,0):系统调试稳定后,写入 eMMC 并切换回来
- MaskROM(1,1,0):只有 eMMC 里的 uboot 坏了才用,相当于「最后手段」
3.6 整体硬件连接图
下面这张图把上面讲的所有硬件连接串起来,方便你对照实物接线:
3.7 上电前的最后检查清单
别急着插电。花 30 秒过一遍这个清单,能省掉后面几个小时的排错时间:
- ✅ 电源适配器电压正常(万用表测一下)
- ✅ 串口线连接正确(TX↔RX 交叉,GND 已接)
- ✅ 网线插好,Link 灯亮
- ✅ HDMI 线插紧(如果有显示器)
- ✅ BOOT 拨码开关在目标位置(SD 卡还是 eMMC?)
- ✅ SD 卡已插入(如果用 SD 卡启动)
- ✅ 终端软件已打开,波特率设为 1500000
DDR Version 1.16 20220118 之类的信息,说明硬件环境搭建成功了。如果没有任何输出,先检查串口连接和波特率——这两个问题占了 80% 的「点不亮」案例。
硬件环境搭建到这一步就差不多了。电源稳了,串口通了,网口亮了,启动模式也选对了——接下来就可以真正开始跟 RK3568「对话」了。