海思烧录EXT4文件系统工具mmc

mmc烧录ext4一定要注意使用write.ext4sp

static int do_mmc_write(cmd_tbl_t *cmdtp, int flag,
			int argc, char * const argv[])
{
    //省略掉部分代码
    #ifdef CONFIG_EXT4_SPARSE
	if (!strcmp(argv[0], "write.ext4sp")) {
		printf("\nMMC write ext4 sparse: dev # %d, block # %d, count %d ... ",
				curr_device, blk, cnt);
		return ext4_unsparse(mmc, dev, addr, blk, cnt);
	}
    #endif
    。。。
    //省略掉部分代码  
}

 CONFIG_EXT4_SPARSE 是在头文件hi3519av100.h(include\configs\hi3519av100.h)定义的,该文件表明制作ext4时候一定要加-s 选项。

/* SD/MMC configuration */
#ifdef CONFIG_MMC
#define CONFIG_SUPPORT_EMMC_BOOT
#define CONFIG_GENERIC_MMC
#define CONFIG_CMD_MMC
#define CONFIG_ENV_IS_IN_MMC
#define CONFIG_SYS_MMC_ENV_DEV	0
#define CONFIG_EXT4_SPARSE
#define CONFIG_SDHCI
#define CONFIG_HISI_SDHCI
#define CONFIG_HISI_SDHCI_MAX_FREQ  200000000
#define CONFIG_BOUNCE_BUFFER
#define CONFIG_FS_EXT4
#define CONFIG_SDHCI_ADMA
#endif

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Yocto 工程中配置 i.mx6ull 为 EMMC 烧录镜像,需要进行以下步骤: 1. 修改 U-boot 配置文件,使其支持 EMMC 烧录。在 U-boot 的配置文件中(`<build_dir>/tmp/work/<machine>-poky-linux-u-boot/<u-boot-version>/git/include/configs/<board>.h`),需要添加以下宏定义: ``` #define CONFIG_SYS_MMC_ENV_DEV 0 #define CONFIG_SYS_MMC_ENV_PART 0 #define CONFIG_SYS_MMC_ENV_EMMC_BOOT_DEV 0 #define CONFIG_SYS_MMC_ENV_EMMC_BOOT_PART 1 #define CONFIG_SYS_MMC_ENV_EMMC_BOOT_BUS_WIDTH 8 ``` 其中 `CONFIG_SYS_MMC_ENV_DEV` 表示 EMMC 设备编号,`CONFIG_SYS_MMC_ENV_PART` 表示 EMMC 分区编号,`CONFIG_SYS_MMC_ENV_EMMC_BOOT_DEV` 表示 EMMC 引导设备编号,`CONFIG_SYS_MMC_ENV_EMMC_BOOT_PART` 表示 EMMC 引导分区编号,`CONFIG_SYS_MMC_ENV_EMMC_BOOT_BUS_WIDTH` 表示 EMMC 引导总线宽度。 2. 修改 Yocto 配置文件,使其支持 EMMC 烧录。在 Yocto 的配置文件中(`<build_dir>/conf/local.conf`),需要添加以下配置: ``` # Set the machine MACHINE ??= "imx6ull-var-dart" # Set the image type IMAGE_FSTYPES = "tar.gz sdcard wic wic.gz" # Set the rootfs type IMAGE_ROOTFS_SIZE = "4000000" IMAGE_ROOTFS_EXTRA_SPACE = "0" IMAGE_ROOTFS_ALIGNMENT = "4096" # Set the boot partition type WKS_FILE = "sdcard-bootpart.wks" ``` 其中 `MACHINE` 表示目标机器类型,`IMAGE_FSTYPES` 表示生成的镜像格式,`IMAGE_ROOTFS_SIZE` 表示文件系统大小,`IMAGE_ROOTFS_EXTRA_SPACE` 表示额外空间大小,`IMAGE_ROOTFS_ALIGNMENT` 表示对齐方式,`WKS_FILE` 表示引导分区的格式。 3. 生成镜像。在 Yocto 工程目录下执行以下命令: ``` $ bitbake core-image-base ``` 此命令将会生成一个镜像文件,可以使用 dd 命令将其烧录到 EMMC 设备中。 以上就是在 Yocto 工程中配置 i.mx6ull 为 EMMC 烧录镜像的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值