x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

之前在x210开发板上刷系统,过了一段时间重新刷时又出现一些问题。现对整个刷机过程参考朱有鹏老师的教程和自己的实践做了详细的笔记,分享给大家,共大家参考。。。

 

 

1.3.3.开发板刷系统1

1.3.3.1、什么是刷系统

刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。

1.3.3.2、串口输出的意义(做系统控制台)

串口是一种硬件通信口,很多年前的时候串口是CPU之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。

桌面电脑可以打开一个虚拟控制台,嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们笔记本电脑的串口,然后在电脑上打开一个串口监视,这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。常用的串口监视软件有:超级终端、SecureCRT、minicom

1.3.3.3、安装USB转串口线的驱动

本来电脑都是有串口的(DM9接口),但是现在大家都用笔记本没有串口了,所以这种串口连接线用不了。办法是使用USB转串口线,这种线传入电脑后需要安装驱动,安装驱动后在电脑上会形成一个串口(叫usb转串口),这样就相当于你电脑有了一个串口,可以通过这个串口来监视开发板的串口输出。

注意1:windows对USB设备的管理是和USB口有关的,你每次把usb转串口线插到1个口中,这样得到的COM口号码是不变的,方便我们后期使用。如果每次胡乱更换插口,可能得到的COM口会变。我们安装绿联USB转串口驱动(PL2303)。安装完成后,如下图所示:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

注意2:COM口号码是可以改的,还可以强制占用显示“已使用”的COM号,一般改成COM4以内的就可以了。

1.3.3.4、使用SecureCRT

从网盘下载SecureCRT.rar,解压后直接使用。注册时参考解压包中的《说明.txt》。

打开SecureCRT.exe后,建立一个Serial连接,开始监视串口。设置参考视频中,注意流控(RTS/CTS(T))一定要去掉。

开发板这边串口一定要接COM2(官方出厂默认的烧录镜像都是使用串口2的),然后开机,就可以看到串口信息了。

使用SecureCRT软件建立链接的方法:打开软件,点击:“文件”-> “快速连接”,然后窗口中的设置如下:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

连接成功如下图所示:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

1.3.3.5、破坏iNand中的bootloader以从SD2启动

留待第四部分,做LED实验时再说。

 

1.3.4.开发板刷系统2(用SD卡

请参考朱老师物联网大讲堂\开发版光盘资料\X210V3S_A\UserManual《X210V3 SD卡烧写教程.pdf》

1.3.4.0、破坏iNand中的bootloader以从SD2启动

busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync

(在把开发板启动后,在安卓的控制台SecureCRT下输入该指令),然后执行第二条命令

sync

解释:这句话的意思就是说把板载的iNand的第一个扇区用全0来填充,其实就是擦除它,这样我们板载的iNand的bootloader的开始第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中读取前16KB,然后计算校验和。这时候因为有1个扇区被擦掉了,所以校验和不通过,所以启动失败(会从SD2去执行2nd启动)。

注意:破坏板载iNand的bootloader后,不插外部SD卡,启动时串口得到:SD checksum Error

1.3.4.1、制作启动SD卡(其实就是烧录uboot到SD卡中)

有2种烧写方法:一种是在windows中用刷卡工具去制作启动SD卡;另一种是在linux中用dd命令。

本节介绍第一种(比较简单),刷卡工具在光盘:A盘\tools\x210_Fusing_Tool.rar

刷卡步骤:插入SD卡到电脑卡槽,然后打开软件,刷入:开发版光盘资料\X210V3S_B\android4.0.4\image\inand\buoot.bin

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

点击START按钮后,最后显示弹出对话框显示:fusing image done表示操作成功。

制作完SD后将SD卡插入开发板SD2通道(插入开发板中间一个SD卡卡槽。注意不是SD3),然后开机就可以进入uboot界面了。在uboot开机自动启动倒数3秒之内迅速按下电脑回车键,打断自动启动。(否则会自动启动iNand中的android)

我在烧录的过程中,一直显示烧录失败,然后解压烧录软件,换了新的后烧录就ok了,有可能是我的杀毒软件杀毒的时候把这个软件弄坏了。

 

1.3.4.2、fastboot介绍

fastboot是uboot中用来快速下载镜像的一个命令,fastboot同时还是一个windows上的软件。

fastboot下载时要注意1:fastboot是使用USB线进行数据传输的,所以fastboot执行之前要先连接开发板和主机之间的usb线。

fastboot下载时要注意2:需要安装驱动。

 

1.3.4.4、fastboot常用命令:

fastboot devices 命令用来查看当前连接的设备。(我们开发板看到的是:SMDKC110-01)

fastboot flash xxx 命令用来烧录的

fastboot reboot 命令用来重启系统

1.3.4.5、使用fastboot烧录android4.0.4镜像

在Windows命令行cmd下使用以下三个命令来完成烧录

fastboot flash bootloader + uboot.bin的pathname 烧uboot

(bootloader是扇区,android4.0/uboot.bin表示当前目录下的文件夹android4.0下的uboot.bin文件)

fastboot flash kernel + zImage-android的pathname 烧linux kernel

fastboot flash system + x210.img的pathname 烧android rom

具体操作见后面

uboot的参数设置:set bootcmd 'movi read kernel 30008000; bootm 30008000'(默认就是这个,不用设置也行)

 

1.3.5.开发板刷系统3fastboot刷机有关的驱动的安装)

1.3.5.1、dnw驱动的安装

