文章参照于朱老师嵌入式核心课程。该文仅用于学习整理汇总。
S5PV210开发板(朱老师嵌入式核心课程中使用的开发板)刷机过程中遇到的一些问题,整理出来以便日后查阅翻看。
1. 刷机是利用刷机工具向开发板中下载系统镜像,跟手机刷机与电脑重新安装系统一个道理。
2.开发板的系统在整个执行阶段都会将log信息通过串口输出,以便调试开发者调试开发,也为刷机留了相应的接口。
3.刷机能看到实际成功与否的前提是先将原有的在板子中的镜像破坏掉,系统不能正常启动之后,我们再将系统镜像成功的刷入板子当中。
首先破坏开发板板载的inand中uboot的一部分,使其检验失败,这样就算是将uboot破坏了,间接的破坏了整个系统的启动。在将串口连接至电脑,利用Secure CRT作为控制台来监控系统的状态,在uboot阶段会有3S的等待时间才会进入系统启动。我们在系统启动之后在Android的控制台下去破坏uboot中的扇区。(在Secure CRT下)
busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync 该条指令把uboot的第一个扇区全部清零
然后执行sync指令,同步扇区信息。此时已经破坏完成uboot,再次启动系统检验失败uboot已经被破坏。
刷机的两种方式:USB刷机(DNW工具)和SD卡刷机
由于开发板启动方式支持很多中,包括inand/SD卡/mmc卡/外部USB启动等方式。
这两中刷机方式就是利用在开发板不同启动方式的情况下分别用两种不同的方式来刷机的。
1.关于DNW驱动安装
Window7/8/10均要关闭数字签名之后才可以顺利安装驱动,安装成功之后若是在烧录uboot的时候出现DNW error ini的错误提示的话,在C盘根目录下删除DNW,ini文件,之后用管理员身份运行DNW就可以正常烧录uboot。在该种方式下烧录时开发板的启动方式要切换至通过外部USB启动的方式。
在DNW方式下刷机有点类似于,将两小段uboot中的引导部分烧录到SRAM中运行起来,然后在uboot启动的3S内进入uboot阶段,在uboot阶段将磁盘重新分区(在烧录该两段程序过程中开发板不能断电。)
执行fdisk -c 0
然后执行fastboot ,让开发板处于fast boot模式下,即允许对应的外部可执行程序对其进行刷机操作
然后在CMD下,进入自己的fastboot的可执行程序文件下,(最好将系统镜像包括uboot,kernel system都放在该路径下)。
fastboot flash bootloader android4.0/uboot.bin // 烧uboot
fastboot flash kernel android4.0/zImage-android // 烧linux kernel
fastboot flash system android4.0/x210.img // 烧android rom
过程中看到开发板进度条顺利走完,并且再次重启系统可以启动,则说明刷机成功。
关于上面三条指令的含义就是在window下执行fastboot.exe的可执行程序,传参为flash bootloader/kernel/system {要烧录的对应的镜像文件,不能对应错误,否则会启动错误}
2.SD卡刷机
将uboot的镜像利用开发板厂商提供的烧录工具烧录到SD卡,就将启动卡做好了。(使用这个工具是有的系统必须用管理员权限才可以烧录成功,我是window10,试了好多次就是不成功,最后发现是管理员权限就可以解决)
然后将SD卡插入可作为系统启动的SD卡槽中,将系统启动方式调整至SD卡启动方式(也不是绝对的SD卡启动,由于内部的inand中的uboot被破坏,所以第一步检验失败之后转向SD卡启动,这也是为什么SD卡可以作为启动卡的原因)。此时按下电源键系统正常启动说明SD刷机完成,SD卡作为刷机介质,实际叫做启动介质。
以上是今天将吃灰好久的板子拿出来,解决并找到的一些问题与整理汇总。
本文提供S5PV210开发板的刷机步骤与技巧,涵盖破坏原有系统、DNW USB与SD卡刷机流程,及常见问题解决方案,适合初学者与进阶用户。
&spm=1001.2101.3001.5002&articleId=107304673&d=1&t=3&u=464dc2b11ad44e2f857402680a2e42c3)
1685

被折叠的 条评论
为什么被折叠?



