1.什么是刷系统?
用刷机工具向开发板中烧录预先编译好的系统镜像,使之在开发板上运行起来。
2.串口输出的意义?
串口是一种硬件通信口。很多年前串口是CPU直接通信的主要接口。由于其通信速率很低,所以现在使用串口主要用于程序输出的监控、调试。
桌面电脑可以打开一个虚拟控制台(cmd),嵌入式系统一般用串口来做控制台。一般用一根串口线连接开发板的串口和笔记本的串口,然后在电脑上打开一个串口监视,这样开发板上的串口输出内容就可以在电脑上看到。还可以通过监视终端向开发板输入一些控制命令由开发板执行。常用的串口监视软件有:超级终端、SecureCRT(本次使用)、minicom
(此开发板的串口要接串口2,因为出厂默认烧录的镜像都是使用串口2的)
3.破坏iNand中的BootLoader以从SD2启动
进入root,输入以下命令。(密码123456)
busybox dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=1 count=1 conv=sync
sync
此命令的意思是把iNand的第一个扇区全部用0填充,这样板载的iNand中的BootLoader的开始的第一个扇区就被破坏了。将来启动时iRom还是会从iNand中读取前16KB,然后计算校验和,此时校验和不通过,从而去SD2启动。
4.fastboot介绍
fastboot是uboot中用来快速下载镜像的一个命令,也是Windows中的一个软件。fastboot下载时要注意:①fastboot是用USB线传输的,所以要连接PC和开发板的USB线。②要安装好驱动(D:\0朱有鹏Linux核心课程\嵌入式Linux核心课程\210开发板光盘资料\X210V3S_A\tools\USB驱动\x210_android_driver)。
5.fastboot常用命令(需在cmd进入fastboot文件夹)
fastboot devices 查看当前连接的设备(此处为SMDKC110-01)
fastboot flash XXX 烧录
fastboot reboot 重启系统
6.制作启动SD卡并重新烧录操作系统到iNand
用x210_Fusing_Tool.exe烧录uboot.bin到插入的SD卡。此时插入SD卡后从SD0启动失败即可以自动转为从SD2启动,然后仍然可以运行之前的QT。不过此处需要做的是在uboot开机自动启动的3秒内按下enter打断自动启动。
这里安装study210默认发货时的QT镜像(android好像新开发板刷不了了),进入cmd中的fastboot文件夹,连接USB,输入命令fastboot devices查看设备是否连接。①输入fastboot flash bootloader study210/uboot.bin,下载并烧录BootLoader。②输入fastboot flash kernel study210/zImage,下载并烧录kernel。③输入fastboot flash system study210/rootfs_qt4.ext3,下载并烧录system。
7.x210的USB启动的dnw刷机
(1)安装USB驱动、连接USB线
(2)拨码开关选择USB
(3)全程按住开机键,①dnw的configuration配置下载地址0xd0020010,USB Port→transmit,选择x210_usb.bin;②dnw的configuration配置下载地址0x23e00000,USB Port→transmit,选择uboot.bin。这时串口会有信息打印出来,启动三秒内回车(这时可以松开开机键了)
(4)①输入fdisk -c 0 ②输入fastboot
(5)同SD卡步骤(烧录三个程序)
8.补充-linux下使用dd命令刷写uboot
(1)SD卡连接入linux。SD卡如果直接插入且只能在Windows中识别不能在linux中识别,则需要用读卡器插入SD卡,然后在VMware中虚拟机→可移动设备,点击该设备连接。
(2)进入linux命令行,ls /dev/sd*查看SD卡的设备编号,一般是/dev/sdb。
(3)制作SD启动卡。命令行进入提前做好的文件夹uboot_sd_fusing执行./nand_fusing.sh /dev/sdb
(4)SD卡制作好了,下面的同之前的步骤。
9.补充-刷机异常问题的处理
(1)屏幕显示异常:镜像版本不对
(2)dnw驱动装不上:禁用数字签名
(3)fastboot驱动装不上,联网自动安装
(4)dnw下载uboot.bin时进度条不动,卡住:禁用数字签名/管理员权限运行dnw/用linux下的dnw软件
(5)dnw下载uboot.bin后串口没有信息输出:串口差错/uboot.bin用错了。
(6)Windows不提示安装驱动。当uboot下执行了fastboot命令后主机会提示安装fastboot驱动/开发板运行了android后主机也会提示装fastboot驱动;当开发板设置了USB启动后重启时会提示装dnw驱动。
朱有鹏老师linux核心课程学习笔记