开发板刷系统(X210V3S)

1 准备工作

1.1 什么是刷系统

  • 刷系统就是利用刷机工具,向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。

1.2 串口输出的意义(做系统控制台)

  • 串口是一种硬件通信口,很多年前的时候串口是CPU之间进行通信的主要接口。但是现在因为串口通信的速度很低,所以现在串口主要是用来做程序输出监控、调试。

  • 桌面电脑可以打开一个虚拟控制台,嵌入式系统一般是用串口来做控制台的。一般是用一根串口线连接开发板的串口和我们笔记本电脑的串口,然后在电脑上打开一个串口监视,这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。常用的串口监视软件有:超级终端、SecureCRT、minicom。

1.3 安装USB转串口线的驱动

  • 本来电脑都是有串口的(DB9接口),但是现在大家都用笔记本没有串口了,所以这种串口连接线用不了。办法是使用USB转串口线,这种线传入电脑后需要安装驱动,安装驱动后在电脑上会形成一个串口(叫usb转串口),这样就相当于你电脑有了一个串口,可以通过这个串口来监视开发板的串口输出。

  • 注意1:windows对USB设备的管理是和USB口有关的,你每次把usb转串口线插到1个口中,这样得到的COM口号码是不变的,方便我们后期使用。如果每次胡乱更换插口,可能得到的COM口会变。

  • 注意2:COM口号码是可以改的,还可以强制占用显示“已使用”的COM号,一般改成COM4以内的就可以了。

1.4 使用SecureCRT

  • 打开SecureCRT.exe后,建立一个Serial连接,开始监视串口,注意流控一定要去掉。

  • 开发板这边串口一定要接串口2 (官方出厂默认的烧录镜像都是使用串口2的),然后开机,就可以看到串口信息了。

1.5 破坏iNand中的bootloader以从SD2启动

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

  • 解释:这句话的意思就是说把板载的iNand的第一个扇区用全0来填充,其实就是擦除它,这样我们板载的iNand的bootloader的开始第1个扇区就被破坏了。将来启动时iROM还是会先从iNand中读取前16KB,然后计算校验和。这时候因为有1个扇区被擦掉了,所以校验和不通过,所以启动失败(会从SD2去执行2nd启动)。

  • 注意:破坏板载iNand的bootloader后,不插外部SD卡,启动时串口得到:SD checksum Error。

1.6 制作启动SD卡(其实就是烧录uboot到SD卡中)

  • 有2种烧写方法:一种是在windows中用刷卡工具去制作启动SD卡;另一种是在linux中用dd命令。

  • 本节介绍第一种(比较简单),刷卡工具在光盘:A盘\tools\x210_Fusing_Tool.rar

  • 制作完SD后将SD卡插入开发板SD2通道(注意不是SD3),然后开机就可以进入uboot界面了。在uboot开机自动启动倒数3秒之内迅速按下电脑回车键,打断自动启动。(否则会自动启动iNand中的android)

1.7 fastboot介绍

  • fastboot是uboot中用来快速下载镜像的一个命令,fastboot同时还是一个windows上的软件。

  • fastboot下载时要注意1:fastboot是使用USB线进行数据传输的,所以fastboot执行之前要先连接开发板和主机之间的usb线。

  • fastboot下载时要注意2:需要安装驱动。

fastboot驱动(X210 Android驱动)的安装
在uboot中执行fastboot命令后,在设备管理器中进行相应驱动安装。
驱动位置:A盘\tools\USB驱动\x210_android_driver

fastboot常用命令:

  • fastboot devices 命令用来查看当前连接的设备。(我们开发板看到的是:SMDKC110-01)
  • fastboot flash xxx 命令用来烧录的
  • fastboot reboot 命令用来重启系统

使用fastboot烧录android4.0.4镜像

  • 在cmd下使用以下三个命令来完成烧录
    • 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
      uboot的参数设置:set bootcmd ‘movi read kernel 30008000; bootm 30008000’(默认就是这个,不用设置也行)

2 开发板刷系统

2.1 烧录linux+QT

fastboot flash bootloader linuxQT/uboot_inand.bin              烧uboot 
fastboot flash kernel linuxQT/zImage-qt                   烧linux kernel
fastboot flash system linuxQT/rootfs_qt4.ext3           烧rootfs
uboot的参数不用特意设置(因为我们刷了专为linux+QT定制的uboot,这个uboot中估计已经预制好了所有的启动参数)

2.2 烧录android2.3

fastboot flash bootloader android2.3/uboot.bin      烧uboot
fastboot flash kernel android2.3/zImage             烧linux kernel
fastboot flash system android2.3/x210.img           烧android rom
注意:android2.3中使用了串口0,所以启动后要把串口插到串口0中,不然串口没有任何启动信息出来。android2.3中屏幕上的logo是在左上角(也是个刷机成功的标志)

2.3 烧录android4.0.4

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

3 X210的dnw刷机

刷机准备

  • 看x210 dnw刷机.txt,按照其中进行操作
  • 事先把开发板启动方式拨到usb启动。OM5打到VCC就能从usb启动
  • 两个刷机文件x210_usb.bin 和 uboot.bin 准备好。

刷机

  • 刷机分2步:第一步刷x210_usb.bin,地址是0xd0020010;第二步刷uboot.bin,刷机地址是0x23e00000
  • uboot启动起来后,先fdisk -c 0去重新分区,然后再fastboot·······

4 linux下使用dd命令刷写uboot

4.1 SD卡连接入linux中

首先得搞清楚:一个USB设备插到电脑后,要么可以在Windows中识别,此时不能在虚拟机linux中识别;要么能在linux中识别,但是在windows中又不见了。默认的一般都是连在Windows中的,所以linux是找不到的。

如果你需要将该设备连接到linux中,需要在VMware软件的菜单“虚拟机 -> 可移动设备”中点选该设备,选择连接。

连接进linux中,在命令行中:ls /dev/sd*查看,和之前对比,就知道我们的SD卡在linux中的设备编号了。一般是/dev/sdb,也有可能是sdc或者其他。我们后面的实验是基于这个设备号是/dev/sdb的,如果不是,后面的实验要相应做修改。

4.2 制作SD启动卡

执行 ./nand_fusing.sh /dev/sdb

4.3 使用SD卡启动

先确定开发板是从SD卡启动的,然后确定板子内的iNand中的uboot是被破坏的,不能启动的。 SD卡插入SD2通道,启动即可。启动后(看有没必要fdisk -c 0来分区)使用fastboot继续刷机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值