STM32驱动eMMC读写数据
参照 JEDEC eMMC标准:JESD84-B51 (Revision of JESD84-B50.1, July 2014)
驱动芯片采用stm32h7xx芯片。通过官方HAL库中stm32h7xx_hal_mmc.h文件驱动,采用8bit数据传输模式,与SD卡驱动类似。实测写入速度6-10MB/s左右。
初始化代码清单:
HAL_StatusTypeDef SDMMC1_MMC_Init(void)
{
hmmc1.Instance = SDMMC1;
hmmc1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
hmmc1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
hmmc1.Init.BusWide = SDMMC_BUS_WIDE_8B;
hmmc1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
hmmc1.Init.ClockDiv = 1;
if (HAL_MMC_Init(&hmmc1) != HAL_OK)
{
Error_Handler();
}
return HAL_OK;
}
底层驱动代码清单:
void HAL_MMC_MspInit(MMC_HandleTypeDef* hmmc)
{
GPIO_InitTypeDef GPIO_InitStruct = {
0};
if(hmmc->Instance==SDMMC1)
{
/* USER CODE BEGIN SDMMC