一、使用uboot中的tftp命令将Linux镜像和设备树文件下载到DRAM中
1.uboot中的tftp命令格式如下:
1 tftp [loadAddress] [[hostIPaddr:]bootfilename]
loadAddress:要保存的DRAM地址;
[[hostIPaddr:]bootfilename]:要下载的文件地址。
比如使用uboot的tftp命令将tftp文件夹中的zImage下载到DRAM的0x8080 0000地址处,然后再将设备树imx6ull-fire-emmc.dtb下载到DRAM的0x8300 0000地址处,最后使用bootz命令启动:
1 tftp 80800000 zImage 2 tftp 83000000 imx6ull-fire-emmc.dtb 3 bootz 80800000 – 83000000
二、使用uboot中的nfs命令将Linux镜像和设备树文件下载到DRAM中
1.uboot中的nfs命令格式如下:
1 nfs [loadAddress] [[hostIPaddr:]bootfilename]
loadAddress:要保存的DRAM地址;
[[hostIPaddr:]bootfilename]:要下载的文件地址。
比如使用uboot的nfs命令将nfs文件夹中的zImage下载到DRAM的0x8080 0000地址处,然后再将设备树imx6ull-fire-emmc.dtb下载到DRAM的0x8300 0000地址处,最后使用bootz命令启动:
1 nfs 80800000 192.168.1.110:/home/robot/linux/nfs/zImage 2 nfs 83000000 192.168.1.110:/home/robot/linux/nfs/imx6ull-fire-emmc.dtb 3 bootz 80800000 - 83000000
三、使用uboot中的fatload命令将EMMC中的Linux镜像和设备树文件下载到DRAM中
1.在EMMC作为Flash的Linux开发板中EMMC通常有3个分区:
(1)分区0:用来存放uboot;
(2)分区1:用来存放Linux镜像和设备树;
(3)分区2:用来存放根文件系统。
2.使用fatinfo命令查询指定EMMC设置指定分区的文件系统信息,格式如下:
1 fatinfo <interface> [<dev[:part]>]
interface:表示接口,如emmc;
dev:表示查询的设备号;
part:表示查询的分区。
比如查询EMMC分区1的文件系统信息,命令如下:
1 fatinfo mmc 1:1
结果如下图所示:
待添加。。。。。。
EMMC分区1的文件系统为FAT16格式。
3.使用fstype命令查看EMMC设备某个分区的文件系统格式,命令格式如下:
1 fstype <interface> <dev>:<part>
interface:表示接口,如emmc;
dev:表示查询的设备号;
part:表示查询的分区。
比如查看3个分区的文件系统格式,命令如下:
1 fstype mmc 1:0 /* 查看分区0 */ 2 fstype mmc 1:1 /* 查看分区1 */ 3 fstype mmc 1:2 /* 查看分区2 */
结果如下图所示:
待添加。。。。。。
分区0没有格式化文件系统格式未知;分区1格式为fat;分区2格式为ext4。
4.使用fatload命令将指定的文件读取到DRAM中,命令格式如下:
1 fatload <interface> [<dev[:part]> [<addr>[<filename> [bytes [pos]]]]]
interface:接口,如:emmc;
dev:设备号;
part:分区;
addr:保存在DRAM中的起始地址;
filename:要读取的文件名;
bytes:读取字节数,如果为0或者省略表示读取整个文件;
pos:要读的文件相对于文件首地址的偏移,如果为0或者省略表示从文件首地址开始读取;
比如使用fatload命令将emmc分区1中的zImage下载到DRAM的0x8080 0000地址处,然后再将设备树imx6ull-fire-emmc.dtb下载到DRAM的0x8300 0000地址处,最后使用bootz命令启动:
fatload mmc 1:1 80800000 zImage fatload mmc 1:1 83000000 imx6ull-fire-emmc.dtb bootz 80800000 - 83000000