提交 c702e128 编写于 作者: W Willian Chan

[bsp][stm32][f469-disco]Add sdcard driver

Signed-off-by: NWillian Chan <chentingwei@rt-thread.com>
上级 91c342d5
...@@ -107,7 +107,34 @@ CONFIG_FINSH_ARG_MAX=10 ...@@ -107,7 +107,34 @@ CONFIG_FINSH_ARG_MAX=10
# #
# Device virtual file system # Device virtual file system
# #
# CONFIG_RT_USING_DFS is not set CONFIG_RT_USING_DFS=y
CONFIG_DFS_USING_WORKDIR=y
CONFIG_DFS_FILESYSTEMS_MAX=2
CONFIG_DFS_FILESYSTEM_TYPES_MAX=2
CONFIG_DFS_FD_MAX=16
# CONFIG_RT_USING_DFS_MNTTABLE is not set
CONFIG_RT_USING_DFS_ELMFAT=y
#
# elm-chan's FatFs, Generic FAT Filesystem Module
#
CONFIG_RT_DFS_ELM_CODE_PAGE=437
CONFIG_RT_DFS_ELM_WORD_ACCESS=y
# 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=y
CONFIG_RT_DFS_ELM_USE_LFN=3
CONFIG_RT_DFS_ELM_MAX_LFN=255
CONFIG_RT_DFS_ELM_DRIVES=2
CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
# CONFIG_RT_DFS_ELM_USE_ERASE is not set
CONFIG_RT_DFS_ELM_REENTRANT=y
CONFIG_RT_USING_DFS_DEVFS=y
# CONFIG_RT_USING_DFS_ROMFS is not set
# CONFIG_RT_USING_DFS_RAMFS is not set
# CONFIG_RT_USING_DFS_UFFS is not set
# CONFIG_RT_USING_DFS_JFFS2 is not set
# #
# Device Drivers # Device Drivers
...@@ -125,12 +152,18 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64 ...@@ -125,12 +152,18 @@ CONFIG_RT_SERIAL_RB_BUFSZ=64
CONFIG_RT_USING_PIN=y CONFIG_RT_USING_PIN=y
# CONFIG_RT_USING_ADC is not set # CONFIG_RT_USING_ADC is not set
# CONFIG_RT_USING_PWM is not set # CONFIG_RT_USING_PWM is not set
# CONFIG_RT_USING_MTD_NOR is not set CONFIG_RT_USING_MTD_NOR=y
# CONFIG_RT_USING_MTD_NAND is not set # CONFIG_RT_USING_MTD_NAND is not set
# CONFIG_RT_USING_MTD is not set # CONFIG_RT_USING_MTD is not set
# CONFIG_RT_USING_PM is not set # CONFIG_RT_USING_PM is not set
# CONFIG_RT_USING_RTC is not set # CONFIG_RT_USING_RTC is not set
# CONFIG_RT_USING_SDIO is not set CONFIG_RT_USING_SDIO=y
CONFIG_RT_SDIO_STACK_SIZE=512
CONFIG_RT_SDIO_THREAD_PRIORITY=15
CONFIG_RT_MMCSD_STACK_SIZE=1024
CONFIG_RT_MMCSD_THREAD_PREORITY=22
CONFIG_RT_MMCSD_MAX_PARTITION=16
# CONFIG_RT_SDIO_DEBUG is not set
# CONFIG_RT_USING_SPI is not set # CONFIG_RT_USING_SPI is not set
# CONFIG_RT_USING_WDT is not set # CONFIG_RT_USING_WDT is not set
# CONFIG_RT_USING_AUDIO is not set # CONFIG_RT_USING_AUDIO is not set
...@@ -150,8 +183,13 @@ CONFIG_RT_USING_PIN=y ...@@ -150,8 +183,13 @@ CONFIG_RT_USING_PIN=y
# #
# POSIX layer and C standard library # POSIX layer and C standard library
# #
# CONFIG_RT_USING_LIBC is not set CONFIG_RT_USING_LIBC=y
# CONFIG_RT_USING_PTHREADS is not set # CONFIG_RT_USING_PTHREADS is not set
CONFIG_RT_USING_POSIX=y
# CONFIG_RT_USING_POSIX_MMAP is not set
# CONFIG_RT_USING_POSIX_TERMIOS is not set
# CONFIG_RT_USING_POSIX_AIO is not set
# CONFIG_RT_USING_MODULE is not set
# #
# Network # Network
...@@ -162,6 +200,11 @@ CONFIG_RT_USING_PIN=y ...@@ -162,6 +200,11 @@ CONFIG_RT_USING_PIN=y
# #
# CONFIG_RT_USING_SAL is not set # CONFIG_RT_USING_SAL is not set
#
# Network interface device
#
# CONFIG_RT_USING_NETDEV is not set
# #
# light weight TCP/IP stack # light weight TCP/IP stack
# #
...@@ -185,7 +228,6 @@ CONFIG_RT_USING_PIN=y ...@@ -185,7 +228,6 @@ CONFIG_RT_USING_PIN=y
# #
# Utilities # Utilities
# #
# CONFIG_RT_USING_LOGTRACE is not set
# CONFIG_RT_USING_RYM is not set # CONFIG_RT_USING_RYM is not set
# CONFIG_RT_USING_ULOG is not set # CONFIG_RT_USING_ULOG is not set
# CONFIG_RT_USING_UTEST is not set # CONFIG_RT_USING_UTEST is not set
...@@ -357,6 +399,8 @@ CONFIG_SOC_STM32F469NI=y ...@@ -357,6 +399,8 @@ CONFIG_SOC_STM32F469NI=y
# CONFIG_BSP_USING_SDRAM is not set # CONFIG_BSP_USING_SDRAM is not set
# CONFIG_BSP_USING_LCD_OTM8009A is not set # CONFIG_BSP_USING_LCD_OTM8009A is not set
# CONFIG_BSP_USING_QSPI_FLASH is not set # CONFIG_BSP_USING_QSPI_FLASH is not set
# CONFIG_BSP_USING_SDCARD is not set
# CONFIG_BSP_USING_TOUCH is not set
# #
# On-chip Peripheral Drivers # On-chip Peripheral Drivers
...@@ -365,9 +409,12 @@ CONFIG_BSP_USING_GPIO=y ...@@ -365,9 +409,12 @@ CONFIG_BSP_USING_GPIO=y
CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART=y
CONFIG_BSP_USING_UART3=y CONFIG_BSP_USING_UART3=y
# CONFIG_BSP_UART3_RX_USING_DMA is not set # CONFIG_BSP_UART3_RX_USING_DMA is not set
# CONFIG_BSP_USING_I2C1 is not set
# CONFIG_BSP_USING_SPI is not set
# CONFIG_BSP_USING_QSPI is not set # CONFIG_BSP_USING_QSPI is not set
# CONFIG_BSP_USING_ON_CHIP_FLASH is not set # CONFIG_BSP_USING_ON_CHIP_FLASH is not set
# CONFIG_BSP_USING_FMC is not set # CONFIG_BSP_USING_FMC is not set
# CONFIG_BSP_USING_SDIO is not set
# CONFIG_BSP_USING_USBD_FS is not set # CONFIG_BSP_USING_USBD_FS is not set
# CONFIG_BSP_USING_LTDC is not set # CONFIG_BSP_USING_LTDC is not set
......
...@@ -39,10 +39,23 @@ STM32F469-ST-DISCO 是 ST 推出的一款基于 ARM Cortex-M4 内核的开发板 ...@@ -39,10 +39,23 @@ STM32F469-ST-DISCO 是 ST 推出的一款基于 ARM Cortex-M4 内核的开发板
本 BSP 目前对外设的支持情况如下: 本 BSP 目前对外设的支持情况如下:
| **片上外设** | **支持情况** | **备注** | | **板载外设** | **支持情况** | **备注** |
| :-----: | :-----: | :-----: | | :-----: | :-----: | :-----: |
| SDRAM | 支持 | 16MB |
| LCD | 支持 | MIPI屏,otm8009a |
| SDCARD | 支持 | |
| TOUCH | 支持 | ft6206 |
| **片上外设** | **支持情况** | **备注** |
| GPIO | 支持 | | | GPIO | 支持 | |
| USART | 支持 | USART3 | | USART | 支持 | USART3 |
| SPI | 支持 | SPI3 |
| QSPI | 支持 | |
| I2C | 支持 | 软件I2C |
| FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) |
| SDIO | 支持 | |
| USB Device | 支持 | |
| **扩展模块** | **支持情况** | **备注** |
| 暂无 | 暂不支持 | 暂不支持 |
## 使用说明 ## 使用说明
......
...@@ -41,10 +41,11 @@ Mcu.Family=STM32F4 ...@@ -41,10 +41,11 @@ Mcu.Family=STM32F4
Mcu.IP0=CRC Mcu.IP0=CRC
Mcu.IP1=DMA2D Mcu.IP1=DMA2D
Mcu.IP10=RCC Mcu.IP10=RCC
Mcu.IP11=SYS Mcu.IP11=SDIO
Mcu.IP12=TIM4 Mcu.IP12=SYS
Mcu.IP13=USART3 Mcu.IP13=TIM4
Mcu.IP14=USB_OTG_FS Mcu.IP14=USART3
Mcu.IP15=USB_OTG_FS
Mcu.IP2=DSIHOST Mcu.IP2=DSIHOST
Mcu.IP3=FMC Mcu.IP3=FMC
Mcu.IP4=GFXSIMULATOR Mcu.IP4=GFXSIMULATOR
...@@ -53,99 +54,105 @@ Mcu.IP6=LTDC ...@@ -53,99 +54,105 @@ Mcu.IP6=LTDC
Mcu.IP7=NVIC Mcu.IP7=NVIC
Mcu.IP8=PDM2PCM Mcu.IP8=PDM2PCM
Mcu.IP9=QUADSPI Mcu.IP9=QUADSPI
Mcu.IPNb=15 Mcu.IPNb=16
Mcu.Name=STM32F469NIHx Mcu.Name=STM32F469NIHx
Mcu.Package=TFBGA216 Mcu.Package=TFBGA216
Mcu.Pin0=PE1 Mcu.Pin0=PE1
Mcu.Pin1=PE0 Mcu.Pin1=PE0
Mcu.Pin10=PA12 Mcu.Pin10=PD0
Mcu.Pin11=PI4 Mcu.Pin11=PC11
Mcu.Pin12=PD1 Mcu.Pin12=PC10
Mcu.Pin13=PI3 Mcu.Pin13=PA12
Mcu.Pin14=PI2 Mcu.Pin14=PI4
Mcu.Pin15=PA11 Mcu.Pin15=PD1
Mcu.Pin16=PF0 Mcu.Pin16=PI3
Mcu.Pin17=PI5 Mcu.Pin17=PI2
Mcu.Pin18=PI7 Mcu.Pin18=PA11
Mcu.Pin19=PI10 Mcu.Pin19=PF0
Mcu.Pin2=PB3 Mcu.Pin2=PB3
Mcu.Pin20=PI6 Mcu.Pin20=PI5
Mcu.Pin21=PH15 Mcu.Pin21=PI7
Mcu.Pin22=PI1 Mcu.Pin22=PI10
Mcu.Pin23=PC14/OSC32_IN Mcu.Pin23=PI6
Mcu.Pin24=PF1 Mcu.Pin24=PD2
Mcu.Pin25=PI9 Mcu.Pin25=PH15
Mcu.Pin26=PH13 Mcu.Pin26=PI1
Mcu.Pin27=PH14 Mcu.Pin27=PC14/OSC32_IN
Mcu.Pin28=PI0 Mcu.Pin28=PF1
Mcu.Pin29=PC15/OSC32_OUT Mcu.Pin29=PI9
Mcu.Pin3=PA15 Mcu.Pin3=PC12
Mcu.Pin30=DSIHOST_D1P Mcu.Pin30=PH13
Mcu.Pin31=DSIHOST_D1N Mcu.Pin31=PH14
Mcu.Pin32=PH0/OSC_IN Mcu.Pin32=PI0
Mcu.Pin33=PF2 Mcu.Pin33=PC15/OSC32_OUT
Mcu.Pin34=PH1/OSC_OUT Mcu.Pin34=DSIHOST_D1P
Mcu.Pin35=PF3 Mcu.Pin35=DSIHOST_D1N
Mcu.Pin36=DSIHOST_CKP Mcu.Pin36=PC9
Mcu.Pin37=DSIHOST_CKN Mcu.Pin37=PH0/OSC_IN
Mcu.Pin38=PG8 Mcu.Pin38=PF2
Mcu.Pin39=PF4 Mcu.Pin39=PC8
Mcu.Pin4=PA14 Mcu.Pin4=PA15
Mcu.Pin40=PH3 Mcu.Pin40=PH1/OSC_OUT
Mcu.Pin41=DSIHOST_D0P Mcu.Pin41=PF3
Mcu.Pin42=DSIHOST_D0N Mcu.Pin42=DSIHOST_CKP
Mcu.Pin43=PF7 Mcu.Pin43=DSIHOST_CKN
Mcu.Pin44=PF6 Mcu.Pin44=PG8
Mcu.Pin45=PF5 Mcu.Pin45=PF4
Mcu.Pin46=PH2 Mcu.Pin46=PH3
Mcu.Pin47=PD15 Mcu.Pin47=DSIHOST_D0P
Mcu.Pin48=PD10 Mcu.Pin48=DSIHOST_D0N
Mcu.Pin49=PF10 Mcu.Pin49=PF7
Mcu.Pin5=PA13 Mcu.Pin5=PA14
Mcu.Pin50=PF9 Mcu.Pin50=PF6
Mcu.Pin51=PF8 Mcu.Pin51=PF5
Mcu.Pin52=PD14 Mcu.Pin52=PH2
Mcu.Pin53=PD9 Mcu.Pin53=PD15
Mcu.Pin54=PD8 Mcu.Pin54=PD10
Mcu.Pin55=PC0 Mcu.Pin55=PF10
Mcu.Pin56=PF12 Mcu.Pin56=PF9
Mcu.Pin57=PG1 Mcu.Pin57=PF8
Mcu.Pin58=PF15 Mcu.Pin58=PD14
Mcu.Pin59=PD12 Mcu.Pin59=PD9
Mcu.Pin6=PB6 Mcu.Pin6=PA13
Mcu.Pin60=PD13 Mcu.Pin60=PD8
Mcu.Pin61=PH12 Mcu.Pin61=PC0
Mcu.Pin62=PF13 Mcu.Pin62=PF12
Mcu.Pin63=PG0 Mcu.Pin63=PG1
Mcu.Pin64=PE8 Mcu.Pin64=PF15
Mcu.Pin65=PG5 Mcu.Pin65=PD12
Mcu.Pin66=PG4 Mcu.Pin66=PD13
Mcu.Pin67=PH9 Mcu.Pin67=PH12
Mcu.Pin68=PH11 Mcu.Pin68=PF13
Mcu.Pin69=PF14 Mcu.Pin69=PG0
Mcu.Pin7=PG15 Mcu.Pin7=PB6
Mcu.Pin70=PF11 Mcu.Pin70=PE8
Mcu.Pin71=PE9 Mcu.Pin71=PG5
Mcu.Pin72=PE11 Mcu.Pin72=PG4
Mcu.Pin73=PE14 Mcu.Pin73=PH9
Mcu.Pin74=PB10 Mcu.Pin74=PH11
Mcu.Pin75=PH8 Mcu.Pin75=PF14
Mcu.Pin76=PH10 Mcu.Pin76=PF11
Mcu.Pin77=PE7 Mcu.Pin77=PE9
Mcu.Pin78=PE10 Mcu.Pin78=PE11
Mcu.Pin79=PE12 Mcu.Pin79=PE14
Mcu.Pin8=PD6 Mcu.Pin8=PG15
Mcu.Pin80=PE15 Mcu.Pin80=PB10
Mcu.Pin81=PE13 Mcu.Pin81=PH8
Mcu.Pin82=PB11 Mcu.Pin82=PH10
Mcu.Pin83=VP_CRC_VS_CRC Mcu.Pin83=PE7
Mcu.Pin84=VP_DMA2D_VS_DMA2D Mcu.Pin84=PE10
Mcu.Pin85=VP_LTDC_DSIMode Mcu.Pin85=PE12
Mcu.Pin86=VP_PDM2PCM_VS_PDM2PCM Mcu.Pin86=PE15
Mcu.Pin87=VP_SYS_VS_Systick Mcu.Pin87=PE13
Mcu.Pin88=VP_TIM4_VS_ControllerModeClock Mcu.Pin88=PB11
Mcu.Pin9=PD0 Mcu.Pin89=VP_CRC_VS_CRC
Mcu.PinsNb=89 Mcu.Pin9=PD6
Mcu.Pin90=VP_DMA2D_VS_DMA2D
Mcu.Pin91=VP_LTDC_DSIMode
Mcu.Pin92=VP_PDM2PCM_VS_PDM2PCM
Mcu.Pin93=VP_SYS_VS_Systick
Mcu.Pin94=VP_TIM4_VS_ControllerModeClock
Mcu.PinsNb=95
Mcu.ThirdPartyNb=0 Mcu.ThirdPartyNb=0
Mcu.UserConstants= Mcu.UserConstants=
Mcu.UserName=STM32F469NIHx Mcu.UserName=STM32F469NIHx
...@@ -189,10 +196,20 @@ PB6.Mode=Single Bank 1 ...@@ -189,10 +196,20 @@ PB6.Mode=Single Bank 1
PB6.Signal=QUADSPI_BK1_NCS PB6.Signal=QUADSPI_BK1_NCS
PC0.Locked=true PC0.Locked=true
PC0.Signal=FMC_SDNWE PC0.Signal=FMC_SDNWE
PC10.Mode=SD_4_bits_Wide_bus
PC10.Signal=SDIO_D2
PC11.Mode=SD_4_bits_Wide_bus
PC11.Signal=SDIO_D3
PC12.Mode=SD_4_bits_Wide_bus
PC12.Signal=SDIO_CK
PC14/OSC32_IN.Mode=LSE-External-Oscillator PC14/OSC32_IN.Mode=LSE-External-Oscillator
PC14/OSC32_IN.Signal=RCC_OSC32_IN PC14/OSC32_IN.Signal=RCC_OSC32_IN
PC15/OSC32_OUT.Mode=LSE-External-Oscillator PC15/OSC32_OUT.Mode=LSE-External-Oscillator
PC15/OSC32_OUT.Signal=RCC_OSC32_OUT PC15/OSC32_OUT.Signal=RCC_OSC32_OUT
PC8.Mode=SD_4_bits_Wide_bus
PC8.Signal=SDIO_D0
PC9.Mode=SD_4_bits_Wide_bus
PC9.Signal=SDIO_D1
PCC.Checker=false PCC.Checker=false
PCC.Line=STM32F469/479 PCC.Line=STM32F469/479
PCC.MCU=STM32F469NIHx PCC.MCU=STM32F469NIHx
...@@ -210,6 +227,8 @@ PD13.Locked=true ...@@ -210,6 +227,8 @@ PD13.Locked=true
PD13.Signal=S_TIM4_CH2 PD13.Signal=S_TIM4_CH2
PD14.Signal=FMC_D0_DA0 PD14.Signal=FMC_D0_DA0
PD15.Signal=FMC_D1_DA1 PD15.Signal=FMC_D1_DA1
PD2.Mode=SD_4_bits_Wide_bus
PD2.Signal=SDIO_CMD
PD6.GPIOParameters=GPIO_Speed PD6.GPIOParameters=GPIO_Speed
PD6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH PD6.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PD6.Locked=true PD6.Locked=true
...@@ -315,7 +334,7 @@ ProjectManager.StackSize=0x400 ...@@ -315,7 +334,7 @@ ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5 ProjectManager.TargetToolchain=MDK-ARM V5
ProjectManager.ToolChainLocation= ProjectManager.ToolChainLocation=
ProjectManager.UnderRoot=false ProjectManager.UnderRoot=false
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_USART3_UART_Init-USART3-false-HAL-true,3-MX_FMC_Init-FMC-false-HAL-true,4-MX_QUADSPI_Init-QUADSPI-false-HAL-true,5-MX_GFXSIMULATOR_Init-GFXSIMULATOR-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_I2S3_Init-I2S3-false-HAL-true,8-MX_TIM4_Init-TIM4-false-HAL-true,9-MX_PDM2PCM_Init-PDM2PCM-false-HAL-true,10-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true,11-SystemClock_Config-RCC-false-HAL-false,12-MX_LTDC_Init-LTDC-false-HAL-true,13-MX_DMA2D_Init-DMA2D-false-HAL-true,14-MX_DSIHOST_DSI_Init-DSIHOST-false-HAL-true ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_USART3_UART_Init-USART3-false-HAL-true,3-MX_FMC_Init-FMC-false-HAL-true,4-MX_QUADSPI_Init-QUADSPI-false-HAL-true,5-MX_GFXSIMULATOR_Init-GFXSIMULATOR-false-HAL-true,6-MX_CRC_Init-CRC-false-HAL-true,7-MX_I2S3_Init-I2S3-false-HAL-true,8-MX_TIM4_Init-TIM4-false-HAL-true,9-MX_PDM2PCM_Init-PDM2PCM-false-HAL-true,10-MX_USB_OTG_FS_PCD_Init-USB_OTG_FS-false-HAL-true,11-SystemClock_Config-RCC-false-HAL-false,12-MX_LTDC_Init-LTDC-false-HAL-true,13-MX_DMA2D_Init-DMA2D-false-HAL-true,14-MX_DSIHOST_DSI_Init-DSIHOST-false-HAL-true,15-MX_SDIO_SD_Init-SDIO-false-HAL-true
QUADSPI.ChipSelectHighTime=QSPI_CS_HIGH_TIME_5_CYCLE QUADSPI.ChipSelectHighTime=QSPI_CS_HIGH_TIME_5_CYCLE
QUADSPI.ClockPrescaler=1 QUADSPI.ClockPrescaler=1
QUADSPI.FifoThreshold=4 QUADSPI.FifoThreshold=4
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
/* #define HAL_RNG_MODULE_ENABLED */ /* #define HAL_RNG_MODULE_ENABLED */
/* #define HAL_RTC_MODULE_ENABLED */ /* #define HAL_RTC_MODULE_ENABLED */
/* #define HAL_SAI_MODULE_ENABLED */ /* #define HAL_SAI_MODULE_ENABLED */
/* #define HAL_SD_MODULE_ENABLED */ #define HAL_SD_MODULE_ENABLED
/* #define HAL_MMC_MODULE_ENABLED */ /* #define HAL_MMC_MODULE_ENABLED */
/* #define HAL_SPI_MODULE_ENABLED */ /* #define HAL_SPI_MODULE_ENABLED */
#define HAL_TIM_MODULE_ENABLED #define HAL_TIM_MODULE_ENABLED
......
...@@ -55,6 +55,8 @@ LTDC_HandleTypeDef hltdc; ...@@ -55,6 +55,8 @@ LTDC_HandleTypeDef hltdc;
QSPI_HandleTypeDef hqspi; QSPI_HandleTypeDef hqspi;
SD_HandleTypeDef hsd;
TIM_HandleTypeDef htim4; TIM_HandleTypeDef htim4;
UART_HandleTypeDef huart3; UART_HandleTypeDef huart3;
...@@ -81,6 +83,7 @@ static void MX_USB_OTG_FS_PCD_Init(void); ...@@ -81,6 +83,7 @@ static void MX_USB_OTG_FS_PCD_Init(void);
static void MX_LTDC_Init(void); static void MX_LTDC_Init(void);
static void MX_DMA2D_Init(void); static void MX_DMA2D_Init(void);
static void MX_DSIHOST_DSI_Init(void); static void MX_DSIHOST_DSI_Init(void);
static void MX_SDIO_SD_Init(void);
/* USER CODE BEGIN PFP */ /* USER CODE BEGIN PFP */
/* USER CODE END PFP */ /* USER CODE END PFP */
...@@ -130,6 +133,7 @@ int main(void) ...@@ -130,6 +133,7 @@ int main(void)
MX_LTDC_Init(); MX_LTDC_Init();
MX_DMA2D_Init(); MX_DMA2D_Init();
MX_DSIHOST_DSI_Init(); MX_DSIHOST_DSI_Init();
MX_SDIO_SD_Init();
/* USER CODE BEGIN 2 */ /* USER CODE BEGIN 2 */
/* USER CODE END 2 */ /* USER CODE END 2 */
...@@ -195,8 +199,8 @@ void SystemClock_Config(void) ...@@ -195,8 +199,8 @@ void SystemClock_Config(void)
{ {
Error_Handler(); Error_Handler();
} }
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2S|RCC_PERIPHCLK_CLK48 PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2S|RCC_PERIPHCLK_SDIO
|RCC_PERIPHCLK_LTDC; |RCC_PERIPHCLK_CLK48|RCC_PERIPHCLK_LTDC;
PeriphClkInitStruct.PLLI2S.PLLI2SN = 192; PeriphClkInitStruct.PLLI2S.PLLI2SN = 192;
PeriphClkInitStruct.PLLI2S.PLLI2SR = 2; PeriphClkInitStruct.PLLI2S.PLLI2SR = 2;
PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; PeriphClkInitStruct.PLLSAI.PLLSAIN = 192;
...@@ -204,6 +208,7 @@ void SystemClock_Config(void) ...@@ -204,6 +208,7 @@ void SystemClock_Config(void)
PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4; PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4;
PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2; PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2;
PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48CLKSOURCE_PLLSAIP; PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48CLKSOURCE_PLLSAIP;
PeriphClkInitStruct.SdioClockSelection = RCC_SDIOCLKSOURCE_CLK48;
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
{ {
Error_Handler(); Error_Handler();
...@@ -553,6 +558,42 @@ static void MX_QUADSPI_Init(void) ...@@ -553,6 +558,42 @@ static void MX_QUADSPI_Init(void)
} }
/**
* @brief SDIO Initialization Function
* @param None
* @retval None
*/
static void MX_SDIO_SD_Init(void)
{
/* USER CODE BEGIN SDIO_Init 0 */
/* USER CODE END SDIO_Init 0 */
/* USER CODE BEGIN SDIO_Init 1 */
/* USER CODE END SDIO_Init 1 */
hsd.Instance = SDIO;
hsd.Init.ClockEdge = SDIO_CLOCK_EDGE_RISING;
hsd.Init.ClockBypass = SDIO_CLOCK_BYPASS_DISABLE;
hsd.Init.ClockPowerSave = SDIO_CLOCK_POWER_SAVE_DISABLE;
hsd.Init.BusWide = SDIO_BUS_WIDE_1B;
hsd.Init.HardwareFlowControl = SDIO_HARDWARE_FLOW_CONTROL_DISABLE;
hsd.Init.ClockDiv = 0;
if (HAL_SD_Init(&hsd) != HAL_OK)
{
Error_Handler();
}
if (HAL_SD_ConfigWideBusOperation(&hsd, SDIO_BUS_WIDE_4B) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN SDIO_Init 2 */
/* USER CODE END SDIO_Init 2 */
}
/** /**
* @brief TIM4 Initialization Function * @brief TIM4 Initialization Function
* @param None * @param None
...@@ -729,13 +770,13 @@ static void MX_GPIO_Init(void) ...@@ -729,13 +770,13 @@ static void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */ /* GPIO Ports Clock Enable */
__HAL_RCC_GPIOE_CLK_ENABLE(); __HAL_RCC_GPIOE_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOG_CLK_ENABLE(); __HAL_RCC_GPIOG_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE(); __HAL_RCC_GPIOD_CLK_ENABLE();
__HAL_RCC_GPIOI_CLK_ENABLE(); __HAL_RCC_GPIOI_CLK_ENABLE();
__HAL_RCC_GPIOF_CLK_ENABLE(); __HAL_RCC_GPIOF_CLK_ENABLE();
__HAL_RCC_GPIOH_CLK_ENABLE(); __HAL_RCC_GPIOH_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
} }
......
...@@ -438,6 +438,91 @@ void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi) ...@@ -438,6 +438,91 @@ void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)
} }
/**
* @brief SD MSP Initialization
* This function configures the hardware resources used in this example
* @param hsd: SD handle pointer
* @retval None
*/
void HAL_SD_MspInit(SD_HandleTypeDef* hsd)
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
if(hsd->Instance==SDIO)
{
/* USER CODE BEGIN SDIO_MspInit 0 */
/* USER CODE END SDIO_MspInit 0 */
/* Peripheral clock enable */
__HAL_RCC_SDIO_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
__HAL_RCC_GPIOD_CLK_ENABLE();
/**SDIO GPIO Configuration
PC12 ------> SDIO_CK
PC11 ------> SDIO_D3
PC10 ------> SDIO_D2
PD2 ------> SDIO_CMD
PC9 ------> SDIO_D1
PC8 ------> SDIO_D0
*/
GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9
|GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
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_VERY_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF12_SDIO;
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
/* USER CODE BEGIN SDIO_MspInit 1 */
/* USER CODE END SDIO_MspInit 1 */
}
}
/**
* @brief SD MSP De-Initialization
* This function freeze the hardware resources used in this example
* @param hsd: SD handle pointer
* @retval None
*/
void HAL_SD_MspDeInit(SD_HandleTypeDef* hsd)
{
if(hsd->Instance==SDIO)
{
/* USER CODE BEGIN SDIO_MspDeInit 0 */
/* USER CODE END SDIO_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_SDIO_CLK_DISABLE();
/**SDIO GPIO Configuration
PC12 ------> SDIO_CK
PC11 ------> SDIO_D3
PC10 ------> SDIO_D2
PD2 ------> SDIO_CMD
PC9 ------> SDIO_D1
PC8 ------> SDIO_D0
*/
HAL_GPIO_DeInit(GPIOC, GPIO_PIN_12|GPIO_PIN_11|GPIO_PIN_10|GPIO_PIN_9
|GPIO_PIN_8);
HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
/* USER CODE BEGIN SDIO_MspDeInit 1 */
/* USER CODE END SDIO_MspDeInit 1 */
}
}
/** /**
* @brief TIM_Base MSP Initialization * @brief TIM_Base MSP Initialization
* This function configures the hardware resources used in this example * This function configures the hardware resources used in this example
......
...@@ -26,6 +26,22 @@ menu "Onboard Peripheral Drivers" ...@@ -26,6 +26,22 @@ menu "Onboard Peripheral Drivers"
select FAL_USING_SFUD_PORT select FAL_USING_SFUD_PORT
default n default n
config BSP_MOUNT_QSPI_WITH_LFS
bool "Mount QSPI flash to / with little fs"
depends on BSP_USING_QSPI_FLASH
select PKG_USING_LITTLEFS
select RT_USING_MTD_NOR
select RT_USING_DFS
default y
config BSP_USING_SDCARD
bool "Enable SDCARD (sdio)"
select BSP_USING_SDIO
select RT_USING_DFS
select RT_USING_DFS_ELMFAT
select RT_USING_PIN
default n
config BSP_USING_TOUCH config BSP_USING_TOUCH
bool "Enable TOUCH" bool "Enable TOUCH"
select BSP_USING_I2C1 select BSP_USING_I2C1
...@@ -38,14 +54,6 @@ menu "Onboard Peripheral Drivers" ...@@ -38,14 +54,6 @@ menu "Onboard Peripheral Drivers"
string "I2C Bus Name" string "I2C Bus Name"
default "i2c1" default "i2c1"
endif endif
config BSP_MOUNT_QSPI_WITH_LFS
bool "Mount QSPI flash to / with little fs"
depends on BSP_USING_QSPI_FLASH
select PKG_USING_LITTLEFS
select RT_USING_MTD_NOR
select RT_USING_DFS
default y
endmenu endmenu
menu "On-chip Peripheral Drivers" menu "On-chip Peripheral Drivers"
...@@ -56,8 +64,8 @@ menu "On-chip Peripheral Drivers" ...@@ -56,8 +64,8 @@ menu "On-chip Peripheral Drivers"
menuconfig BSP_USING_UART menuconfig BSP_USING_UART
bool "Enable UART" bool "Enable UART"
default y
select RT_USING_SERIAL select RT_USING_SERIAL
default y
if BSP_USING_UART if BSP_USING_UART
config BSP_USING_UART3 config BSP_USING_UART3
bool "Enable UART3" bool "Enable UART3"
...@@ -71,10 +79,10 @@ menu "On-chip Peripheral Drivers" ...@@ -71,10 +79,10 @@ menu "On-chip Peripheral Drivers"
menuconfig BSP_USING_I2C1 menuconfig BSP_USING_I2C1
bool "Enable I2C1 BUS (software simulation)" bool "Enable I2C1 BUS (software simulation)"
default n
select RT_USING_I2C select RT_USING_I2C
select RT_USING_I2C_BITOPS select RT_USING_I2C_BITOPS
select RT_USING_PIN select RT_USING_PIN
default n
if BSP_USING_I2C1 if BSP_USING_I2C1
comment "Notice: PB8 --> 24; PB9 --> 25" comment "Notice: PB8 --> 24; PB9 --> 25"
config BSP_I2C1_SCL_PIN config BSP_I2C1_SCL_PIN
...@@ -87,6 +95,27 @@ menu "On-chip Peripheral Drivers" ...@@ -87,6 +95,27 @@ menu "On-chip Peripheral Drivers"
default 25 default 25
endif endif
menuconfig BSP_USING_SPI
bool "Enable SPI BUS"
select RT_USING_SPI
default n
if BSP_USING_SPI
config BSP_USING_SPI3
bool "Enable SPI3 BUS"
default n
config BSP_SPI3_TX_USING_DMA
bool "Enable SPI3 TX DMA"
depends on BSP_USING_SPI3
default n
config BSP_SPI3_RX_USING_DMA
bool "Enable SPI3 RX DMA"
depends on BSP_USING_SPI3
select BSP_SPI3_TX_USING_DMA
default n
endif
config BSP_USING_QSPI config BSP_USING_QSPI
bool "Enable QSPI BUS" bool "Enable QSPI BUS"
select RT_USING_QSPI select RT_USING_QSPI
...@@ -98,7 +127,13 @@ menu "On-chip Peripheral Drivers" ...@@ -98,7 +127,13 @@ menu "On-chip Peripheral Drivers"
default n default n
config BSP_USING_FMC config BSP_USING_FMC
bool bool "Enable FMC"
default n
config BSP_USING_SDIO
bool "Enable SDIO"
select RT_USING_SDIO
select RT_USING_DFS
default n default n
config BSP_USING_USBD_FS config BSP_USING_USBD_FS
......
...@@ -24,6 +24,12 @@ if GetDepend(['BSP_USING_LCD_OTM8009A']): ...@@ -24,6 +24,12 @@ if GetDepend(['BSP_USING_LCD_OTM8009A']):
if GetDepend(['BSP_USING_TOUCH']): if GetDepend(['BSP_USING_TOUCH']):
src += Glob('ports/touch/*.c') src += Glob('ports/touch/*.c')
if GetDepend(['BSP_USING_SDCARD']):
src += Glob('ports/drv_sdcard.c')
if GetDepend(['BSP_USING_QSPI']):
src += Glob('ports/drv_qspi_flash.c')
path = [cwd] path = [cwd]
path += [cwd + '/CubeMX_Config/Inc'] path += [cwd + '/CubeMX_Config/Inc']
path += [cwd + '/ports'] path += [cwd + '/ports']
......
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-12-13 balanceTWK add sdcard port file
*/
#include <rtthread.h>
#ifdef BSP_USING_SDCARD
#include <dfs_elm.h>
#include <dfs_fs.h>
#include <dfs_posix.h>
#include "drv_gpio.h"
#define DBG_TAG "app.card"
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
void sd_mount(void *parameter)
{
while (1)
{
rt_thread_mdelay(500);
if(rt_device_find("sd0") != RT_NULL)
{
if (dfs_mount("sd0", "/", "elm", 0, 0) == RT_EOK)
{
LOG_I("sd card mount to '/'");
break;
}
else
{
LOG_W("sd card mount to '/' failed!");
}
}
}
}
int stm32_sdcard_mount(void)
{
rt_thread_t tid;
tid = rt_thread_create("sd_mount", sd_mount, RT_NULL,
1024, RT_THREAD_PRIORITY_MAX - 2, 20);
if (tid != RT_NULL)
{
rt_thread_startup(tid);
}
else
{
LOG_E("create sd_mount thread err!");
}
return RT_EOK;
}
INIT_APP_EXPORT(stm32_sdcard_mount);
#endif /* BSP_USING_SDCARD */
...@@ -216,6 +216,9 @@ ...@@ -216,6 +216,9 @@
<name>CCDefines</name> <name>CCDefines</name>
<state /> <state />
<state>STM32F469xx</state> <state>STM32F469xx</state>
<state>RT_USING_DLIBC</state>
<state>_DLIB_FILE_DESCRIPTOR</state>
<state>_DLIB_THREAD_SUPPORT</state>
<state>USE_HAL_DRIVER</state> <state>USE_HAL_DRIVER</state>
</option> </option>
<option> <option>
...@@ -342,16 +345,21 @@ ...@@ -342,16 +345,21 @@
<option> <option>
<name>CCIncludePath2</name> <name>CCIncludePath2</name>
<state /> <state />
<state>$PROJ_DIR$\..\..\..\components\dfs\filesystems\devfs</state>
<state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Include</state> <state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Include</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state> <state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state> <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state> <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\..\..\..\components\dfs\include</state>
<state>$PROJ_DIR$\board\ports</state> <state>$PROJ_DIR$\board\ports</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state> <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\.</state> <state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state> <state>$PROJ_DIR$\applications</state>
<state>$PROJ_DIR$\..\libraries\HAL_Drivers\config</state> <state>$PROJ_DIR$\..\libraries\HAL_Drivers\config</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib</state>
<state>$PROJ_DIR$\board</state> <state>$PROJ_DIR$\board</state>
<state>$PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat</state>
<state>$PROJ_DIR$\board\CubeMX_Config\Inc</state> <state>$PROJ_DIR$\board\CubeMX_Config\Inc</state>
<state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include</state> <state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include</state>
<state>$PROJ_DIR$\..\..\..\include</state> <state>$PROJ_DIR$\..\..\..\include</state>
...@@ -1246,6 +1254,9 @@ ...@@ -1246,6 +1254,9 @@
<option> <option>
<name>CCDefines</name> <name>CCDefines</name>
<state>STM32F469xx</state> <state>STM32F469xx</state>
<state>RT_USING_DLIBC</state>
<state>_DLIB_FILE_DESCRIPTOR</state>
<state>_DLIB_THREAD_SUPPORT</state>
<state>USE_HAL_DRIVER</state> <state>USE_HAL_DRIVER</state>
</option> </option>
<option> <option>
...@@ -1372,16 +1383,21 @@ ...@@ -1372,16 +1383,21 @@
<option> <option>
<name>CCIncludePath2</name> <name>CCIncludePath2</name>
<state /> <state />
<state>$PROJ_DIR$\..\..\..\components\dfs\filesystems\devfs</state>
<state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Include</state> <state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Include</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state> <state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state> <state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state> <state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\..\..\..\components\dfs\include</state>
<state>$PROJ_DIR$\board\ports</state> <state>$PROJ_DIR$\board\ports</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state> <state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\.</state> <state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state> <state>$PROJ_DIR$\applications</state>
<state>$PROJ_DIR$\..\libraries\HAL_Drivers\config</state> <state>$PROJ_DIR$\..\libraries\HAL_Drivers\config</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib</state>
<state>$PROJ_DIR$\board</state> <state>$PROJ_DIR$\board</state>
<state>$PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat</state>
<state>$PROJ_DIR$\board\CubeMX_Config\Inc</state> <state>$PROJ_DIR$\board\CubeMX_Config\Inc</state>
<state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include</state> <state>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include</state>
<state>$PROJ_DIR$\..\..\..\include</state> <state>$PROJ_DIR$\..\..\..\include</state>
...@@ -2135,9 +2151,6 @@ ...@@ -2135,9 +2151,6 @@
<file> <file>
<name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart.c</name> <name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_usart.c</name>
</file> </file>
<file>
<name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_soft_i2c.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c</name> <name>$PROJ_DIR$\..\libraries\HAL_Drivers\drv_common.c</name>
</file> </file>
...@@ -2161,19 +2174,61 @@ ...@@ -2161,19 +2174,61 @@
</file> </file>
</group> </group>
<group> <group>
<name>DeviceDrivers</name> <name>Filesystem</name>
<file>
<name>$PROJ_DIR$\..\..\..\components\dfs\src\dfs.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\dfs\src\dfs_file.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\dfs\src\dfs_fs.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\dfs\src\dfs_posix.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\dfs\src\poll.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\dfs\src\select.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\dfs\filesystems\devfs\devfs.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_core.c</name> <name>$PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\dfs_elm.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\i2c\i2c_dev.c</name> <name>$PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\ff.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\i2c\i2c-bit-ops.c</name> <name>$PROJ_DIR$\..\..\..\components\dfs\filesystems\elmfat\option\ccsbcs.c</name>
</file> </file>
</group>
<group>
<name>DeviceDrivers</name>
<file> <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name> <name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name>
</file> </file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\mtd\mtd_nor.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\sdio\block_dev.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\sdio\mmcsd_core.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\sdio\sd.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\sdio\sdio.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\sdio\mmc.c</name>
</file>
<file> <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name> <name>$PROJ_DIR$\..\..\..\components\drivers\serial\serial.c</name>
</file> </file>
...@@ -2250,6 +2305,51 @@ ...@@ -2250,6 +2305,51 @@
<name>$PROJ_DIR$\..\..\..\components\finsh\finsh_token.c</name> <name>$PROJ_DIR$\..\..\..\components\finsh\finsh_token.c</name>
</file> </file>
</group> </group>
<group>
<name>libc</name>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\gmtime_r.c</name>
</file>
</group>
<group>
<name>dlib</name>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\libc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\rmtx.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\stdio.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\time.c</name>
</file>
</group>
<group> <group>
<name>STM32_HAL</name> <name>STM32_HAL</name>
<file> <file>
...@@ -2304,10 +2404,13 @@ ...@@ -2304,10 +2404,13 @@
<name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</name> <name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_usart.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</name> <name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_sdmmc.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sd.c</name>
</file> </file>
<file> <file>
<name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</name> <name>$PROJ_DIR$\..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_nor.c</name>
</file> </file>
</group> </group>
</project> </project>
...@@ -357,9 +357,9 @@ ...@@ -357,9 +357,9 @@
<useXO>0</useXO> <useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls /> <MiscControls />
<Define>USE_HAL_DRIVER, STM32F469xx</Define> <Define>USE_HAL_DRIVER, STM32F469xx, RT_USING_ARM_LIBC</Define>
<Undefine /> <Undefine />
<IncludePath>.;..\..\..\include;applications;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath> <IncludePath>.;..\..\..\include;applications;board;board\CubeMX_Config\Inc;board\ports;..\libraries\HAL_Drivers;..\libraries\HAL_Drivers\config;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\dfs\include;..\..\..\components\dfs\filesystems\devfs;..\..\..\components\dfs\filesystems\elmfat;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\finsh;..\..\..\components\libc\compilers\armlibc;..\..\..\components\libc\compilers\common;..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;..\libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;..\libraries\STM32F4xx_HAL\CMSIS\Include</IncludePath>
</VariousControls> </VariousControls>
</Cads> </Cads>
<Aads> <Aads>
...@@ -561,13 +561,6 @@ ...@@ -561,13 +561,6 @@
<FilePath>..\libraries\HAL_Drivers\drv_usart.c</FilePath> <FilePath>..\libraries\HAL_Drivers\drv_usart.c</FilePath>
</File> </File>
</Files> </Files>
<Files>
<File>
<FileName>drv_soft_i2c.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\HAL_Drivers\drv_soft_i2c.c</FilePath>
</File>
</Files>
<Files> <Files>
<File> <File>
<FileName>drv_common.c</FileName> <FileName>drv_common.c</FileName>
...@@ -615,28 +608,80 @@ ...@@ -615,28 +608,80 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>DeviceDrivers</GroupName> <GroupName>Filesystem</GroupName>
<Files>
<File>
<FileName>dfs.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>dfs_file.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs_file.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>dfs_fs.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs_fs.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>dfs_posix.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\dfs_posix.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>poll.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\poll.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>select.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\src\select.c</FilePath>
</File>
</Files>
<Files> <Files>
<File> <File>
<FileName>i2c_core.c</FileName> <FileName>devfs.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\..\components\drivers\i2c\i2c_core.c</FilePath> <FilePath>..\..\..\components\dfs\filesystems\devfs\devfs.c</FilePath>
</File> </File>
</Files> </Files>
<Files> <Files>
<File> <File>
<FileName>i2c_dev.c</FileName> <FileName>dfs_elm.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\..\components\drivers\i2c\i2c_dev.c</FilePath> <FilePath>..\..\..\components\dfs\filesystems\elmfat\dfs_elm.c</FilePath>
</File> </File>
</Files> </Files>
<Files> <Files>
<File> <File>
<FileName>i2c-bit-ops.c</FileName> <FileName>ff.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\..\..\components\drivers\i2c\i2c-bit-ops.c</FilePath> <FilePath>..\..\..\components\dfs\filesystems\elmfat\ff.c</FilePath>
</File> </File>
</Files> </Files>
<Files>
<File>
<FileName>ccsbcs.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\dfs\filesystems\elmfat\option\ccsbcs.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>DeviceDrivers</GroupName>
<Files> <Files>
<File> <File>
<FileName>pin.c</FileName> <FileName>pin.c</FileName>
...@@ -644,6 +689,48 @@ ...@@ -644,6 +689,48 @@
<FilePath>..\..\..\components\drivers\misc\pin.c</FilePath> <FilePath>..\..\..\components\drivers\misc\pin.c</FilePath>
</File> </File>
</Files> </Files>
<Files>
<File>
<FileName>mtd_nor.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\mtd\mtd_nor.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>block_dev.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\sdio\block_dev.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>mmcsd_core.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\sdio\mmcsd_core.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>sd.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\sdio\sd.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>sdio.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\sdio\sdio.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>mmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\drivers\sdio\mmc.c</FilePath>
</File>
</Files>
<Files> <Files>
<File> <File>
<FileName>serial.c</FileName> <FileName>serial.c</FileName>
...@@ -816,6 +903,51 @@ ...@@ -816,6 +903,51 @@
</File> </File>
</Files> </Files>
</Group> </Group>
<Group>
<GroupName>libc</GroupName>
<Files>
<File>
<FileName>libc.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\libc.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>mem_std.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\mem_std.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>stdio.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\stdio.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>stubs.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\stubs.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>time.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\armlibc\time.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>gmtime_r.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\components\libc\compilers\common\gmtime_r.c</FilePath>
</File>
</Files>
</Group>
<Group> <Group>
<GroupName>STM32_HAL</GroupName> <GroupName>STM32_HAL</GroupName>
<Files> <Files>
...@@ -939,16 +1071,23 @@ ...@@ -939,16 +1071,23 @@
</Files> </Files>
<Files> <Files>
<File> <File>
<FileName>stm32f4xx_hal_i2c.c</FileName> <FileName>stm32f4xx_ll_sdmmc.c</FileName>
<FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_ll_sdmmc.c</FilePath>
</File>
</Files>
<Files>
<File>
<FileName>stm32f4xx_hal_sd.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c.c</FilePath> <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_sd.c</FilePath>
</File> </File>
</Files> </Files>
<Files> <Files>
<File> <File>
<FileName>stm32f4xx_hal_i2c_ex.c</FileName> <FileName>stm32f4xx_hal_nor.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_i2c_ex.c</FilePath> <FilePath>..\libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_nor.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
......
...@@ -74,6 +74,24 @@ ...@@ -74,6 +74,24 @@
/* Device virtual file system */ /* Device virtual file system */
#define RT_USING_DFS
#define DFS_USING_WORKDIR
#define DFS_FILESYSTEMS_MAX 2
#define DFS_FILESYSTEM_TYPES_MAX 2
#define DFS_FD_MAX 16
#define RT_USING_DFS_ELMFAT
/* elm-chan's FatFs, Generic FAT Filesystem Module */
#define RT_DFS_ELM_CODE_PAGE 437
#define RT_DFS_ELM_WORD_ACCESS
#define RT_DFS_ELM_USE_LFN_3
#define RT_DFS_ELM_USE_LFN 3
#define RT_DFS_ELM_MAX_LFN 255
#define RT_DFS_ELM_DRIVES 2
#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
#define RT_DFS_ELM_REENTRANT
#define RT_USING_DFS_DEVFS
/* Device Drivers */ /* Device Drivers */
...@@ -83,6 +101,13 @@ ...@@ -83,6 +101,13 @@
#define RT_SERIAL_USING_DMA #define RT_SERIAL_USING_DMA
#define RT_SERIAL_RB_BUFSZ 64 #define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_PIN #define RT_USING_PIN
#define RT_USING_MTD_NOR
#define RT_USING_SDIO
#define RT_SDIO_STACK_SIZE 512
#define RT_SDIO_THREAD_PRIORITY 15
#define RT_MMCSD_STACK_SIZE 1024
#define RT_MMCSD_THREAD_PREORITY 22
#define RT_MMCSD_MAX_PARTITION 16
/* Using WiFi */ /* Using WiFi */
...@@ -92,12 +117,17 @@ ...@@ -92,12 +117,17 @@
/* POSIX layer and C standard library */ /* POSIX layer and C standard library */
#define RT_USING_LIBC
#define RT_USING_POSIX
/* Network */ /* Network */
/* Socket abstraction layer */ /* Socket abstraction layer */
/* Network interface device */
/* light weight TCP/IP stack */ /* light weight TCP/IP stack */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册