本帖最后由 翠花儿 于 2021-6-21 11:03 编辑
本章介绍Android4.4,Android5.1和Qt系统,最小linux系统的烧写方式。 镜像,是一种文件形式,可以把许多文件做成一个镜像文件。说到底,镜像就是源代码编译并连接以后生成的可执行文件包,把这些镜像文件烧写到开发板的存储芯片 eMMC 里,开机就可以运行了。烧写方式有两种,使用 OTG 接口烧写或者 TF 卡烧写,OTG 烧写也可以叫 fastboot 烧写。 如果eMMC不能启动uboot,这时就要把uboot烧写在TF卡上,用TF卡启动并进入uboot命令行,再使用fastboot将能用的uboot烧写到eMMC上,参考“10.2.1 制作启动的TF卡”。 然后需要用到 fastboot 工具,该工具在“iTOP6818开发板资料汇总(不含光盘内容)\01_iTOP-6818开发板所需PC软件(工具)\05-fastboot烧写工具fastboot”下。拷贝“fastboot”文件夹到桌面,或者其他不包含中文字符的目录。如下图: 1 OTG烧写1.1 OTG烧写环境如果eMMC不能启动uboot,这时就要把uboot烧写在TF卡上,用TF卡启动并进入uboot命令行,再使用fastboot将能用的uboot烧写到eMMC上。 OTG 烧写只需要在 windows 环境,OTG 烧写方式首先要安装 ADB 驱动,参考使用手册 “8.2 Windows安装ADB驱动”。 然后需要用到 fastboot 工具,该工具在“iTOP6818开发板资料汇总(不含光盘内容)\01_iTOP-6818开发板所需PC软件(工具)\05-fastboot烧写工具fastboot”下。拷贝“fastboot”文件夹到桌面,或者其他不包含中文字符的目录。如下图: 烧写Qt,Android4.4和5.1的步骤基本相同,首先需要将镜像拷贝到“fastboot”目录下, 烧写Android一定要先将cache.img、recovery.img、system.img、userdata.img、boot.img、u-boot-iTOP-6818.bin这6个文件拷贝到fastboot目录下,烧写Qt只要将u-boot-iTOP-6818.bin、boot.img、system.img三个镜像拷贝到fastboot目录下,然后使用fastboot将镜像烧写到开发板。
本章节以Android4.4为例介绍,在光盘中“03_镜像_Android4.4 文件系统”目录中有“1G 内存"文件夹和”2G 内存“文件夹。核心板是 1G,则烧写 1G 内存文件夹下的镜像;核心板是 2G,则烧写 2G 内存文件夹下的镜像。烧写步骤如下: 1)将镜像文件“cache.img”、“recovery.img”、“system.img”、“userdata.img”、
“boot.img”、“u-boot-iTOP-6818.bin”拷贝到“fastboot”下,如下图所示。 2)使用 OTG 线连接开发板 OTG 接口和 PC 的 USB,将开发板串口和 PC 的串口相连(没有串口可以使用 USB 转串口)。然后打开超级终端,如下图所示。 2)启动开发板,输入回车(上电就在超级终端中输入回车),进入 uboot 模式,如下图所示。 3)如下图所示,超级终端中,输入命令“fastboot” 5)如下图所示,在设备管理器中可以识别到设备“Android ADB Interface”,表明前面的 ADB 驱动能够使用,可以进行下一步的烧写。 6)打开“fastboot”目录下的“cmd.exe”,如下图所示 7)接下来就可以在windows的命令行烧写Android或Qt镜像到开发板,下图以烧写uboot镜像为例,完整烧写命令可参考后面章节。 1.2 设置启动参数 iTOP-6818开发板的非设备树系统支持Android 5.1,Android 4.1,Qt,Ubuntu12.04,开发板出厂烧写的是Android5.1。如果切换系统需要重新设置uboot环境变量,进到uboot命令行模式设置启动的系统,及屏幕参数。 如果开发板运行的是Android 7.1,设备树Qt系统,想要更换到非设备树系统,需要用TF卡引导uboot(参考“10.2.1 制作启动的TF卡”章节)。 1)输入以下命令清除环境变量, env default -a setenv fastboot setenv bootargs saveenv reset 如下图: 2)设置启动的系统 如果切换到Android 5.1,输入以下命令: setenv bootsystem android ——设置成安卓启动; setenv androidversion 5.1 ——设置成安卓5.1启动 saveenv ——保存设置 重启成功后在uboot命令行输入“printenv ”,可以看到设置成了Android 5.1启动了 如果切换到Android 4.4,输入以下命令: setenv bootsystem android ——设置成安卓启动 setenv androidversion 4.4 ——设置成安卓4.4启动 saveenv 如果切换到Qt/最小linux系统输入以下命令: setenv bootsystem qt saveenv 设置完成后输入“reset”重启,使环境变量生效,再次进入uboot模式就可以烧写镜像了。 如果使用的迅为的屏幕,可以参考“9.3 设置屏幕参数”设置屏幕。 1.3 OTG烧写Android 4.4/5.1 一、获取镜像文件 然后查看核心板上内存芯片的丝印来确定使用的是哪种型号的内存,也可以通过“1.1 核心板介绍”章节判断三星和镁光内存。 1. 三星 1G DDR3 内存芯片上的丝印是: K4B4G 2. 三星 2G DDR3 内存芯片上的丝印是: K4B8G16 3. 镁光 2G DDR3 内存芯片上的丝印是: 9BC12 然后从技术支持群公告链接的光盘资料下载镜像,镜像位置如下表: Android 4.4 | iTOP6818开发板网盘资料(连接器邮票孔通用)\07_iTOP-6818开发板Android开发所需软件、测试例程\06_Android4.4镜像和源码\01_镜像_Android4.4文件系统 | | iTOP-6818开发板/iTOP-6818开发板(邮票孔/连接器)/iTOP6818光盘资料/03镜像_Android5.1文件系统/ |
然后根据自己的核心板类型下载u-boot-iTOP-6818.bin和boot.img 镜像,cache.img、system.img、userdata.img、recovery.img 拷贝cache.img、system.img、userdata.img、recovery.img、boot.img、u-boot-iTOP-6818.bin这6个镜像到fastboot文件夹, 启动开发板,进入uboot模式,然后在uboot命令行输入“fastboot”。 二、输入烧写命令 设置uboot为对应的启动系统后,参考“10.1.1 OTG烧写环境”章节将镜像烧写到开发板。如果切换系统时出现烧写报错,启动不成功等问题可以参考“10.1.5 烧写问题总结”章节。依次在windows的fastboot终端命令行输入以下命令烧写各镜像: fastboot.exe flash uboot u-boot-iTOP-6818.bin fastboot.exe flash boot boot.img fastboot.exe flash cache cache.img fastboot.exe flash system system.img fastboot.exe flash userdata userdata.img fastboot.exe flash recovery recovery.img 最后在 windows的cmd终端输入“fastboot.exe reboot”重启开发板。详细过程如下: 使用命令“fastboot.exe flash uboot u-boot-iTOP-6818.bin”烧写 uboot,如下图所示。 使用命令“fastboot.exe flash boot boot.img”烧写内核镜像,如下图所示。 使用命令“fastboot.exe flash cache cache.img”烧写 cache 文件系统,如下图所示。 使用命令“fastboot.exe flash system system.img”烧写文件系统,如下图所示 。 system.img烧写完成后如下图: 使用命令“fastboot.exe flash userdata userdata.img”烧写文件系统,如下图所示。 使用命令“fastboot.exe flash recovery recovery.img”烧写文件系统,如下图所示。 使用命令“fastboot.exe reboot”重启开发板。 1.4 OTG烧写Qt/最小linux系统Qt系统,最小linux系统的uboot和kernel镜像相同。 一、获取镜像文件 然后查看核心板上内存芯片的丝印来确定使用的是哪种型号的内存,也可以通过“1.1 核心板介绍”章节判断三星和镁光内存。 1. 三星 1G DDR3 内存芯片上的丝印是: K4B4G 2. 三星 2G DDR3 内存芯片上的丝印是: K4B8G16 3. 镁光 2G DDR3 内存芯片上的丝印是: 9BC12 然后从技术支持群公告链接的“iTOP-6818光盘资料\05 镜像_QT文件系统\”目录下获取Qt系统镜像, 根据自己的核心板类型下载u-boot-iTOP-6818.bin和boot.img 镜像,system.img镜像各核心板通用。 最小linux文件系统镜像在“iTOP6818 开发板资料汇总(不含光盘内容) \06_iTOP-6818开发板最小 linux 系统源码、 镜像、 测试例程\02_最小linux镜像”目录下。 拷贝u-boot-iTOP-6818.bin、boot.img、system.img这三个镜像到fastboot文件夹,启动开发板,进入uboot模式,然后在uboot命令行输入“fastboot”。 二、设置uboot环境变量 如果开发板运行的是Android 4.4,Android 5.1,更换到Qt或最小linux系统会遇到问题,需要重新设置uboot环境变量(参考“10.1.5 OTG烧写问题总结”章节),再烧写镜像。 如果开发板运行的是Android 7.1,设备树Qt系统,想要更换到非设备树Qt系统,需要用TF卡引导uboot后烧写安卓5.1系统恢复出厂,再烧写Qt系统(参考“10.2.1 制作启动的TF卡”章节)。 三、输入烧写命令 依次在windows的fastboot终端命令行输入以下命令烧写各镜像: fastboot.exe flash uboot u-boot-iTOP-6818.bin fastboot.exe flash boot boot.img fastboot.exe flash system system.img 输入烧写 uboot 的命令“fastboot.exe flash uboot u-boot-iTOP-6818.bin”,如下图所示。 输入烧写内核镜像的命令“fastboot.exe flash boot boot.img”,如下图所示。 输入烧写内核镜像的命令“fastboot.exe flash system system.img”,如下图所示。 在 cmd.exe 中输入命令“fastboot reboot”,重启开发板,如下图所示。 然后在 uboot 启动过程中,串口控制台输入“回车”,进入 uboot 模式,控制台如下所示。 接着设置 uboot 参数,如下图所示,在控制台输入命令“setenv bootsystem qt”设置qt 启动和“saveenv”保存命令。 1.5 OTG烧写问题总结首次烧写或更换系统可能会遇到烧写失败,如下图: 还可能会遇到各种启动不成功等问题,这时候要检查镜像是否正确,烧写完uboot镜像后再设置环境变量,重启后再烧写镜像。在百度网盘的光盘资料下载对应的镜像,镜像正确后按以下步骤操作: 1. 将对应的uboot烧写在eMMC或TF卡上,然后输入“fastboot”进入烧写模式 2. 依次输入以下命令清除环境变量 env default -a setenv fastboot setenv bootargs saveenv reset 如下图: 3. 设置uboot环境变量 “setenv bootsystem qt” “setenv bootsystem android”设置成安卓启动; “setenv androidversion 4.4”设置成安卓4.4启动, “setenv androidversion 5.1”设置成安卓5.1启动; “saveenv”保存设置 “reset”重启使环境变量生效,如下图,以Android 5.1为例: 然后重新烧写。
|