嵌入式系统设计(六): iTOP-4412 开发板镜像的烧写(包含OTG 接口烧写方式和TF卡烧写方式)

前言:
在接下来的时间里将更新一个专栏:嵌入式系统设计。在这个专栏里将会介绍基于iTOP-4412 Cortex A9开发板的嵌入式系统设计,从入门到实践可以无障碍的学习。欢迎大家关注收藏学习!!!!
在这里插入图片描述
文章嵌入式系统设计(一):虚拟机、Ubuntu的安装以及SSH 软件的安装使用:里面详细介绍了SSH软件的安装和ssh 软件在主机和虚拟机之间传文件。
文章嵌入式系统设计(二): 虚拟机和主机之间共享文件夹:里面详细介绍了部分用户无法正常使用 ssh 软件在主机和虚拟机之间传文件,虚拟机和主机之间采用共享文件夹的方式传递文件。
文章嵌入式系统设计(三):Vim编辑器的学习:里面详解介绍了Vim编辑器的安装以及对相关使用命令的介绍。
文章嵌入式系统设计(四):iTOP-4412裸机开发环境搭建(详细介绍DNW 驱动安装):里面详细介绍了iTOP-4412裸机开发环境的搭建以及详细介绍了DNW驱动的安装。
文章嵌入式系统设计(五):详细介绍win8/win10下安装 PL2303 驱动以及android_ADB驱动:里面详细介绍win8/win10下安装 PL2303 驱动以及android_ADB驱动。

镜像,是一种文件形式,可以把许多文件做成一个镜像文件。说到底,镜像就是源代码编译并连接以后生成的可执行文件包,把这些镜像文件烧写到开发板的存储芯片里,开机就可以运行了。

烧写方式有两种,通过 TF 卡烧写以及使用 OTG 接口烧写。

注意 1:Android 系统和 Qt 系统的烧写完全一样,是通用的。

注意 2:无论是使用 OTG 接口方式还是使用 TF卡方式都不需要设置拨码 开关,只有在出现特殊情况时才需要调整拨码开关,在本章最后一小节会提到什么情况需要重新设置拨码开关。

1 Android4.0.3 系统镜像文件说明

Android4.0.3 系统需要的四个的镜像分布在目录为“uboot”“zImage”“system”三个文件夹:
在这里插入图片描述
uboot 镜像文件“u-boot-iTOP-4412.bin”,“uboot”目录下,如下图所示,分为“pop”“scp1G”“scp2G”,用户根据实际情况选用和核心板对应的“u-boot-iTOP-4412.bin”文件。
在这里插入图片描述
kernel 镜像文件“zImage”,“zImage”目录下,如下图所示,分为“pop”“scp”文件夹。SCP 1G 和 SCP 2G 核心板通用 SCP 目录下的“zImage”镜像文件,POP 核心板使用“pop”目录下的“zImage”镜像文件。
在这里插入图片描述

2 Qt 系统镜像文件说明

Qt 系统需要的四个的镜像分布在目录为“uboot”“zImage”“system”三个文件夹:
在这里插入图片描述
其他文件的具体位置和android位置一样。。。。。。

3 OTG 接口烧写方式

通过该方式可以烧写 Android 系统和 Qt 系统。需要准备一根 OTG 线,绝大多数智能手机和 PC 机相连接的线都是 OTG 线,都是通用的。这种方式比 TF 卡烧写方式要快一些,建议调试的时候使用这种方法。OTG 接口烧写方式也叫 fastboot 烧写方式,先介绍 OTG 烧写使用的硬件和软件平台以及烧写步骤,再介绍烧写对应的操作。

3.1 硬件平台

1)使用串口线连接开发板串口(精英版是靠近网口的串口 CON3)到 PC 机串口
2)使用 OTG 线,将开发板 OTG 接口和 PC 的 USB 接口相连。
3)连接电源,屏幕等。

3.2 软件平台

1)OTG 方式只能在 XP、WIN7 或者 WIN8 系统下实现。注意,如果用户不是在 Win7环境下,需要“cmd.exe”,使用用户系统自带的终端。
2)打开串口工具(超级终端或者其它串口助手),设置默认波特率为 115200
3)将文件“USB_fastboot_tool”文件夹拷贝到您方便使用的地方,因为这个文件夹会经常被用到,注意不要拷贝到中文目录下(桌面不算是中文目录),如下图所示。
在这里插入图片描述
4)安装 PC 机的 USB 驱动。
tools\usb_otg_driver"文件夹中有 USB 驱动,这个USB 驱动和 Android 的 ADB 驱动通用。提供 xp 和win7 版本的 USB 驱动。

3.3 烧写步骤

