summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuduanfei <[email protected]>2020-05-17 13:45:42 +0800
committerliuduanfei <[email protected]>2020-05-17 13:45:42 +0800
commit3c9da16d8dfca33ffc3d2f7e9c63ac6d8650bfe2 (patch)
treed91ba3962b12d14317122f9fe82234c793a56b01
parentd1a12288adc3eac38c0935507ae1d07b16be1620 (diff)
Add SD Card driver for stm32h743-atk-apollo board
-rw-r--r--bsp/stm32/stm32h743-atk-apollo/.config4
-rw-r--r--bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c80
-rw-r--r--bsp/stm32/stm32h743-atk-apollo/board/ports/drv_sdio.c26
3 files changed, 45 insertions, 65 deletions
diff --git a/bsp/stm32/stm32h743-atk-apollo/.config b/bsp/stm32/stm32h743-atk-apollo/.config
index 79ccd6de10..294f481a7e 100644
--- a/bsp/stm32/stm32h743-atk-apollo/.config
+++ b/bsp/stm32/stm32h743-atk-apollo/.config
@@ -107,6 +107,10 @@ CONFIG_FINSH_ARG_MAX=10
# Device virtual file system
#
# CONFIG_RT_USING_DFS is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set
+# CONFIG_RT_DFS_ELM_USE_LFN_3 is not set
#
# Device Drivers
diff --git a/bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c b/bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c
index bb790a7df0..7bed99c3d1 100644
--- a/bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c
+++ b/bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Src/stm32h7xx_hal_msp.c
@@ -438,51 +438,51 @@ void HAL_RTC_MspDeInit(RTC_HandleTypeDef* hrtc)
* @param hsd: SD handle pointer
* @retval None
*/
-//void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
-//{
-// GPIO_InitTypeDef GPIO_InitStruct = {0};
-// if(hsd->Instance==SDMMC1)
-// {
-// /* USER CODE BEGIN SDMMC1_MspInit 0 */
+void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hsd->Instance==SDMMC1)
+ {
+ /* USER CODE BEGIN SDMMC1_MspInit 0 */
-// /* USER CODE END SDMMC1_MspInit 0 */
-// /* Peripheral clock enable */
-// __HAL_RCC_SDMMC1_CLK_ENABLE();
-//
-// __HAL_RCC_GPIOC_CLK_ENABLE();
-// __HAL_RCC_GPIOD_CLK_ENABLE();
-// /**SDMMC1 GPIO Configuration
-// PC8 ------> SDMMC1_D0
-// PC9 ------> SDMMC1_D1
-// PC10 ------> SDMMC1_D2
-// PC11 ------> SDMMC1_D3
-// PC12 ------> SDMMC1_CK
-// PD2 ------> SDMMC1_CMD
-// */
-// GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
-// |GPIO_PIN_12;
-// GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
-// GPIO_InitStruct.Pull = GPIO_NOPULL;
-// GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
-// GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
-// HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+ /* USER CODE END SDMMC1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SDMMC1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ /**SDMMC1 GPIO Configuration
+ PC8 ------> SDMMC1_D0
+ PC9 ------> SDMMC1_D1
+ PC10 ------> SDMMC1_D2
+ PC11 ------> SDMMC1_D3
+ PC12 ------> SDMMC1_CK
+ PD2 ------> SDMMC1_CMD
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11
+ |GPIO_PIN_12;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
-// GPIO_InitStruct.Pin = GPIO_PIN_2;
-// GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
-// GPIO_InitStruct.Pull = GPIO_NOPULL;
-// GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
-// GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
-// HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ GPIO_InitStruct.Pin = GPIO_PIN_2;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_SDIO1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
-// /* SDMMC1 interrupt Init */
-// HAL_NVIC_SetPriority(SDMMC1_IRQn, 2, 0);
-// HAL_NVIC_EnableIRQ(SDMMC1_IRQn);
-// /* USER CODE BEGIN SDMMC1_MspInit 1 */
+ /* SDMMC1 interrupt Init */
+ HAL_NVIC_SetPriority(SDMMC1_IRQn, 2, 0);
+ HAL_NVIC_EnableIRQ(SDMMC1_IRQn);
+ /* USER CODE BEGIN SDMMC1_MspInit 1 */
-// /* USER CODE END SDMMC1_MspInit 1 */
-// }
+ /* USER CODE END SDMMC1_MspInit 1 */
+ }
-//}
+}
/**
* @brief SD MSP De-Initialization
diff --git a/bsp/stm32/stm32h743-atk-apollo/board/ports/drv_sdio.c b/bsp/stm32/stm32h743-atk-apollo/board/ports/drv_sdio.c
index 454371859f..01168c0a0f 100644
--- a/bsp/stm32/stm32h743-atk-apollo/board/ports/drv_sdio.c
+++ b/bsp/stm32/stm32h743-atk-apollo/board/ports/drv_sdio.c
@@ -433,35 +433,11 @@ void SDMMC1_IRQHandler(void)
rt_interrupt_leave();
}
-void HAL_SD_MspInit(SD_HandleTypeDef * hsd)
-{
- GPIO_InitTypeDef GPIO_Initure;
-
- __HAL_RCC_SDMMC1_CLK_ENABLE();
- __HAL_RCC_GPIOC_CLK_ENABLE();
- __HAL_RCC_GPIOD_CLK_ENABLE();
-
- /* PC8,9,10,11,12 */
- GPIO_Initure.Pin=GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11|GPIO_PIN_12;
- GPIO_Initure.Mode=GPIO_MODE_AF_PP;
- GPIO_Initure.Pull=GPIO_NOPULL;
- GPIO_Initure.Speed=GPIO_SPEED_FREQ_HIGH;
- GPIO_Initure.Alternate=GPIO_AF12_SDIO1;
- HAL_GPIO_Init(GPIOC,&GPIO_Initure);
-
- /* PD2 */
- GPIO_Initure.Pin=GPIO_PIN_2;
- HAL_GPIO_Init(GPIOD,&GPIO_Initure);
-
- HAL_NVIC_SetPriority(SDMMC1_IRQn, 2, 0);
- HAL_NVIC_EnableIRQ(SDMMC1_IRQn);
-}
-
int rt_hw_sdio_init(void)
{
struct stm32_sdio_des sdio_des;
SD_HandleTypeDef hsd;
-
+ hsd.Instance = SDMMC1;
HAL_SD_MspInit(&hsd);
host = sdio_host_create(&sdio_des);