二.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
- 二.ARM裸机学习之S5PV210刷机
- ARM裸机学习之S5PV210启动方式理解
- ARM裸机-S5PV210简析
- 朱老师ARM裸机学习笔记(二):S5PV210的内存映射
- 朱老师ARM裸机学习笔记(二):S5PV210的内存映射
- 八.ARM裸机学习之S5PV210的时钟系统1(原理概念及框图分析)
- 九.ARM裸机学习之串口通信详解2(S5PV210串行通信编程详解)
- 十.ARM裸机学习之中断系统2(S5PV210按键外部中断及中断处理)
- 十.ARM裸机学习之中断系统1(S5PV210的中断系统详解)
- ARM裸机学习(二)
- 一.ARM裸机学习之ARM汇编
- 八.ARM裸机学习之S5PV210的时钟系统2(汇编代码及时钟框图深入理解)
- S5PV210系列(裸机二) ARM的编程模式、7种模式和37个寄存器
- s5pv210裸机实验之led
- s5pv210裸机实验之定时器
- s5pv210-裸机之SD卡
- 七.ARM裸机学习之SDRAM
- 十三.ARM裸机学习之NandFlash详解
- 关于Unity粒子系统优化,你可能遇到这些问题
- 日期类的实现
- 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字
- 虚拟机Hadoop-2.7.1环境搭建(CentOS-6.5)
- 2017第三届智能制造与工业4.0国际峰会即将于11月震撼来袭!
- 二.ARM裸机学习之S5PV210刷机
- 将spring cloud打包docker镜像
- ansible-playbook批量部署nginx
- angularjs中如何实现控制器和指令之间交互
- [NOIP2015]运输计划 树链剖分 二分 差分
- Leetcode算法学习日志-152 Maximum Product Subarray
- 第一次使用MarkDown写日志
- 倒水问题(广度优先搜索)
- 使用docker发布spring cloud应用