Difference between revisions of "Template:RockchipUnbrick/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(updated by API)
 
(updated by API)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
===eMMC与TF卡的启动优先级说明 (救砖办法)===
+
==救砖办法==
默认情况下, 会优先从 TF卡启动系统, 但并不是所有条件下都是这样, 本节内容将详细说明所有情况; <br>
+
如何固件没有正确安装,导致开发板变砖,而且可能没有机会通过SD卡重新安装固件,这时,就需要进入Maskrom模式,通过擦除存储设备的办法救砖。<br>
<br>
+
===Windows用户===
引用Rockchip官方文档[http://opensource.rock-chips.com/wiki_Boot_option]的描述,系统引导程序(Loader)分为以下2种:<br>
+
====下载所需文件====
1) U-Boot TPL/SPL (即upsream U-Boot, 也叫主线U-Boot)<br>
+
* '''获取所需工具''':访问[https://dl.friendlyelec.com/{{{1}}} 这里],在 '''05_Tools''' 目录中找到 '''RKDevTool_v3.19_for_window.zip''', '''DriverAssitant_v5.12.zip''' 下载到本地
2) Rockchip MiniLoader<br>
+
* '''安装Rockchip USB驱动和RKDevTool''': 解压 '''DriverAssitant_v5.12.zip''' 安装Rockchip USB驱动, 解压 '''RKDevTool_v3.19_for_window.zip''' 获得 Rockchip烧写工具 '''RKDevTool'''
<br>
+
* '''获取loader''': 访问[http://112.124.9.243/dvdfiles/ 这里],进入CPU型号对应的tools目录,下载 '''MiniLoaderAll.bin'''
需要留意的是: <br>
+
====进入Maskrom模式擦除存储设备====
1) FriendlyELEC发布的所有Rom均采用的都是第2种,即Rockchip MiniLoader<br>
+
* 使用USB数据线将{{{1}}}与电脑相连接
2) 第三方固件通常采用的是第1种, 即  U-Boot TPL/SPL<br>
+
* 在电脑上启动 '''RKDevTool'''
<br>
+
* 将{{{1}}}断开电源,按住 '''MASK''' 键,连接电源,当看到界面下方显示 '''Found One MASKROM Device''' 时松开按键, 如下图所示:
以下情况将总是从 eMMC 启动 (意味着无法通过TF卡烧写系统了):<br>
+
[[File:Rkdevtool_found_one_maskrom_device.png|frameless|600px]]
1) 如果eMMC里的系统, 或者TF卡里的系统是采用第一种Loader类型U-Boot TPL/SPL的, 上电将总是从 eMMC启动;<br>
+
* 在 '''RKDevTool''' 界面上点击 '''Advanced Function''' 选项卡
2) eMMC内的系统并没有适配{{{1}}}, 也就是说Loader压根就是坏的;<br><br>
+
* 在 '''Boot''' 编辑框中选择 '''MiniLoaderAll.bin''',然后点击 '''Download''' 按钮
这时, 可以用如下方法让{{{1}}}从TF卡启动系统, 进行系统重装或Flash擦除:<br>
+
* 选中 '''EMMC''',点 '''Switch Storage''',再点击 '''ErashAll''' 按钮擦除eMMC
1) 插入一张烧写有FriendlyWrt系统的TF卡 (制作方法请参考上面的章节);<br>
+
[[File:Rkdevtool_erase_emmc.png|frameless|600px]]
2) 按下Maskrom按键, 并上电开机 (或短接Maskrom触点);<br>
+
{{#switch: {{{1}}}
3) '''重要''': 上电后默数4秒左右立即松开Maskrom按键;<br>
+
| NanoPi-R5S
4) {{{1}}}将会从TF卡启动FriendlyWrt系统;<br>
+
| NanoPi-R2C-Plus
5) 用网线连接电脑到{{{1}}}的LAN网口, 在电脑上输入网址 http://192.168.2.1 进入FriendlyWrt管理页面, 使用系统菜单中的eMMC刷机工具重新烧写系统到 eMMC;<br>
+
| CM3588
6) 如果你仅仅想清除eMMC上的数据, 可以上传一个内容全是零的img文件刷进eMMC, 该文件在电脑上可以用如下命令生成, 因eMMC刷机工具在烧写系统时会先对eMMC进行全面擦除, 所以img文件的大小是不重要的:<br>
+
| NanoPC-T6 =
 +
* '''(可选)''': 如果你的{{{1}}}上有SPI Nor Flash,选中 '''SPINOR''', '''Switch Storage''',再点击 '''ErashAll''' 按钮擦除SPI Nor Flash
 +
[[File:Rkdevtool_erase_spinorflash.png|frameless|600px]]
 +
}}
 +
* 至此,{{{1}}}恢复至初始状态,可以正常通过SD卡或eMMC引导系统了
 +
===Linux/Mac用户===
 +
====下载所需文件====
 +
* '''获取所需工具''':访问[https://dl.friendlyelec.com/{{{1}}} 这里],在 '''05_Tools''' 目录中找到 '''upgrade_tool_v2.30_for_linux.tgz''' (或Mac用户选'''upgrade_tool_v2.25_for_mac.tgz''') 下载到本地
 +
* '''获取loader''': 访问[http://112.124.9.243/dvdfiles/ 这里],进入CPU型号对应的tools目录,下载 '''MiniLoaderAll.bin'''
 +
====安装upgrade_tool工具====
 +
以下命令以Linux为例,Mac用户只有文件和目录名略有不同:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
dd if=/dev/zero of=~/empty.img bs=8M count=1
+
tar xzf upgrade_tool_v2.30_for_linux.tgz
 +
cd upgrade_tool_v2.30_for_linux
 +
sudo cp upgrade_tool /usr/local/sbin/
 +
sudo chmod 755 /usr/local/sbin/upgrade_tool
 
</syntaxhighlight>
 
</syntaxhighlight>
或者, 进入命令终端, 输入以下命令尝试清除eMMC上的 Loader: <br>
+
====进入Maskrom模式擦除存储设备====
 +
* 使用USB数据线将{{{1}}}与电脑相连接
 +
* 将{{{1}}}断开电源,按住 '''MASK''' 键,连接电源,4秒后松开按键
 +
* 用如下命令检查连接:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
dd if=/dev/zero of=/dev/mmcblk2 bs=8M count=25
+
upgrade_tool LD
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
显示类似 "DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=13 Mode=Maskrom SerialNo=" 的内容表示已检测到设备。
常见问题:<br>
+
* 用如下命令擦除eMMC:
如果用TF卡启动系统后,发现系统检测不到eMMC,可能的原因是上电后按下Markrom键太长时间, 正确方法是按住4秒立即松开; <br>
+
<syntaxhighlight lang="bash">
请确认你使用了最新固件(日期2022-07-25之后的固件), 然后重新操作一次;<br>
+
upgrade_tool EF MiniLoaderAll.bin
<br>
+
</syntaxhighlight>
总结如下:<br>
+
{{#switch: {{{1}}}
{| class="wikitable"
+
| NanoPi-R5S
|-
+
| NanoPi-R2C-Plus
! eMMC当前系统
+
| CM3588
! TF卡当前系统
+
| NanoPC-T6 =
! 启动优先级
+
* '''(可选)''': 如果你的{{{1}}}上有SPI Nor Flash,用如下命令擦除SPI Nor Flash:
|-
+
<syntaxhighlight lang="bash">
| 无系统
+
upgrade_tool DB MiniLoaderAll.bin
| 任意固件
+
upgrade_tool SSD  #选5, SPINOR
| TF卡
+
dd if=/dev/zero of=zero.img bs=1M count=16  # 针对16M NOR FLASH
|-
+
upgrade_tool WL 0 zero.img
| FriendlyELEC的固件
+
</syntaxhighlight>
| FriendlyELEC的固件
+
}}
| TF卡
+
* 至此,{{{1}}}恢复至初始状态,可以正常通过SD卡或eMMC引导系统了
|-
+
| FriendlyELEC的固件
+
| 采用主线U-boot的固件
+
| eMMC
+
|-
+
| 采用主线U-boot的固件
+
| FriendlyELEC的固件
+
| eMMC
+
|-
+
| 采用主线U-boot的固件
+
| 采用主线U-boot的固件
+
| eMMC
+
|}
+

Latest revision as of 12:03, 11 June 2024

1 救砖办法

如何固件没有正确安装,导致开发板变砖,而且可能没有机会通过SD卡重新安装固件,这时,就需要进入Maskrom模式,通过擦除存储设备的办法救砖。

1.1 Windows用户

1.1.1 下载所需文件

  • 获取所需工具:访问这里,在 05_Tools 目录中找到 RKDevTool_v3.19_for_window.zip, DriverAssitant_v5.12.zip 下载到本地
  • 安装Rockchip USB驱动和RKDevTool: 解压 DriverAssitant_v5.12.zip 安装Rockchip USB驱动, 解压 RKDevTool_v3.19_for_window.zip 获得 Rockchip烧写工具 RKDevTool
  • 获取loader: 访问这里,进入CPU型号对应的tools目录,下载 MiniLoaderAll.bin

1.1.2 进入Maskrom模式擦除存储设备

  • 使用USB数据线将{{{1}}}与电脑相连接
  • 在电脑上启动 RKDevTool
  • 将{{{1}}}断开电源,按住 MASK 键,连接电源,当看到界面下方显示 Found One MASKROM Device 时松开按键, 如下图所示:

Rkdevtool found one maskrom device.png

  • RKDevTool 界面上点击 Advanced Function 选项卡
  • Boot 编辑框中选择 MiniLoaderAll.bin,然后点击 Download 按钮
  • 选中 EMMC,点 Switch Storage,再点击 ErashAll 按钮擦除eMMC

Rkdevtool erase emmc.png

  • 至此,{{{1}}}恢复至初始状态,可以正常通过SD卡或eMMC引导系统了

1.2 Linux/Mac用户

1.2.1 下载所需文件

  • 获取所需工具:访问这里,在 05_Tools 目录中找到 upgrade_tool_v2.30_for_linux.tgz (或Mac用户选upgrade_tool_v2.25_for_mac.tgz) 下载到本地
  • 获取loader: 访问这里,进入CPU型号对应的tools目录,下载 MiniLoaderAll.bin

1.2.2 安装upgrade_tool工具

以下命令以Linux为例,Mac用户只有文件和目录名略有不同:

tar xzf upgrade_tool_v2.30_for_linux.tgz
cd upgrade_tool_v2.30_for_linux
sudo cp upgrade_tool /usr/local/sbin/
sudo chmod 755 /usr/local/sbin/upgrade_tool

1.2.3 进入Maskrom模式擦除存储设备

  • 使用USB数据线将{{{1}}}与电脑相连接
  • 将{{{1}}}断开电源,按住 MASK 键,连接电源,4秒后松开按键
  • 用如下命令检查连接:
upgrade_tool LD

显示类似 "DevNo=1 Vid=0x2207,Pid=0x350b,LocationID=13 Mode=Maskrom SerialNo=" 的内容表示已检测到设备。

  • 用如下命令擦除eMMC:
upgrade_tool EF MiniLoaderAll.bin
  • 至此,{{{1}}}恢复至初始状态,可以正常通过SD卡或eMMC引导系统了