【问题排查】RK3588S烧录完后无法启动的问题

之前做了一个RK3588S平台的项目,在bringup阶段碰到烧录完后无法启动的问题。

上电启动串口关键log如下:

DDR Version V1.02 20211202

LPDDR4X, 2112MHz

channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB

channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB

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

out

......

U-Boot 2017.09

Model: Rockchip RK3588 Evaluation Board

PreSerial: 2, raw, 0xfeb50000

DRAM:  "Error" handler, esr 0xbe000011


* Reason:        Exception from SError interrupt

* ELR(PC)    =   00000000002a3988

* LR         =   00000000002179c8

* SP         =   000000000037fc10

* ESR_EL2    =   00000000be000011

* Reloc Off  =   0000000000000000


x0 : 00000000eb9ffeb0 x1 : 0000000000000000

x2 : 0000000000000150 x3 : 0000000000000050

x4 : 0000000000000000 x5 : 000000000000002a

x6 : 0000000000000150 x7 : 0000000009400000

x8 : 0000000000000003 x9 : 00000000fe680000

x10: 0000000000000001 x11: ffffffffd0000000

x12: 0000000000000000 x13: 0000000000200000

x14: 0000000000307c80 x15: 00000000ffffffff

x16: 0000000000000000 x17: 0000000000000000

x18: 000000000037fe40 x19: 00000000002af5d8

x20: 00000000002af4e8 x21: 0000000000000000

x22: 0000000000000000 x23: 0000000000000000

x24: 0000000000000000 x25: 0000000000000000

x26: 0000000000000000 x27: 0000000000000000

x28: 0000000000000000 x29: 000000000037fdf0

Call trace:

  PC:   [< 002a3988 >]

  LR:   [< 002179c8 >]

Stack:
        [< 002a3988 >]

Copy info from "Call trace..." to a file(eg. dump.txt), and run

command in your U-Boot project: ./scripts/stacktrace.sh dump.txt

Resetting CPU ...

### ERROR ### Please RESET the board ###

对比正常启动的log:

DDR Version V1.02 20211202

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

out

......

U-Boot 2017.09

Model: Rockchip RK3588 Evaluation Board

PreSerial: 2, raw, 0xfeb50000

DRAM:  7.7 GiB

Sysmem: init

Relocation Offset: edb6f000

Relocation fdt: eb9fa170 - eb9fece8

CR: M/C/I

Using default environment

......

Starting kernel ...

可以发现问题出在DDR:

LPDDR4X, 2112MHz

channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB

channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS=1 Die BW=16 Size=1024MB

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

......

DRAM:  "Error" handler, esr 0xbe000011

......

更换DDR后问题解决,问题原因是焊接问题。

RK3588S焊盘引脚间距较小,对焊接有一定要求,如果出现DDR稳定性问题,可以先检查CPU和DDR的焊接。

### RK3588 HDMI 配置教程及兼容性分析 #### 一、RK3588 开发板概述 RK3588是一款高性能处理器,适用于多种应用场景。对于不同类型的显示器连接方式(如HDMI),其配置主要考虑接口类型与支持的设备、分辨率与显示效果等因素[^1]。 #### 二、HDMI 接口特性说明 针对配备有HDMI端口的RK3588开发板而言,在实际应用过程中能够实现高质量视频信号传输,并且可以适配市面上大多数带有标准HDMI输入接口的屏幕产品。例如NanoPC-T4这样的开发平台就采用了HDMI作为外部显示输出方案之一[^2]。 #### 三、具体配置流程指导 要成基于Linux系统的RK3588开发板通过HDMI接口驱动外接显示器的操作,通常按照如下方式进行设置: ```bash # 更新系统包管理器索引并安装必要工具链 sudo apt-get update && sudo apt-get install build-essential u-boot-tools -y # 编译适合目标硬件环境下的U-Boot引导程序版本(这里假设为v2017.09) cd /path/to/u-boot-source-code/ make rk3399_defconfig CROSS_COMPILE=aarch64-j$(nproc) CROSS_COMPILE=aarch64-linux-gnu- # 将编译好的uboot烧录到emmc启动分区中 sudo dd if=spl/sunxi-spl.bin of=/dev/mmcblk0 bs=1k seek=8 conv=notrunc sudo dd if=u-boot.itb of=/dev/mmcblk0 bs=1k seek=40 conv=notrunc # 修改内核参数文件cmdline.txt来指定默认使用的图形界面分辨率为1920x1080@60Hz echo "console=ttyS2,1500000 earlyprintk rootwait rw video=HDMI-A-1:1920x1080@60" | \ sudo tee /boot/cmdline.txt >/dev/null ``` 上述命令序列展示了如何构建一个自定义化的U-Boot固件用于初始化阶段加载特定于RK系列SoC特性的代码片段;同时也指出了调整GRUB菜单项中的kernel command line部分以确保正确识别所连入的监视器规格的方法。 #### 四、常见问题排查建议 当遇到无法正常工作的情况时,可以从以下几个方面入手解决问题: - 参考官方文档获取更多技术支持资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值