コード例 #1
0
ファイル: sd_mmc.c プロジェクト: ceecer2/avr32-hifi-player
void rt_hw_sd_mmc_init()
{
	if (sd_mmc_spi_internal_init())
	{
		rt_uint8_t *sector = rt_malloc(MMC_SECTOR_SIZE);
		sd_mmc_spi_read_open(0);
		if (sd_mmc_spi_read_sector_to_ram(sector))
		{
			if (dfs_filesystem_get_partition(&sd_mmc_partition, sector, 0) != RT_EOK)
			{
				sd_mmc_partition.offset = 0;
				sd_mmc_partition.size = 0;
			}
		}
		else
		{
			sd_mmc_partition.offset = 0;
			sd_mmc_partition.size = 0;
		}
		sd_mmc_spi_read_close();
		rt_free(sector);

		rt_device_register(&sd_mmc_device, "sd0", RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_REMOVABLE | RT_DEVICE_FLAG_STANDALONE);
	}
	else
	{
		rt_kprintf("Failed to initialize SD/MMC card.\n");
	}
}
コード例 #2
0
ファイル: sd_mmc_spi_mem.c プロジェクト: AldricLopez/EVK1105
void sd_mmc_spi_mem_init(void)
{
  sd_mmc_spi_internal_init();        // Restart Init of SD/MMC card after previous first init
}