驱动位置:6.工具软件\dnw驱动和fastboot驱动\dnw驱动和fastboot驱动\dnw_driver_win7-64

安装步骤为:用USB线连接PC机和开发板,然后用手按住开发板上的电源启动按键(POWER),此时开发板上会弹出“SEC S5PC110 Test B/D”设备,有感叹号,如下图:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

然后给这个设备安装上面指定的驱动即可,在安装的过程中要选择忽略数字签名,安装完成后如下图所示出现新的设备“SecBulk sys Njsmodi 2412 dnw driver”。

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

至此dnw驱动安装成功。

此时我们机可以使用dnw.exe软件来给开发板发送文件了,但是现在无法通过Windows命令行来给开发板发送命令。我们还需要安装X210 Android驱动

 

1.3.5.2、fastboot驱动(X210 Android驱动)的安装

驱动位置:A盘\tools\USB驱动\x210_android_driver

如果不安装的此驱动,则无法通过windows的命令行在开发板发送命令,在命令行输入fastboot的命令后会有“Waiting for device”提示。

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

安装此驱动,安装完成后,计算机管理显示如下:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

此时可以用windows命令行给开发板发送fastboot命令了。

 

1.3.6.刷机(用fastboot刷

1.3.6.1 刷机准备

(1)刷机工具及需要的文件

用 fastboot 刷Android4.0:

用的镜像文件:uboot.bin x210.img zImage-android

所在光盘位置:E:\x210BV3\X210_B\android4.0.4\image\inand

还有:x210_usb.bin,这个可能在当前目录找不到,可到 E:\x210BV3\X210_A\WINCE\image,这个位置找找,其实刷wince也是用到这个。找不到可直接搜索。

用到的工具:DNW.exe fastboot

(2)事先把开发板启动方式拨到usb启动。OM5打到VCC就能从usb启动

(3)两个刷机文件x210_usb.bin  和 uboot.bin 准备好。

1.3.6.2、刷机

刷机分2步:第一步刷x210_usb.bin,地址是0xd0020010;第二步刷uboot.bin,刷机地址是0x23e00000

uboot启动起来后,先fdisk -c 0去重新分区,然后再fastboot·······

 

  1. 事先把开发板启动方式拨到usb启动。OM5打到VCC就能从usb启动
  2. 两个刷机文件x210_usb.bin  和 uboot.bin 准备好。

    3.打开dnw.exe软件(路径:H:\文档(E)\朱老师物联网大讲堂\工具软件\dnw.exe)

点击”configuration -> Options “. 设置USB Port框中的 Download Adderss 为0xd0020010(这个地址是刷x210_usb.bin的地址)

设置好波特率和串口,点击“确定”。

然后点击USB Port -> Transmit -> Transmit,找到之前存放的x210_usb.bin 如下:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

点击刷机后,如果失败,则重新输入地址,重新尝试。

 

  1. 刷完第一步之后,然后进行第二步刷机:在dnw.exe软件中点击”configuration -> Options “. 设置USB Port框中的 Download Adderss 为0x23e00000,
  2. 然后和上上一步一样,选择文件uboot.bin 进行刷机(注意:在选择uboot.bin之前,要把开发板串口连接到电脑端,同时打开SecureCETR软件),在点击dnw.exe中选择uboot.bin文件的“打开”,下载完此文件后,SecureCETR会输出内容,开发板进入启动阶段,这时要在3秒之内按下电脑的回车键。

在SecureCETR终端依次输入

fdisk -c 0    (此命令是用来分区的)

fastboot    (可以得到分区表)

 

然后在windows电脑终端进入刷机命令

比如我把fastboot放到了C盘,刷机的文件放到了C:\fastboot\image中:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

 

去windows命令行下操作,去到fastboot目录下(开发版光盘资料\X210V3S_A\tools\fastboot),分别执行: 

fastboot flash bootloader  xxxxx 烧uboot

fastboot flash kernel xxxxx 烧linux kernel

fastboot flash system xxxxx 烧android rom

fastboot -w

 

上面的 "xxxxx" 指的是对应镜像所在路径,比如我使用的命令:

fastboot flash bootloader  image\uboot.bin 烧uboot

fastboot flash kernel  image\zImage-android 烧linux kernel

fastboot flash system  C:\fastboot\image\x210.img 烧android rom

fastboot -w

如下图:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

上面可以使用相对路径也可以使用绝对路径。

注意:在输入上图中的命令后,如果提示“Waiting for device”,则说明android驱动没有装好。

完了之后OM5拨到不从USB驱动的一端,手动重启机器即可。

 

如果启动不了则需要检查bootcmd和bootargs的值是否设置的正确。如过不能启动,则使用print命令查看环境变量的值。然后设置环境变量的值即可,如下:

x210(s5pv210 linux)开发板fastboot和SD卡刷机详细教程

环境变量的值如下:

从本地开发板中启动:

set bootcmd 'movi read kernel 30008000; bootm 30008000'

set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3

设置完成后直接输入reset命令来启动开发板中的linux系统即可。

 

从开发板下载内核来启动:

gatewayip=192.168.1.1

netmask=255.255.255.0

ipaddr=192.168.1.10

serverip=192.168.1.141

bootcmd=tftp 0x30008000 zImage;bootm 0x30008000

bootargs=root=/dev/nfs nfsroot=192.168.1.141:/home/aston/porting_x210/rootfs/rootfs ip=192.168.1.10:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200

 

可参考此文档:http://www.cnblogs.com/cute/p/4835479.html