一、x210开发板的启动机制
SD/inand启动步骤:
第一层启动从通道0,SD0(inand/emmc)启动, 当(inand/emmc)启动做校验和时失败才会转为启动通道2,SD2(外接插入sd卡)。而我们做裸机实验时是通过SD2来提供裸机程序镜像的,因此需要先破坏内部iNand的uboot才可以强迫开发板从SD2启动去执行我们的裸机程序。
二、刷机准备工作,破坏已烧录的uboot
1、uboot环境下,破坏开发板iNand中的uboot:
开发板中,已烧录过,u波哦天1,uboot环境下擦除开发板iNand中的uboot,用uboot子带的,movi指令操作sd卡,inand
接入到串口,进入uboot环境。
在uboot底下擦除uboot:
执行(输入):movi write u-boot 0x30000000 //将内存0x30000000里面的内容(应该全部是0)写入到u-boot分区(inand)里面
重启X210,发现串口中输出,表明头部校验和失败,已经转入SD卡通道启动了,检查不到sd卡
再插入烧好的SD卡,即可启动,烧录sd卡下面介绍。
2、linux和android系统环境下,擦除uboot:
如果开发板已烧录linux系统,待X210完全启动后,在SecureCRT串口中输入命令:dd命令。
共2条命令.(破坏inand第一个扇区)
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
输入同步命令:sync
解释:把板载的iNand的第一个扇区用全0来填充,其实就是擦除它,这样我们板载的iNand的bootloader的开始第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中读取前16KB,然后计算校验和。这时候因为有1个扇区被擦掉了,所以校验和不通过,所以启动失败(会从SD2去执行2nd启动)。
注意:破坏板载iNand的bootloader后,不插外部SD卡,启动时串口得到:SD checksum Error
二、烧录uboot到sd卡
1、PC环境下烧录镜像到SD卡:
PC环境下,用专用工具:browse找到镜像后,点击start.将镜像复制到SD卡后,将SD卡插入至SD2口即可.(此方法只能做辅助启动,拔掉SD卡后也不能启动)
2、fastboot 工具烧录uboot:
fastboot:是windows下的一个软件,也是uboot下的一个命令.
注意:如果uboot已经被擦除,则需要将烧好的SD插入,否则X210启动不起来,无法进入控制台.
-1、用开发板,使用USB线传输连接OTG接口到电脑,打开SecureCRT串口,开机后,迅速敲回车进入控制台
在开发板的,uboot下,输入fastboot 进入fastboot刷镜像文件,输入fastboot命令
回到windowd安装驱动如下。
现在假设你已经装好相应的驱动、串口线和USB线已经插上去、DNW也打开。用到的工具: DNW.exe,fastboot
1、用 fastboot 刷Android4.0
用的镜像文件: uboot.bin,x210.img,zImage-android
还有: x210_usb.bin
步骤如下
①:拨码OM5拨上去;如 [OM0:OM5]=[101101]。后面两位不管。
②:按住开机键,DNW配置下载地址d0020010,USB下x210_usb.bin,
③:DNW配置下载地址23e00000,USB下载uboot.bin
④:这时串口终端有信息打印出来,回车进入命令行,这时可以松开 开机键,
⑤: 输入fdisk -c 0 重新分区
⑥:烧录完了之后OM5拨回来,手动重启机器即可。
现在开始烧录,回到Windows,Windows下fastboot工具如下,有一个adb,fastboot应用程序,这是通用下载的。
建立如图Android文件夹,放入镜像
进入windous的cmd控制台DOS下操作,去到fastboot目录下,切换到fastboot.exe所在的文件夹里面(我的电脑文件路径是: E:\fastboot)
相关操作命令:
切换命令:cd E:\fastboot
进入命令:dir //显示当前文件夹里的文件相关信息
查看命令: fastboot devices //命令用来查看当前连接的设备。
表明已经检测到设备,下面就开始烧录镜像文件了.共有3个文件,这3个文件均需自己拷贝至e:\fastboot文件夹里面.
fastboot命令格式
fastboot flash bootloader xxxxx
fastboot flash kernel xxxxx
fastboot flash system xxxxx
fastboot -w
分别执行:
烧uboot:
fastboot flash bootloader android4.0.4/uboot.bin 烧linux kernel:
fastboot flash kernel android4.0.4/zImage-android 烧android rom:
fastboot flash system android4.0.4/x210.img
一般:我们破坏的是uboot,所以我们只需要烧录uboot即可:
重启命令:fastboot reboot //命令用来重启系统