1)将 Android4.0.3 文件系统和核心板配套的四个镜像“ramdisk-uboot.img”“system.img”“u-boot-iTOP-4412.bin”“zImage”拷贝到
“USB_fastboot_tool”-->“platform-tools”文件夹下面。(注意拷贝前一定要先确认自己核心板是属于哪一类,然后在对应的文件夹中拷贝出来)
在这里插入图片描述
2)打开超级终端,然后上电启动开发板,按“回车”,进入 Uboot 模式。如下图所示,进入 uboot 模式。
在这里插入图片描述
3)创建 eMMC 分区并格式化。如果原来已经做过此步骤,则可以跳过,不必每次烧写前都分区和格式化。在超级终端中,输入下面分区和格式化命令。
如下图所示,输入分区命令“fdisk -c 0”
在这里插入图片描述
如下图所示,输入命令“fatformat mmc 0:1”
在这里插入图片描述
如下图所示,输入命令“ext3format mmc 0:2”
在这里插入图片描述
如下图所示,输入命令“ext3format mmc 0:3”
在这里插入图片描述
如下图所示,输入命令“ext3format mmc 0:4”
在这里插入图片描述
如下图所示,在超级终端中,输入命令“fastboot”
在这里插入图片描述
注意,fastboot 命令需要与 PC 上的 USB_fastboot_tool 工具配套使用,而且 fastboot命令需要进入 uboot 模式中才能使用。
4)如下图所示,检查一下 PC 是否识别了设备,需要用 OTG 线将开发板 OTG 接口和 PC的 USB 接口相连。
在这里插入图片描述
5)在 PC 机上运行“USB_fastboot_tool”–>“platform-tools”文件夹中的文件
“cmd.exe”(cmd.exe 可执行文件是 Windows 自带的命令行工具,如果提示版本不兼容,请使用你自己系统里面的 cmd.exe 工具),如下图所示。
在这里插入图片描述
6)在 Windows 命令行中,输入下面的命令:
如下图所示,输入烧写 uboot 命令

“fastboot.exe flash bootloader u-boot-iTOP-4412.bin”

特别提醒,不建议烧写“u-boot-iTOP-4412.bin”这个文件,可跳过此步骤,因为出厂前已经烧写过这个镜像文件了。
在这里插入图片描述
如下图所示,输入烧写 zImage 内核命令“fastboot.exe flash kernel zImage”
在这里插入图片描述
如下图所示,输入烧写 ramdisk 命令

“fastboot.exe flash ramdisk ramdisk-uboot.img”

在这里插入图片描述
如下图所示,输入烧写 system 文件系统命令

“fastboot.exe flash system system.img”

在这里插入图片描述
如下图所示,输入擦除命令“fastboot -w”
在这里插入图片描述
注意:上述 fastboot.exe flash 命令可以分开执行,只烧写单个的镜像。
7)在 Windows 命令行中,输入重启开发板命令“fastboot reboot”
在这里插入图片描述
输入重启命令之后,开发板会重启,超级终端会打印启动信息,第一次 Android 启动需要解压和安装一些初始化文件,会花费的时间长一点。第一次启动完成之后,再次启动速度就会快一些。

4 TF 卡烧写方式

使用该方式能够烧写 Android 系统和 QT 系统。
TF 卡存储容量最少要 2G 以上。

4.1 制作可以烧写的 TF 卡

制作 TF 卡的方法需要核心板的 eMMC 能够正常启动打印信息。
使用 TF 卡之前,必须要先分区。制作 TF 卡需要在 PC 机的 Ubuntu 系统下,分 3 个步骤来完成。这里需要注意的是,TF 卡制作完成后,就可长期使用,不用每次重新制作,另外如果烧坏了 eMMC 的 uboot,那么将无法进行分区。
1)给 TF 卡分区。需要将 TF 卡先插入开发板,然后再启动开发板并进入 Uboot 模式,然后在超级终端中,依次输入下列烧写命令:

fdisk -c 1

注意上面的分区命令的是参数“1”,代表的是 tf 卡,如果是“0”则代表是 eMMC。如果是 2G 的 TF 卡,请将命令“fdisk -c 1”改为“fdisk -c 1 300 300 300”。

— fatformat mmc 1:1
— ext3format mmc 1:2
— ext3format mmc 1:3
— ext3format mmc 1:4

