您的位置:首页 > 其它

解决X210开发板被刷成砖的问题

2017-04-07 11:25 260 查看

解决X210开发板被刷成砖的问题

1.开发板使用:

    开发板是九鼎科技的X210BV3S开发板,SoC是S5PV210,是三星的一款基于ARM Cortex-A8内核的芯片。

2.所看教学课程:

    教学视频是,朱老师物联网大讲堂中的“嵌入式Linux核心课程”,由朱有鹏老师亲自录制的视频中的刷机部分。

3.变成砖原因:

    由于执行了“movi write u-boot 0x30000000”后变砖了,再次开机碰到诡异现象:串口输出乱码、SD卡不启动。当时使用老师所讲的dnw刷机还是不能搞定,经过2个月之后,在做SD卡启动的时候,要从SD卡启动,但是由于内部的iNnand中的bootloader没有被破坏,所以从SD卡启动不了。因为执行了那条命令,连uboot控制台也进不了,执行不了破坏bootloader的命令(busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1
count=1 conv=sync

        sync)

4.变砖的现象:

    每次用windows下的dnw刷机,从USB启动之后,在串口的命令行侠执行,

    第一、在检查SD卡的时候出现卡死现象。

    第二、执行"fdisk -c 0"命令总是弹不出分区成功的界面,就一直卡死到那里;

    第三、执行了上面的命令,分区成功,又遇到执行“fastboot”命令是,出现卡死现象。

    这个问题困扰了我两个月,终于到最后要使用SD卡的时候还是不得不来重新刷机,刷回去,再来破坏bootloader,下面详细来所以下解决方法。

5.解决方法:

    在使用Windows下的dnw刷机一直出现问题,就只能使用Linux下的dnw刷机,

    一、在Linux下安装dnw刷机软件的安装和使用

    ①、源码包:

    ②、编译和安装:   

    ③、连接开发板到Linux下面来:

        =>开发板设置USB启动,开机,windows设备管理器中提示发现新硬件;

        =>VMware菜单:虚拟机->可移动设备->Samsung S5PC110 SEC Test B/D,点击连接

        =>成功连接后现象:1、Windows下设备管理器没了;2、ls /dev/secbulk0 设备节点自动出现

    ④、dnw进行下载uboot.bin:

        =>先执行“dnw -a 0xd0020010 x210_usb.bin”

        =>在执行“dnw -a 0x23e00000 uboot.bin”  

        成功标志:SecureCRT中成功看到了uboot的启动信息,并且进入了uboot命令行。

    ⑤、启动uboot之后要注意的事项:

        =>正确的uboot启动后一定要先执行命令“fdisk -c 0”进行分区;

        =>然后再执行“fastboot”;(可能有一些其他原因要多刷几次才能正确执行)

    二、接下来就是刷机

        ①、在windows下使用命令行,用快捷键“win+R”打开运行,输入“cmd”回车

        ②、切换到fastboot文件夹下,把linux+qt和Android镜像文件夹拷贝到该位置。

        ③、先将设备从ununtu弹出,连接到windows下。

        ④、windows命令行烧uboot:

               fastboot flash bootloader android4.0.4/uboot.bin

        ⑤、windows命令行烧linux keinel:

                fastboot flash kernel android4.0.4/zImage-android

        ⑥、windows命令行烧android rom:

                fastboot flash system android4.0.4/x210.img

        ⑦、完了之后在SecureCRT中设置uboot的参数中的bootcmd和bootargs

           =>命令1: set bootcmd 'movi read kernel 30008000; bootm 30008000'

           =>命令2:set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw                                 init=/linuxrc rootfstype=ext3    

        ⑧、完了之后windows命令行重启系统:fastboot reboot     

        ⑨、然后就可以正常启动了。  

    三、要想使用SD卡启动就要破坏内部的iNnand中的bootloader

        ①、连接串口、启动系统

        ②、启动之后在 SecureCRT中执行以下命令

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

           =>命令2: sync   

         ③、解释:这句话的意思就是说把板载的iNand的第一个扇区用全0来填充,

                            其实就是擦 除它,这样我们板载的iNand的bootloader的开始

                            第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中

                            读取前16KB,然后计算校验和。这时候因为有1个扇区被擦掉了,

                            所以校验和不通过,所以启动失败(会从SD2去执行2nd启动)。

        ④、注意:破坏板载iNand的bootloader后,不插外部SD卡,

                            启动时串口得到:SD checksum Error

注:1.此学习笔记来自于观看朱有鹏老师录制的“嵌入式Linux核心课程”=>“ARM裸机部分”=>"第三部分-开发板、原理图和数据手册",

        2.参考资料来自于九鼎科技X210开发板的光盘资料和朱老师随堂笔记。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: