当我们使用核心板的eMMC
启动 uboot
,但是当核心板的 uboot
被烧写了错误的文件,导致损坏,那么就需要用TF
卡来救急了。
下面关于TF
卡的制作和烧写Uboot
的相关总结。
要知道全新的 TF
卡并不能直接用于烧写镜像,全新的 TF
卡需要经过分区、烧写 uboot
等步骤 后才能用于烧写。
1、下面具体介绍如何制作可以烧写的 TF
卡,首先确定 TF
卡是 FAT32
格式的。
如果不是FAT32
格式的,还需要格式化为FAT32
格式的。
如果已经分区的TF
卡在win10
中无法格式化看这个文章→合并已经分区的TF卡总结
2、格式化好了以后需要打开ubuntu
,首先在 Ubuntu
命令行中输入 Linux
命令“df -l
”,查看一下 Ubuntu
系统有哪些盘符。 如下图所示。
2、接着使用读卡器将 TF
卡连接到 PC
机的 Ubuntu
系统下,Ubuntu
系统识别 TF
卡 后,再次使用 Linux
命令“df -l
”查看盘符。将第二次查看的盘符和第一次查看的盘符对比一 下,就会发现 Ubuntu
系统中多出一个盘符,这个盘符就是 TF
卡的盘符,TF
卡盘符名称在接 下来的 Linux
命令中会用到,如下图所示。
3、拷贝用户光盘的Uboot
相关压缩包“iTop-4412_uboot_xxx
”到 Ubuntu
系统中解压,得到文件夹“iTop4412_uboot
”。
拷贝对应核心板的文件“u-boot-iTOP-4412.bin
”到前面解压出来的文件夹" iTop4412_uboot
“中。进入前面解压出来的文件夹” iTop4412_uboot
"中,如下图所示。
可以看见mkuboot
可执行程序。
4、烧写文件“u-boot-iTOP-4412.bin
”到 TF
卡,具体操作如下。
在执行下面这条命令的时候,要特别特别注意!一定要分清楚,哪个盘符是 TF
卡的盘 符,如果不清楚,请务必先拔掉 TF
卡,看清楚哪些盘符是属于 Ubuntu
系统的硬盘盘符,看 清楚哪些盘符是 Ubuntu
系统的硬盘盘符后,再插入 TF
卡,分辨出哪个盘符是新增加的盘 符,新增加的盘符才是 TF
卡的盘符。
在 Ubuntu
命令行中,执行命令“./mkuboot /dev/sdx
”(“sdx
”就是前面查到的 TF
卡盘符名,不要带数字,比如 df -l
看到的 tf
卡是/dev/sdb0
,这个 0
不要带,直接写 sdb
)
需要注意的是,上面的命令需要在文件夹" iTop4412_uboot_xxx
"中执行。这个文件夹 是解压 uboot
源码之后得到的文件夹。
如果这里识别为“/dev/sdb1
”,那么如下图所示,使用命令“./mkuboot /dev/sdb
”,不要带后面盘符的编号。
5、将开发板的拨码开关置于 TF
卡启动模式,先插入经过上一步处理的 TF
卡,xshell
连接并启动开发 板,进入 uboot
模式,对 TF
卡进行分区,具体操作如下。
在超级终端中,执行下面的命令。
拨码开关:1 0
(后两位不需要)
TF
卡格式化分区:
— fdisk -c 1 300 300 300
— fatformat mmc 1:1
— ext3format mmc 1:2
— ext3format mmc 1:3
— ext3format mmc 1:4
这样就把TF
卡分成了四个卷了。这个样子:
在这里需要注意的是,首先在使用TF
卡启动的时候,启动以后要看启动信息有没有明显的报错,如果有说明TF
卡的制作可能有问题,或者重新启动开发板错误有可能就没有了。
使用第一个命令以后如果提示不能写入mmc
需要重新启动开发板或者重新制作TF
卡。
使用第一个命令以后如果出现负数的块,需要重新启动开发板,重新执行命令,不能出现负数的分区。
6、到上一步,TF
卡就制作好了。下面继续介绍如何使用制作好的 TF
卡。
7、将 TF
卡挂载到ubuntu
系统,mkdir
新建“sdupdate
”文件夹,将 uboot
等四个文件拷贝到 “sdupdate
”文件夹中,也可以选择只拷贝 uboot
文件,如下图所示。
8、将 TF
卡插入开发板,设置开发板为 tf
卡启动模式,启动开发板。对 eMMC
进行格式 化分区命令以及擦除命令,最后使用命令“sdfuse flashall
”,就可以将 uboot
、内核以及文 件系统更新到开发板的 eMMC
中,这里也可以选择只更新 uboot
。
拨码开关: 0 1
emmc
格式化分区:
fdisk -c 0
fatformat mmc 0:1
ext3format mmc 0:2
ext3format mmc 0:3
ext3format mmc 0:4
fastboot -w
sdfuse flashall
这里当执行完毕以后,建议使用fastboot
工具再次烧写一下Uboot
文件。
9、烧写镜像完成之后,将开发板设置为 eMMC
启动模式,开发板就可以正常启动 uboot
。