iTOP-4412开发板-uboot-烧写大于300M文件的方法

发布时间:2019年07月17日 10:07 ?? 发布者:就是塔塔

iTOP-4412 开发板,在使用自带 uboot 烧写文件系统的时候,如果文件系统大于
300M,会出现无法烧写的情况。我们可以通过分段烧写的方式来烧写大文件系统,uboot 源
码和镜像默认已经支持这个功能。
本文档以 Qt 为例,Android 系统和根文件系统也是可以采用分段烧写的方式。
1 fastboot 工具的更新
首先需要用高版本的 fastboot 工具,和文档打包在一起的“fastboot.zip”压缩包是高
版本 fastboot,使用这个 fastboot 工具替换 4412 默认的烧写工具。
解压高版本的 fastboot 压缩包,打开之后,使用命令“fastboot.ext -help”,如下图所
示。

01.jpg

如下图所示,可以看到有-S 参数,表明支持分段烧写功能,如下图所示,这个功能老版
本的 fastboot 是没有的。

02.jpg

2 编译和烧写命令
如下图所示,作者将 Qt 文件系统中放了几个重复的大文件,确保压缩包大于 300M,如
下图所示。

03.jpg

未打包的 root 文件为 420M。

04.jpg

如果文件太大,编译打包命令也要修改下,默认的打包命令是“make_ext4fs -s -l
314572800 -a root -L linux system.img root”。
注意上面的 314572800,314572800=1024*1024*300,也就是 300M,现在是
420M,肯定打包不了。
我们将命令修改为能够打包 900M 的,943718400=1024*1024*900
“make_ext4fs -s -l 943718400 -a root -L linux system.img root”。
如下图所示,使用 900M 的命令编译通过。

05.jpg

一般情况下,900M 的文件系统已经很大了,如果需要更大的,用户可以自己修改这个参
数。
接着介绍烧写,在烧写前,介绍下分区参数,如果文件系统太大(例如大于 1G),那么
分区的时候也要修改下,如下图所示,进入 uboot 模式,使用命令“fdisk -c 0 2048 300
300”,将文件系统分区为 2G。

06.jpg

接着用户执行分区格式化命令。
fatformat mmc 0:1
ext3format mmc 0:2
ext3format mmc 0:3
ext3format mmc 0:4
最后我们测试下烧写,如下图所示,作者要烧写的 system.img 大于 300M。

07.jpg

打开 cmd.exe,如下图所示,使用命令“fastboot.exe flash system system.img -S
200M”,分段烧写,每次烧写 200M 的二进制文件。

08.jpg

如上图所示,可以看出它分为多段来烧写。
烧写完成之后,重启开发板,进入文件系统,可以正常运行,烧写大文件完成,如下图所
示。

09.jpg


欢迎分享本文,转载请保留出处:http://www.eechina.com/thread-565988-1-1.html ??? 【打印本页】
岁月玉峰 发表于 2019-7-29 10:38:22
收到分享内容
473143805qq.com 发表于 2019-8-8 10:40:32
学习了,多谢啊
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们 ?-? 服务条款 ?-? 使用指南 ?-? 站点地图 ?-? 友情链接 ?-? 联系我们
yabobet app工程网 ? 版权所有 ? 京ICP备16069177号 | 京公网安备11010502021702
回顶部