搜索

121

主题

128

帖子

665

积分

网站编辑

Rank: 8Rank: 8

积分
665
发表于 2021-6-24 10:48:47 11666 浏览 0 回复

iTOP-4418开发板非设备树系统固件烧写TF卡烧写

本帖最后由 翠花儿 于 2021-6-24 10:59 编辑

1 制作启动的TF卡
在出厂时,eMMC 中没有 uboot,那么则需要使用 TF 卡引导 uboot 启动;另外烧写了错误 uboot 文件,也需要使用 TF 卡引导。本节介绍使用 TF 卡引导 uboot,然后烧写系统。
1.1 TF卡分区
给 TF 卡手动分区,在 TF 卡最前面预留约 64M 的空间用于存放 uboot。在 windows下可使用 PartitionManager 工具,详细操作步骤如下。
        准备一张不小于 2G 的 TF 卡,通过读卡器连接到装有 Windows 系统的 PC 机上。
从光盘资料中“02 编译器以及烧写工具”目录下找到 PartitionManager.exe 工具并打开,
界面如下。
上图中“I:”盘即为我们的 TF 卡的分区,我们需要使用 PartitionManager 这个工具给TF 卡预留一部分空间用来存放 uboot。首先我们右键点击最下面图标的可移动磁盘(I:),点击删除分区,如下图。
软件会弹出确认界面。
输入卷标名,勾选上“下次不再询问(D)”,点击”是“按钮,即删除了原来的分区。再次右键点击该分区,点击创建分区,如下图。
在“请指定分区前面的自由空间大小“一栏填入我们需要预留的空间,我们这里填写“64”,留给 uboot 使用已经足够了。在“请为新分区选择文件系统(S)”一栏中选择“FAT32”,然后点击“是”按钮,然后再到主界面快捷菜单一栏点击“应用”即可。成功分区后,如下图。
1.2 烧写uboot到TF卡
如下图所示,首先在 TF 卡接入 Ubuntu 之前,使用命令“df -l”查看盘符。
如下图所示,将 TF 卡从 windows 接入 Ubuntu,再次使用命令“df -l”查看盘符
对比两次查看盘符的结果,可以看到多出了“/dev/sdc1”,也有可能是“/dev/sdb1”或者其它。进入 iTOP-4418 Android 源码的目录“u-boot”中(用户源码的解压目录可以和下图不一致,源码解压之后会的到一个目录,进入这个目录就可以找到 u-boot 目录,其它操作和下面一模一样)。如下图所示,可以看到脚本文件“mkuboot ”,以及 uboot 镜像“u-boot-iTOP-4418.bin”(如果没有 uboot 镜像,则拷贝“光盘目录\03 镜像_Android4.4文件系统”下的镜像“u-boot-iTOP-4418.bin”到这个目录下)
如下图所示,使用命令“./mkuboot /dev/sdx”,注意 sdx 表示 sdb 或者 sdc,前面识别成什么盘符,则使用对应的盘符名。
如上图所示,脚本执行成功,TF 卡制作完成。
1.3 TF卡引导uboot
将 TF 卡接入开发板,将拨码开关设置为 TF 卡启动,进入 uboot 模式,如下图所示。
如下图所示,使用命令“fastboot”,接着就可以通过 OTG 给 eMMC 烧写了,具体烧写方式参考“4.1 小节”。这里使用的是 TF 卡中的 uboot 引导 4418 启动,然后就可以使用 fastboot烧写,如果完全不使用 fastboot,可以参考下一小节 TF 卡烧写 Android 和 Qt。
最后需要注意,使用烧写完成之后,要设置对应的 uboot 参数,将拨码开关设置为 uboot 启动,拔掉 TF 卡,再次开机启动,开发板就可以正常运行。
2 TF卡烧写Android
完成了手册“10.2.1 制作启动的TF卡”之后,确认 TF 卡可以引导 uboot,那么就可以使用 TF 卡来烧写。
将 TF 接到 windows 上,如下图所示,可以发现 TF 卡少了一部分,这部分是被 uboot 使用了。在 TF 卡中建立目录“sdupdate”,如下图所示。
然后将 Android 的镜像拷贝到“sdupdate”目录下,如下图所示。
接着将 TF 卡接到开发板,将开发板设置为 TF 卡启动,上电启动开发板,进入 uboot 模式,如下图所示。
然后在串口控制台输入烧写命令。如果用户想全部镜像一次性烧写,可以使用命令“sdfuse flashall”,如下图所示。
烧写完毕,如下图所示。
如果想单独烧写,则可以使用以下命令。
sdfuse flash uboot u-boot-iTOP-4418.bin                ——单独烧写 uboot 镜像
sdfuse flash boot boot.img                                        ——单独烧写内核镜像
sdfuse flash cache cache.img                                        ——单独烧写 Android 文件系统镜像
sdfuse flash system system.img
sdfuse flash userdata userdata.img
输入命令“setenv bootsystem android”设置参数和命令“saveenv”保存参数。
iTOP-4418出厂默认烧写的是Android 4.4,用TF卡烧写其他系统可能会遇到烧写失败,启动不成功等问题,参考“10.1.5 OTG烧写问题总结”章节重新设置环境变量解决。
然后用户根据屏幕设置分辨率参数,参照“9.3 设置屏幕参数”。
设置拨码开关为 emmc 启动,取下 tf 卡,最后在串口控制台输入命令“reset”,重启开发板,Android 系统就可以正常启动
2.3 TF卡烧写Qt
将 TF 接到 windows 上,如下图所示,可以发现 TF 卡少了一部分,这部分是被 uboot 使用了。在 TF 卡中建立目录“sdupdate”,如下图所示。
然后将 Android 的镜像拷贝到“sdupdate”目录下,如下图所示。
接着将 TF 卡接到开发板,将开发板设置为 TF 卡启动,上电启动开发板,进入 uboot 模式,如下图所示。
然后在串口控制台输入烧写命令。如果用户想全部镜像一次性更新,可以使用命令“sdfuse flashall”,如下图所示。
烧写完毕,如下图所示。
iTOP-4418出厂默认烧写的是Android 4.4,用TF卡烧写其他系统可能会遇到烧写失败,启动不成功等问题,参考“10.1.5 OTG烧写问题总结”章节重新设置环境变量解决。
如果想单独烧写,则可以使用以下命令。
                sdfuse flash uboot u-boot-iTOP-4418.bin                ——单独烧写 uboot 镜像
sdfuse flash boot boot.img                                        ——单独烧写内核镜像
        sdfuse flash system system.img                                ——单独烧写 Qt 文件系统镜像
输入命令“setenv bootsystem qt”设置参数和命令“saveenv”保存参数。
然后用户根据屏幕设置分辨率参数(参考“9.3 设置屏幕参数”)。
设置拨码开关为 emmc 启动,取下 TF 卡,最后在串口控制台输入命令“reset”,重启开发板,Qt 系统就可以正常启动。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

登录或注册

官方客服

QQ:2551456065

官方QQ群

195631883

扫一扫关注迅为公众号

群号652692981

 
快速回复 返回顶部 返回列表