以官方uboot移植uboot(SD卡驱动移植)

it2025-05-17  15

(1)添加三星的mmc驱动

在三星中复制的文件 #mmc.c drivers/mmc/mmc.c

#s3c_hsmmc.c drivers/mmc/s3c_hsmmc.c

#mmc.h include/mmc.h ./include/

#cmd_mmc.c common/cmd_mmc.c

#s3c_hsmmc.h include/s3c_hsmmc.h

(2)修改mmc目录下的Makefile文件

(3)修改goni目录下的Makefile文件

(4)修改mmc.c

int mmc_initialize(bd_t *bis) { struct mmc *mmc; int err; INIT_LIST_HEAD(&mmc_devices); cur_dev_num = 0; if (board_mmc_init(bis) < 0) cpu_mmc_init(bis); #if defined(DEBUG_S3C_HSMMC) print_mmc_devices(','); #endif mmc = find_mmc_device(0); if (mmc) { err = mmc_init(mmc); if (err) err = mmc_init(mmc); if (err) { printf("Card init fail!\n"); return err; } } printf("%ldMB\n", (mmc->capacity/(1024*1024/mmc->read_bl_len))); return 0;

}

(5)修改goni.c

#ifdef CONFIG_S3C_HSMMC setup_hsmmc_clock(); setup_hsmmc_cfg_gpio(); return smdk_s3c_hsmmc_init(); #else return 0; #endif

(6)修改s5p_goni.h

(7)移植测试

mmc设备列表 读取扇区1的数据到0x30000000

查看0x300000的数据

写mmc数据和查看写的数据

最新回复(0)