细谈--X210开发板刷机

*************************START*********************


#刷系统需要的原材料:开发板、串口数据线、USB数据线
首先检查开发板能否被PC识别,不能识别说明我们的开发板驱动需要重新更新下,能识别就不需要了。
将串口线和USB线都插好,配合SecureCRT都接好


************************破坏uboot**********************


对于linux+Qt系统的刷机,我们需要注意的细节:
首先先明白一个概念:
什么是系统控制台?什么是uboot控制台?
1.系统控制台:是在倒数的时候不按,进入系统后的界面


2.uboot控制台:你在倒数3 2 1的时候按键,就进入uboot了


注意我们破坏uboot是在系统控制台下面进行破败的。


其次我们需要学会做SD卡烧录镜像,制作SD卡有两种
1.在windows下用九鼎sd卡工具下载文件到SD卡(方便) 


2.在linux下用dd命令


其次如果我们需要将板载的inand中的uboot进行破坏,但是存在一个问题,对于不同的操作系统我们的破坏方式有区别。
破坏uboot的方式如下:
------------------------------------
安卓的镜像:(再次注意破坏是在系统控制台下,不是uboot界面)
->先输入:busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
会出现:
1+0 records in
1+0 records out

->后输入:sync 
-------------------------------------
linux镜像:
->先输入:busybox dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1 count=1 conv=sync
会出现:
1+0 records in
1+0 records out
->后输入:sync


此时我们的破坏工作就已经结束了,我们再次关机重启开发板,就无法启动了,此时SecureCRT串口提示SD checksum error---表示破坏成功。


*****************************烧录新的uboot、kernel和根文件系统**************


1.我们必须将拨码开关拨到EMMC


2.使用九鼎的SD_Fusing工具,将朱老师指定的uboot烧录到SD卡。


3.然后插上SD卡,再次启动,打断系统运行,进入uboot界面。


3.使用一个uboot的一个fastboot命令,fastboot还是PC机上的一个工具,可以用命令行下运行对我们的文件进行烧录
  朱老师指明,烧录linux+Qt系统的时候首先需要对磁盘进行分区,也就是进入uboot的时候,输入:fdisk -c 0
  接着输入:fastboot,让开发板进入fastboot模式
  
4.我们使用PC上的fastboot工具(是一个文件夹),进入cmd命令行,找到这个目录,然后输入:fastboot。也就是运行了PC上的fastboot工具。
  该工具要求我们必须将需要烧录的系统文件全部拷贝到该fastboot文件下(我们是使用的一个linuxQT的文件夹讲关于Qt的uboot、内核、根文件系统都放到里面)
  然后在PC的命令行下,输入:fastboot devices,看看我们的开发板是不是已经被fastboot工具检测到了。
  如果检测到了,就依次运行下面的代码烧录到inand: 
  烧录uboot:fastboot flash bootloader linuxQT/uboot.bin    烧uboot
等待uboot界面显示:okey
烧录kernel:fastboot flash kernel linuxQT/zImage-qt    烧linux kernel
等待uboot界面显示:okey
烧录根文件系统:fastboot flash system linuxQT/rootfs_qt4.ext3 烧rootfs

当开发板上或者secureCRT出现partition 'system' flashed的时候说明烧写结束。
此时关机重启,此时Qt应该可以成功运行。


以上是操作的全部烧录过程,按道理Qt就可以被运行了。




************************以下是我个人遇到的问题*****************************


如果出现一直系统重启,或者开发板显示Qt残缺,这不是我们烧录系统步骤有问题,而是我们的uboot.bin文件可能有问题。
我们需要使用print命令打印出所有的环境变量,检查下bootcmd和bootargs是不是下面的值。如果不是,就说明错了,需要修改。
我们uboot支持运行的时候对文件的环境变量进行修改,上面的问题就是uboot的一些环境变量设置除了问题。
修改的方法如下:
set bootcmd 'movi read kernel 30008000; bootm 30008000'
set bootargs console=ttySAC2,115200 root=/dev/mmcblk0p2 rw init=/linuxrc rootfstype=ext3


最后不要忘记保存:save。


此时再去关机重启,此时所有问题解决。


****************************************END*********************************
                                                                                                                                                                    2018-4-15





























猜你喜欢

转载自blog.csdn.net/qq_38124709/article/details/79946259