基于X210开发板平台下的刷机教程

一、什么是刷机?
“刷机”这个词在日常生活中经常听到,例如有些人说“我手机很卡,需要重新去刷一下机”,“我手机这个功能不支持,可以去刷下机么”,等等。其实,专业一点来说,刷机就是重新在板载的iNand/Nand/SD卡等储存设备上面重新部署uboot、kernel、rootfs。通俗一点来说就是,重装一个操作系统,像在电脑上面重装系统一样。

二、准备刷机工具。

(一)软件工具

1、fastboot:现在刷机工具普遍用的是fastboot,无论是在开发板上还是手机。fastboot是一个windows下的一个刷机工具,同时也是uboot下面的一个命令,当在uboot下执行“fastboot”,就相当于将uboot交给Windows下面fastboot软件管理,只需在Windows下利用fastboot软件执行命令烧写镜像即可实现“刷机”。

2、fastboot驱动:安装了fastboot以后肯定需要安装fastboot驱动啦。

3、DNW工具:DNW方式刷机使用到。三星的镜像烧录软件,它的作用是直接将镜像烧录到指定地址的SRAM/DDR中去。(注意:是烧录到SRAM/DDR,而不是iNand/Nand/SD卡等,掉电以后数据会被清空)

4、DNW驱动:配套DNW跟USB-OTG使用。

5、九鼎创展SD卡烧写工具:SD卡刷机方式刷写镜像使用到,这个是直接将镜像烧录到SD卡上面,是九鼎公司的一个SD卡烧录软件。

6、secureCRT:显示uboot打印的串口信息,同时也是显示uboot控制台的重要工具。

7、串口驱动:配套串口线跟secureCRT使用。

(二)硬件工具

1、串口线:连接开发板与PC的桥梁。

2、USB-OTG线:镜像烧录时使用到的。

3、SD卡:SD卡方式刷机使用到。

三、3种刷机方式的介绍。

(一)fastboot刷机,这种刷机方式的前提是你的开发板可以启动uboot并且进入uboot的控制台。大多数手机刷机也是这种。

(二)DNW+fastboot刷机,当你的开发板上不能启动uboot,也是通常所说的“变砖”,就使用这种方式,使用这种方式烧录一个uboot镜像以后,启动uboot进入控制台再使用fastboot刷机。

(三)SD卡+fastboot刷机,同上,也是针对开发板上不能启动uboot这种情况,烧写uboot并启动uboot以后进入控制台再使用fastboot方式刷机。

四、开始刷机。

(一)fastboot刷机。

1、开发板启动方式选择开关打到SD卡方式上。

2、使用USB线连接OTG接口,串口线保证接到串口2上,打开SecureCRT软件。

3、SecureCRT软件,按照下图配置。com几可以自己查看自己的设备管理器的端口那里。
com4

secureCRT配置

4、启动开发板,并且在控制台倒计时3秒结束之间快速按下回车键,按下fastboot,出现如下图。
fastboot

5、windows按键+R然后输入cmd进入windows控制台,进入安装fastboot的目录(我安装在自定义名字的A盘下的fastboot文件夹),所以 A: 进入了A盘,然后cd fastboot。

6、fastboot devices查看设备是否连接成功,出现下图表明是连接成功的。
fastboot devices

7、把准备好的uboot、kernel、rootfs准备好建立一个文件夹放到fastboot的安装目录下,我这里以烧写android4.04为例子,在fastboot依次下执行以下指令:

// 烧录uboot
fastboot flash bootloader android4.0.4/uboot.bin
// 烧录kernel
fastboot flash kernel android4.0.4/zImage-android
// 烧录android rom
fastboot flash system android4.0.4/x210.img

8、执行完了以后可以看到开发板显示屏上面有个进度,当烧写完毕以后,执行fastboot reboot重新启动,启动的是android4.0.4系统,大功告成。

(二)DNW+fastboot刷机。

1、开发板启动方式选择开关打到USB方式上。

2、按住开发板power按键,DNW软件出现下图【USB:OK】表示驱动正常工作,并且可以准备烧写uboot了。
DNW

3、在Configuration->Options下设置Down Address为0xd0020010,如下图。
这里写图片描述

4、按住开发板POWER键(不可松开),点击DNW软件的USB Port->Transmit选择x210_usb.bin镜像的全路径,下载。注意:下载以后还是不能松开POWER按键,因为还没下载uboot镜像,至于有一些步骤为什么要这样做,我在后面继续给大家说明原因。

5、按照第4步,设置地址为0x23e00000,选择uboot镜像并且下载。uboot镜像下载成功以后你就可以松开手了。

6、松开手以后就已经进入uboot了,然后就按照fastboot方式刷机为这块“砖头”刷上一个操作系统。

(三)SD卡+fastboot刷机。

1、首先打开九鼎创展的SD卡烧写工具,然后Browse选择uboot.bin镜像的路径,选择路径以后一定不能急着按START烧录,需要按一下ADD添加才会将刚刚的路径添加进去,这也是这个软件的恶心之处,然后再按START,出现“Fusing image done”,如下图,就是烧录成功了。
fusing done

2、然后将开关打到SD卡方式,开机,便可启动uboot,出现uboot的控制台,然后按照fastboot方式重新烧写一个操作系统。

五、一些步骤的原因。

1、为什么在DNW烧录的时候需要先烧录一个x210_usb.bin文件呢?
答:因为DNW是烧录到SRAM/DDR中去的,SRAM是很小的只有16KB,放不下整个uboot,所以先要烧录一小段程序初始化开发板的DDR,也就是BL1,然后再把整个uboot烧录到DDR里面去。

2、为什么这几种方式刷机最后还是需要使用到fastboot?
答:因为这几种方式都是先让开发板有一个uboot,然后依靠uboot下的控制台连接windows上面的fastboot再使用命令把镜像烧录的。当然,还有其它的方式例如可以直接tftp方式也可以直接将这些镜像下载到本地。

3、DNW下载时为什么要一直按着POWER按键?
答:因为DNW下载时将镜像下载到SRAM/DDR的,它们都是掉电不保存的,所以不按着POWER按键就会让刚刚下载的内容丢失,当下载了uboot以后不用按着是因为uboot里面有一段代码是初始化开发板的供电锁存,uboot运行以后就不用一直用手按着给开发板供电了。

4、DNW下载两个镜像的地址为什么相差那么远?
答:下载第一个镜像的地址是内部SRAM的地址,当下载第一个镜像以后就会初始化了外部的DDR,所以下载第二个镜像的地址是外部的DDR的地址。

六、可能遇到的问题。

1、使用SD卡的时候烧录不进去?
答:烧录不进去的原因可能是:①SD卡烧录软件有问题,可以尝试一些以管理员权限运行。②SD卡有问题,注意SD卡上有个写保护,不要把开关打到那里去了。③其它的问题,可自行百度。

2、dnw驱动安装不了?
答:win10系统增加了一些驱动的强制签名,所以一些驱动没有经过微软同意就不能安装,破解方法是关闭强制签名然后再安装驱动。具体见:
https://jingyan.baidu.com/article/624e74594dbc8d34e8ba5aa6.html

3、串口终端输入fastboot后出现 error:no MBR is found at SD/MMC?
答:SD卡/INAND/NAND里面没有一个对uboot有一个分区信息表,需要fdisk -c 0去重新分区,然后再fastboot。

4、dnw刷机时刷不进去,进度条不动?
答:①重写地址(即使你的地址正确),多试几遍就好。②重启开发板,重刷。

发布了24 篇原创文章 · 获赞 27 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/gyyu32g/article/details/78489045