刷系统需要的原材料:开发板、串口数据线、USB数据线
首先检查开发板能否被PC识别,不能识别说明我们的开发板驱动需要重新更新下,能识别就不需要了。
将串口线和USB线都插好,配合SecureCRT都接好
**************破坏uboot**********************
对于linux+Qt系统的刷机,我们需要注意的细节:
首先先明白一个概念:
什么是系统控制台?什么是uboot控制台?
系统控制台:是在倒数的时候不按,进入系统后的界面。
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和根文件系统****
我们必须将拨码开关拨到EMMC
使用九鼎的SD_Fusing工具,将朱老师指定的uboot烧录到SD卡。
然后插上SD卡,再次启动,打断系统运行,进入uboot界面。
使用一个uboot的一个fastboot命令,fastboot还是PC机上的一个工具,可以用命令行下运行对我们的文件进行烧录朱老师指明,烧录linux+Qt系统的时候首先需要对磁盘进行分区,也就是进入uboot的时候,输入:fdisk -c 0接着输入:fastboot,让开发板进入fastboot模式
我们使用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