执行完上面的命令之后,就要将 uboot 烧写到 TF 卡。
2)如下图所示,“iTop4412_uboot_xxx.tar.gz”,压缩包文件名中的“xxx”代表不确定,“xxx”表示日期,日期信息在系统升级后会变更。
在这里插入图片描述
3)使用 SSH 工具(参考文章安装和使用 SSH 软件),拷贝压缩包“iTop4412_uboot_xxx.tar.gz”到 PC 机的 Ubuntu 系统中,然后解压压缩包,得到文件夹“iTop4412_uboot”,进入“iTop4412_uboot”文件夹,如下图所示。
在这里插入图片描述
4)拷贝光盘中文件夹中对应核心板的镜像“u-boot-iTOP-4412.bin”到上一步解压出来的文件夹“iTop4412_uboot”中,如下图所示。
在这里插入图片描述
5)在 Ubuntu 命令行中输入命令“df -l”,查看一下系统有哪些盘符。
在这里插入图片描述
6)接着使用读卡器将 TF 卡连接到 PC 机的 Ubuntu 系统下,如下图所示,Ubuntu 系统识别 TF 卡后,可能提示下面的信息。
在这里插入图片描述
7)在虚拟机 VMware Workstation 选项“虚拟机 M”,进入“虚拟机设置”,如下图所示,根据 USB 接口选择一下版本,如果是 USB3.0 则使用 USB3.0。
在这里插入图片描述
8)TF 卡连接之后到 Ubuntu 之后, 再次使用 Linux 命令“df -l”查看盘符。将第二次查看的盘符和第一次查看的盘符对比一下,就会发现 Ubuntu 系统中多出了盘符,这个盘符就是 TF 卡的盘符,盘符名称在接下来的 Linux 命令中会用到,如下图所示。
在这里插入图片描述
9)在执行下面这条命令的时候,要特别特别注意!一定要分清楚,哪个盘符是 TF 卡的盘符,如果不清楚,请务必先拔掉 TF 卡,看清楚哪些盘符是属于 Ubuntu 系统的硬盘盘符,看清楚哪些盘符是 Ubuntu 系统的硬盘盘符后,再插入 TF 卡,分辨出哪个盘符是新增加的盘符,新增加的盘符才是 TF 卡的盘符。
10)进入文件夹“iTop4412_uboot”中。在 Ubuntu 命令行中,执行 Linux 命令:“./mkuboot /dev/sdx”,mkuboot 是 uboot 源码文件夹中的一个脚本,下图中脚本命令的对象是上图中识别的“sdb”。
(注意,sdx 用前面查看盘符,多出来的盘符名代替,不要带数字,比如 df -l 看到的 tf 卡是/dev/sdb0,这个 0 不要带,直接写 sdb)
在这里插入图片描述
11)检查可以烧写的 TF 卡是否制作成功。
检查的方法很简单,使用读卡器连接 TF 卡到 Win7 系统上,如果在 Win7 系统上发现 TF卡的存储空间减少了 2G 以上,那么这个 TF 卡就制作成功了。如下图所示,8G 的 TF 卡只剩5.68G。
在这里插入图片描述

4.2 使用 TF 卡烧写

在 Win7 系统和 Ubuntu 系统下,都可以使用 TF 卡烧写。这里以 Win7 为例,Ubuntu的也是一样,将镜像文件拷贝到 tf 卡中的“sdupdate”文件夹中。
Win7 下 TF 卡烧写步骤如下。
1)将制作完成的 TF 卡接入 PC 机的 Win7 或者 Ubuntu 系统中,在 TF 卡上建立文件夹“sdupdate”。注意,文件夹名字一定要使用“sdupdate”。
2)拷贝相应的镜像文件到 TF 卡的文件夹“sdupdate”中,如下图所示。
在这里插入图片描述
3)将 TF 卡先插入开发板中,进入超级终端的 UBOOT 模式,如下图所示。
在这里插入图片描述

4)输入烧写命令“sdfuse flashall”。这是一个全部烧写的命令,就是将“sdupdate”中全部的镜像烧写到开发板中,如下图所示。
在这里插入图片描述
烧写命令“sdfuse flashall”可以用下面替代的烧写命令:

— sdfuse flash bootloader u-boot-iTOP-4412.bin
— sdfuse flash kernel zImage
— sdfuse flash ramdisk ramdisk-uboot.img
— sdfuse flash system system.img

替代的烧写命令允许单条执行,在执行单条烧写命令的时候,只烧写相应的单个镜像文件。例如,执行烧写命令“sdfuse flash kernel zImage”,就只会更新 Linux 内核“zImage”镜像,而不会影响其它的镜像。
5)等待烧写完成,最后在超级终端中,输入以下命令:

— reset(在超级终端中执行该命令会重启开发板)

备注

欢迎大家关注专栏(嵌入式系统设计)学习,如果出现问题欢迎大家指教,一起学习!!!
三连击鼓励鼓励一下博主吧
三连击鼓励鼓励一下博主吧
三连击鼓励鼓励一下博主吧

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ywsydwsbn/article/details/106199636