点雅乀峰芳的博客

嵌入式刷机

X210刷机--利用markdown尝试编写

刷系统需要的原材料:开发板、串口数据线、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

阅读更多
个人分类: 开发板刷机
上一篇细谈--X210开发板刷机
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