MKS SKIPR V1.0主板折腾记录
本文最后更新于:2025年5月28日 晚上
前言
本人遇到一块MKS SKIPR V1.0主板出现不加载TF卡系统的异常情况,查阅相关资料以及排查硬件电路后,终于找到问题:主板上的一根DDR信号线与GND发生了短路;问题算是找到了,但是这期间的折腾过程还是比较曲折的,于是就用这篇文章来记录吧,仅供参考👨🏻🔧
相关知识
该主板上位机采用瑞芯微RK3328芯片,首先了解一下该芯片启动流程及相关模式:[1]
加载模式:
SPI模式
EMMC模式
SDMMC模式
启动次序:
主控上电初始化
BootRom代码在SRAM上运行,校验存储设备里的Bootloader
校验通过,加载并运行Bootloader引导代码
Bootloader引导代码负责初始化DDR内存,加载Bootloader完整代码到DDR内存中并运行
Bootloader加载存储设备上的Linux内核,并将执行权交给Linux内核
启动模式:
Normal模式
Normal模式就是正常的启动过程,各个组件依次加载,正常进入系统。Loader模式
在Loader模式下,Bootloader会进入升级状态,等待主机命令,用于固件升级等。MaskRom模式
MaskRom模式用于Bootloader损坏时的系统修复。
前期排查
所需工具
相关工具 | 相关软件 |
---|---|
电脑 | 瑞芯微驱动 |
USB公对公数据线 | 瑞芯微开发工具 |
电烙铁 | ⏳ |
细导线若干 | 🎵 |
BIGTREETECH CB2官方提供的整合工具包,已经包含相关驱动及软件,请解压后自行安装。
Loader模式
首先当然是进入Loader模式看看固件信息是不是能正常读取。
焊接电路
根据MKS SKIPR V1.0开源资料,再参考瑞芯微官方设计参考文档以及ROC-RK3328-PC开发板WIKI相关资料,发现该主板将RECOVERY按钮省略了…所以想要进入该模式,需要在主板底部的一个电阻上焊接一根导线出来,切记不要和其他电路搭在一起!!!
进入Loader模式操作:
拔掉主板电源,将主板完全断电
将 RECOVERY 信号与GND相连
插上USB公对公数据线(切记插在电脑主机后面的接口,笔记本可忽略~)
打开设备管理器界面,等待电脑出现“噔噔”一声后,断开焊接的飞线,此时可以看到出现一个新的设备
打开瑞芯微开发工具,可以看到底部已经显示找到一个Loader设备
排查结果1
该主板多次尝试后都无法进入Loader模式,看来此方法在这块主板上行不通。
MaskRom模式
该主板想要进入MaskRom模式,需要焊接另外一根导线(也可以使用镊子或者跳线帽),查询资料可知[2],该芯片进入MaskRom模式需要将EMMC_CLK和GND短接:
进入MaskRom模式操作:
拔掉主板电源,将主板完全断电,取出TF卡
将 EMMC_CLK 信号与GND相连
插上USB公对公数据线(切记插在电脑主机后面的接口,笔记本可忽略~)
打开设备管理器界面,等待电脑出现“噔噔”一声后,断开焊接的飞线,此时可以看到出现一个新的设备
打开瑞芯微开发工具,可以看到底部已经显示找到一个MaskRom设备
排查结果2
该主板虽然可以进入MaskRom模式,但是依然读取不到任何的固件信息。
再次排查
由于这块主板现在只能进入MaskRom模式,所以想着是不是原厂的Loader固件损坏了,想着尝试刷入新的Loader固件看能不能恢复,在网上找寻了一番,找到了适合的Loader固件::[RK][BL] Rockchip Bootloader Collection MiniLoaderAll,而且该主板还有一个HOST-USB接口可以用于查看固件烧录时的打印信息,在芯片执行相应操作时会通过该接口输出相关的Log信息,可用于判断异常情况。
操作步骤
串口Log:首先将电脑通过Type-c线与主板HOST-USB接口进行连接,给主板接入12~24V电源,打开设备管理器查看COM端口号,然后打开MobaXtern软件,点击 Session –> Serial,Serial Port选择设备管理器里对应的COM端口,Speed手动输入1500000,点击OK进行连接;
烧录新的Loader固件:打开瑞芯微开发工具,选择 高级功能 –> Boot …,选择一个刚刚下载的MiniLoaderAll.bin文件,点击下载,此时MobaXtern软件就会抓取到Log信息;以下是我遇到的情况:
问题分析
Log信息只在最后显示了一个ERR,再没有其他任何信息,所以判断起来比较困难,好在网上有很多使用该芯片的网友发过Log帖[3] [4] [5] [6],其中就有一篇发布在官方Github仓库的Issue:mks board wont boot anymore,经过对比后发现,正常情况下会输出DDR3或者LPDDR3字样,但是我遇到的情况是直接输出ERR,说明是内存DDR部分出现问题,那么接下来就需要查找主板DDR电路部分了。
查找问题
由于MKS只提供了主板SCH原理图,并没有提供主板正面与背面器件的位号文档😅,所以查找起来会比较费劲了,经过一番苦苦查找后,终于发现了问题:VREF_DDR_DQ_1、VREF_DDR_CA_1、VREF_DDR_DQ_2三路参考电压其中有一路对地发生短路(具体是哪一路无法判断);以下是我查找到的电压异常位置:
最开始我怀疑是分压电阻或者滤波电容损坏造成的,于是我将那一路参考电压的器件都拆下来之后发现还是对地短路,那么基本可以断定是DDR芯片异常导致的该问题,但具体是哪颗DDR芯片我无法确定(为什么不提供位号图!!!);本着电路布局都是就近原则,而这路参考电压刚好在最下面这颗DDR芯片旁边,所以只能抱着赌一把的心态尝试,拆下这颗芯片后将主板焊盘处理干净再测量,对地短路的异常消失了😀,于是我将这颗拆下的DDR芯片焊盘也处理干净,测量对应的引脚与GND,但未发现短路的情况…后续只能买植锡网进行重新植锡焊接再测试了💫。
焊接测试
某宝购买的植锡网收到后,给拆下来的DDR芯片重新植锡,焊接好后测试原来对地短路的地方,短路问题已经消失;给主板接入电源后发现还是不读取TF卡里的系统,也就是和之前的异常情况一样…后续在网上找到一款瑞芯微DDR测试工具,使用管理员权限运行该软件,测试文件选择:1GB DDR3(用1个CS且每个由2片256M×16bit组成)焊接检测.cfg,测试结果显示:DQ10有问题,可能是开路或者短路到地,测试结果: byte 1,有错。
定位问题
根据原理图及相关的报错信息:DQ10信号线,byte 1 有错 咨询DeepSeek后,分析是U4 DDR芯片其中一根信号线,而这个U4芯片对应主板上哪颗DDR芯片并不清楚(为什么不提供位号图!!!)…后来在立创开源广场上找到一个项目:RK3328的低功耗存储服务器/网心云盒子,主核心布局和该主板比较相似,对比后发现U4就是之前拆下来重新焊上去的那颗芯片,以为是之前没焊好,拆下来后用万用表测量主板,还是对地短路,而这根信号线是直接与主核心RK3328相连的,所以只有把它拆了才知道到底是什么情况,拆下主核心后测量主板发现还是对地短路,那么基本可以断定是主板内部走线与GND发生短路,那么这块主板的上位机部分算是废了,只能当个下位机来使用了💦