二.ARM裸机学习之S5PV210刷机

来源:互联网 发布:可以修改图片的软件 编辑:程序博客网 时间:2024/05/22 15:20
ARM裸机刷系统(SD卡uboot+串口+usb otg刷机方式) 2017/10/27 23:30
(1)工作平台:WIN7
(2)驱动工具:USB转串口、USB-OTG驱动。
刷机软件:SecureCRT.EXE软件,sd卡制作工具x210_Fusing_Tool.EXE
协议 Serial
端口 COM2
波特率 115200
数据位 8
奇偶校验 无
停止位 1
数据流控制 全无
(3)刷机文件
     
使用的九鼎的S5PV210开发板,拿到板子时候已经刷了Android4.0系统,刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。
第一步,先破坏开发板iNand中的bootloader以从SD2启动,在android 系统控制台,执行如下指令
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

第二步,从新开机,发现系统无法启动,显示如下

下面,我们就可以用事先制作好的SD卡插入开发板,进行刷机了。具体SD卡的制作烧写和安卓SecureCRT.EXE软件的使用就不说了,参考朱老师的记本写的很详细了。
第三步,复位开发板(串口已经与电脑相连,打开SecureCRT软件,在SecureCRT中出现3 2 1倒数的时候,按下回车键。再输入fastboot 回车,进入fastboot模式下

第四步,在PC机CMD命令端中输入如下指令,烧录android4.0.4 如下图所示 必须与你PC机里面烧录系统的文件地址一致才行。
fastboot flash bootloader android4.0.4/uboot.bin 烧uboot
fastboot flash kernel android4.0.4/zImage-android 烧linux kernel
fastboot flash system android4.0.4/x210.img 烧android rom
还需知道的几个fastboot命令:
fastboot devices 命令用来查看当前连接的设备。(我们开发板看到的是:SMDKC110-01
fastboot flash xxx 命令用来烧录的
fastboot reboot 命令用来重启系统
和上图的地址保证一致,看的出来,上图有个error,就是地址不对,里面没这个文件

自此,烧写完成,重启开发板即看得到刷系统ok。

烧录linux+QT的方法也和上面烧写android4.0.4一样,命令如下
fastboot flash bootloader linuxQT/uboot_inand.bin 烧uboot
fastboot flash kernel linuxQT/zImage-qt 烧linux kernel
fastboot flash system linuxQT/rootfs_qt4.ext3 烧rootfs
笔者,自己试着刷了提供的几个不同版本的android和QT,期间遇到的问题如下:

烧写第3步ROM时候,显示这个,提示文件太大放不进分区,原因是刷成了旧版本开发板的镜像。解决方案就是用新版本镜像。出现了上诉这种情况(如果你也是刷了旧版的系统)
在android 系统控制台,在SecureCRT中出现3 2 1倒数的时候,按下回车键。再输入fastboot 回车,肯定会出现这种情况

这时候,输入一下命令即可:
fdisk -c 0,然后再fastboot,再刷内核和rootfs进去,设置好bootcmd和bootargs后启动就可以了。操作步骤就和上面烧写android4.0.4一样了。
最后想说,开发板刷机,大胆弄,不用怕玩坏,不存在的

补充:在linux下制作SD卡,即刷uboot进去
制作SD启动卡
虚拟机linux可以检测到u盘,具体怎么设置百度
在linux下执行 ./nand_fusing.sh /dev/sdb 即可 简单粗暴

命令回车显示下图的信息(参数不一样 正常),即刷uboot成功

后面就使用SD卡启动
先确定开发板是从SD卡启动的,检测得到信息
然后确定板子内的iNand中的uboot是被破坏的,不能启动的。
SD卡插入SD2通道,启动即可。启动后(看有没必要fdisk -c 0来分区)使用fastboot继续刷机。

阅读全文
2 0
原创粉丝点击