summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/config/f7/pwm_config.h60
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/config/f7/sdio_config.h38
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/config/f7/tim_config.h59
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_config.h3
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_sdio.c12
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_sdio.h8
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drv_spi.c4
-rw-r--r--bsp/stm32/libraries/STM32F7xx_HAL/SConscript88
-rw-r--r--bsp/stm32/stm32f767-fire-challenger/README.md4
-rw-r--r--bsp/stm32/stm32f767-fire-challenger/board/Kconfig123
-rw-r--r--bsp/stm32/stm32f767-fire-challenger/board/SConscript3
-rw-r--r--bsp/stm32/stm32f767-fire-challenger/board/ports/sdcard_port.c76
12 files changed, 429 insertions, 49 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/config/f7/pwm_config.h b/bsp/stm32/libraries/HAL_Drivers/config/f7/pwm_config.h
new file mode 100644
index 0000000000..2474460ccd
--- /dev/null
+++ b/bsp/stm32/libraries/HAL_Drivers/config/f7/pwm_config.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2006-2018, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-12-13 zylx first version
+ */
+
+#ifndef __PWM_CONFIG_H__
+#define __PWM_CONFIG_H__
+
+#include <rtthread.h>
+
+#ifdef BSP_USING_PWM2
+#ifndef PWM2_CONFIG
+#define PWM2_CONFIG \
+ { \
+ .tim_handle.Instance = TIM2, \
+ .name = "pwm2", \
+ .channel = 0 \
+ }
+#endif /* PWM2_CONFIG */
+#endif /* BSP_USING_PWM2 */
+
+#ifdef BSP_USING_PWM3
+#ifndef PWM3_CONFIG
+#define PWM3_CONFIG \
+ { \
+ .tim_handle.Instance = TIM3, \
+ .name = "pwm3", \
+ .channel = 0 \
+ }
+#endif /* PWM3_CONFIG */
+#endif /* BSP_USING_PWM3 */
+
+#ifdef BSP_USING_PWM4
+#ifndef PWM4_CONFIG
+#define PWM4_CONFIG \
+ { \
+ .tim_handle.Instance = TIM4, \
+ .name = "pwm4", \
+ .channel = 0 \
+ }
+#endif /* PWM4_CONFIG */
+#endif /* BSP_USING_PWM4 */
+
+#ifdef BSP_USING_PWM5
+#ifndef PWM5_CONFIG
+#define PWM5_CONFIG \
+ { \
+ .tim_handle.Instance = TIM5, \
+ .name = "pwm5", \
+ .channel = 0 \
+ }
+#endif /* PWM5_CONFIG */
+#endif /* BSP_USING_PWM5 */
+
+#endif /* __PWM_CONFIG_H__ */
diff --git a/bsp/stm32/libraries/HAL_Drivers/config/f7/sdio_config.h b/bsp/stm32/libraries/HAL_Drivers/config/f7/sdio_config.h
new file mode 100644
index 0000000000..d6127d9b73
--- /dev/null
+++ b/bsp/stm32/libraries/HAL_Drivers/config/f7/sdio_config.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2006-2018, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-12-13 BalanceTWK first version
+ */
+
+#ifndef __SDIO_CONFIG_H__
+#define __SDIO_CONFIG_H__
+
+#include <rtthread.h>
+#include "stm32f7xx_hal.h"
+
+#ifdef BSP_USING_SDIO
+#define SDIO_BUS_CONFIG \
+ { \
+ .Instance = SDMMC1, \
+ .dma_rx.dma_rcc = RCC_AHB1ENR_DMA2EN, \
+ .dma_tx.dma_rcc = RCC_AHB1ENR_DMA2EN, \
+ .dma_rx.Instance = DMA2_Stream3, \
+ .dma_rx.channel = DMA_CHANNEL_4, \
+ .dma_rx.dma_irq = DMA2_Stream3_IRQn, \
+ .dma_tx.Instance = DMA2_Stream6, \
+ .dma_tx.channel = DMA_CHANNEL_4, \
+ .dma_tx.dma_irq = DMA2_Stream6_IRQn, \
+ }
+
+#define SPI1_DMA_RX_IRQHandler DMA2_Stream3_IRQHandler
+#define SPI1_DMA_TX_IRQHandler DMA2_Stream6_IRQHandler
+#endif
+
+#endif /*__SDIO_CONFIG_H__ */
+
+
+
diff --git a/bsp/stm32/libraries/HAL_Drivers/config/f7/tim_config.h b/bsp/stm32/libraries/HAL_Drivers/config/f7/tim_config.h
new file mode 100644
index 0000000000..169d07a7a4
--- /dev/null
+++ b/bsp/stm32/libraries/HAL_Drivers/config/f7/tim_config.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2006-2018, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date Author Notes
+ * 2018-12-11 zylx first version
+ */
+
+#ifndef __TIM_CONFIG_H__
+#define __TIM_CONFIG_H__
+
+#include <rtthread.h>
+
+#ifndef TIM_DEV_INFO_CONFIG
+#define TIM_DEV_INFO_CONFIG \
+ { \
+ .maxfreq = 1000000, \
+ .minfreq = 3000, \
+ .maxcnt = 0xFFFF, \
+ .cntmode = HWTIMER_CNTMODE_UP, \
+ }
+#endif /* TIM_DEV_INFO_CONFIG */
+
+#ifdef BSP_USING_TIM11
+#ifndef TIM11_CONFIG
+#define TIM11_CONFIG \
+ { \
+ .tim_handle.Instance = TIM11, \
+ .tim_irqn = TIM1_TRG_COM_TIM11_IRQn, \
+ .name = "timer11", \
+ }
+#endif /* TIM11_CONFIG */
+#endif /* BSP_USING_TIM11 */
+
+#ifdef BSP_USING_TIM13
+#ifndef TIM13_CONFIG
+#define TIM13_CONFIG \
+ { \
+ .tim_handle.Instance = TIM13, \
+ .tim_irqn = TIM8_UP_TIM13_IRQn, \
+ .name = "timer13", \
+ }
+#endif /* TIM13_CONFIG */
+#endif /* BSP_USING_TIM13 */
+
+#ifdef BSP_USING_TIM14
+#ifndef TIM14_CONFIG
+#define TIM14_CONFIG \
+ { \
+ .tim_handle.Instance = TIM14, \
+ .tim_irqn = TIM8_TRG_COM_TIM14_IRQn, \
+ .name = "timer14", \
+ }
+#endif /* TIM14_CONFIG */
+#endif /* BSP_USING_TIM14 */
+
+#endif /* __TIM_CONFIG_H__ */
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_config.h b/bsp/stm32/libraries/HAL_Drivers/drv_config.h
index 5667b6d05d..d188bf60e8 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_config.h
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_config.h
@@ -32,6 +32,9 @@
#include "f7/uart_config.h"
#include "f7/spi_config.h"
#include "f7/adc_config.h"
+#include "f7/tim_config.h"
+#include "f7/sdio_config.h"
+#include "f7/pwm_config.h"
#elif defined(SOC_SERIES_STM32L4)
#include "l4/uart_config.h"
#include "l4/spi_config.h"
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c b/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c
index f2d6867343..3294b89190 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_sdio.c
@@ -19,6 +19,12 @@
#define LOG_TAG "drv.sdio"
#include <drv_log.h>
+#if defined(SOC_SERIES_STM32F1) || defined(SOC_SERIES_STM32F4)
+#define SDCARD_INSTANCE SDIO
+#elif defined(SOC_SERIES_STM32L4) || defined(SOC_SERIES_STM32F7)
+#define SDCARD_INSTANCE SDMMC1
+#endif /* defined(SOC_SERIES_STM32F1) || defined(SOC_SERIES_STM32F4) */
+
static struct stm32_sdio_config sdio_config = SDIO_BUS_CONFIG;
static struct stm32_sdio_class sdio_obj;
static struct rt_mmcsd_host *host;
@@ -809,14 +815,14 @@ int rt_hw_sdio_init(void)
{
struct stm32_sdio_des sdio_des;
SD_HandleTypeDef hsd;
- hsd.Instance = SDIO;
+ hsd.Instance = SDCARD_INSTANCE;
{
rt_uint32_t tmpreg = 0x00U;
#if defined(SOC_SERIES_STM32F1)
/* enable DMA clock && Delay after an RCC peripheral clock enabling*/
SET_BIT(RCC->AHBENR, sdio_config.dma_rx.dma_rcc);
tmpreg = READ_BIT(RCC->AHBENR, sdio_config.dma_rx.dma_rcc);
-#elif defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32L4)
+#elif defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4)
SET_BIT(RCC->AHB1ENR, sdio_config.dma_rx.dma_rcc);
/* Delay after an RCC peripheral clock enabling */
tmpreg = READ_BIT(RCC->AHB1ENR, sdio_config.dma_rx.dma_rcc);
@@ -828,7 +834,7 @@ int rt_hw_sdio_init(void)
HAL_SD_MspInit(&hsd);
sdio_des.clk_get = stm32_sdio_clock_get;
- sdio_des.hw_sdio = (struct stm32_sdio *)SDIO;
+ sdio_des.hw_sdio = (struct stm32_sdio *)SDCARD_INSTANCE;
sdio_des.rxconfig = DMA_RxConfig;
sdio_des.txconfig = DMA_TxConfig;
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_sdio.h b/bsp/stm32/libraries/HAL_Drivers/drv_sdio.h
index f0b3cdb347..e753ad0577 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_sdio.h
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_sdio.h
@@ -19,6 +19,12 @@
#include <drivers/mmcsd_core.h>
#include <drivers/sdio.h>
+#if defined(SOC_SERIES_STM32F1) || defined(SOC_SERIES_STM32F4)
+#define SDCARD_INSTANCE_TYPE SDIO_TypeDef
+#elif defined(SOC_SERIES_STM32L4) || defined(SOC_SERIES_STM32F7)
+#define SDCARD_INSTANCE_TYPE SDMMC_TypeDef
+#endif /* defined(SOC_SERIES_STM32F1) || defined(SOC_SERIES_STM32F4) */
+
#define SDIO_BUFF_SIZE 4096
#define SDIO_MAX_FREQ 2000000
#define SDIO_ALIGN_LEN 32
@@ -158,7 +164,7 @@ struct stm32_sdio_des
struct stm32_sdio_config
{
- SDIO_TypeDef *Instance;
+ SDCARD_INSTANCE_TYPE *Instance;
struct dma_config dma_rx, dma_tx;
};
diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_spi.c b/bsp/stm32/libraries/HAL_Drivers/drv_spi.c
index 7883fc1c02..36cf7fa401 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drv_spi.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drv_spi.c
@@ -484,7 +484,7 @@ static int rt_hw_spi_bus_init(void)
/* enable DMA clock && Delay after an RCC peripheral clock enabling*/
SET_BIT(RCC->AHBENR, spi_config[i].dma_rx.dma_rcc);
tmpreg = READ_BIT(RCC->AHBENR, spi_config[i].dma_rx.dma_rcc);
-#elif defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32L4)
+#elif defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32L4)
SET_BIT(RCC->AHB1ENR, spi_config[i].dma_rx.dma_rcc);
/* Delay after an RCC peripheral clock enabling */
tmpreg = READ_BIT(RCC->AHB1ENR, spi_config[i].dma_rx.dma_rcc);
@@ -757,5 +757,5 @@ int rt_hw_spi_init(void)
}
INIT_BOARD_EXPORT(rt_hw_spi_init);
-#endif /* BSP_USING_SPI1 || BSP_USING_SPI2 || BSP_USING_SPI3 || BSP_USING_SPI4 || BSP_USING_SPI5 */
+#endif /* BSP_USING_SPI1 || BSP_USING_SPI2 || BSP_USING_SPI3 || BSP_USING_SPI4 || BSP_USING_SPI5 || BSP_USING_SPI6 */
#endif /* RT_USING_SPI */
diff --git a/bsp/stm32/libraries/STM32F7xx_HAL/SConscript b/bsp/stm32/libraries/STM32F7xx_HAL/SConscript
index badf3d4cc3..210c2e92cc 100644
--- a/bsp/stm32/libraries/STM32F7xx_HAL/SConscript
+++ b/bsp/stm32/libraries/STM32F7xx_HAL/SConscript
@@ -6,11 +6,95 @@ cwd = GetCurrentDir()
# The set of source files associated with this SConscript file.
-src = Glob('STM32F7xx_HAL_Driver/Src/*.c')
-src += Split('''
+src = Split('''
CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cec.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_crc.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cryp.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cryp_ex.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rng.c
+STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sram.c
''')
+if GetDepend(['RT_USING_PIN']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.c']
+
+if GetDepend(['RT_USING_SERIAL']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_usart.c']
+
+if GetDepend(['RT_USING_I2C']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.c']
+
+if GetDepend(['RT_USING_SPI']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_spi.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_qspi.c']
+
+if GetDepend(['RT_USING_USB_HOST']) or GetDepend(['RT_USING_USB_DEVICE']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pccard.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pcd.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pcd_ex.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_hcd.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_usb.c']
+
+if GetDepend(['RT_USING_CAN']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_can.c']
+
+if GetDepend(['RT_USING_HWTIMER']) or GetDepend(['RT_USING_PWM']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_lptim.c']
+
+if GetDepend(['BSP_USING_ETH']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_eth.c']
+
+if GetDepend(['RT_USING_ADC']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc_ex.c']
+
+if GetDepend(['RT_USING_RTC']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rtc.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rtc_ex.c']
+
+if GetDepend(['RT_USING_WDT']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_iwdg.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_wwdg.c']
+
+if GetDepend(['RT_USING_SDIO']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_sdmmc.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.c']
+
+if GetDepend(['RT_USING_AUDIO']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2s.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2s_ex.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sai.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sai_ex.c']
+
+if GetDepend(['RT_USING_MTD_NOR']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_nor.c']
+
+if GetDepend(['RT_USING_MTD_NAND']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_nand.c']
+
+if GetDepend(['BSP_USING_SDRAM']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_fmc.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_fsmc.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sdram.c']
+
+if GetDepend(['BSP_USING_ON_CHIP_FLASH']):
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.c']
+ src += ['STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ramfunc.c']
+
path = [cwd + '/STM32F7xx_HAL_Driver/Inc',
cwd + '/CMSIS/Device/ST/STM32F7xx/Include',
cwd + '/CMSIS/Include']
diff --git a/bsp/stm32/stm32f767-fire-challenger/README.md b/bsp/stm32/stm32f767-fire-challenger/README.md
index 0aa2ebc3b1..01257ed515 100644
--- a/bsp/stm32/stm32f767-fire-challenger/README.md
+++ b/bsp/stm32/stm32f767-fire-challenger/README.md
@@ -44,7 +44,7 @@
| QSPI Flash | 支持 | |
| 电位器 | 支持 | 使用 ADC1 |
| 以太网 | 暂不支持 | 移植中 |
-| MPU6050六轴传感器 | 支持 | |
+| MPU6050六轴传感器 | 支持 | |
| SDRAM | 支持 | |
| SD卡 | 即将支持 | |
| CAN | 即将支持 | |
@@ -58,7 +58,7 @@
| RTC | 支持 | |
| WDT | 支持 | |
| FLASH | 支持 | 已适配 [FAL](https://github.com/RT-Thread-packages/fal) |
-| SDIO | 暂不支持 | 即将支持 |
+| SDIO | 支持 | |
| PWM | 暂不支持 | 即将支持 |
| USB Device | 暂不支持 | 即将支持 |
| USB Host | 暂不支持 | 即将支持 |
diff --git a/bsp/stm32/stm32f767-fire-challenger/board/Kconfig b/bsp/stm32/stm32f767-fire-challenger/board/Kconfig
index 25f5fe05e1..1b7bca9368 100644
--- a/bsp/stm32/stm32f767-fire-challenger/board/Kconfig
+++ b/bsp/stm32/stm32f767-fire-challenger/board/Kconfig
@@ -34,6 +34,40 @@ menu "Onboard Peripheral Drivers"
select PKG_USING_MPU6XXX
default n
+ config BSP_USING_ETH
+ bool "Enable Ethernet"
+ default n
+ select RT_USING_LWIP
+ if BSP_USING_ETH
+ config EXTERNAL_PHY_ADDRESS
+ hex
+ default 0x00
+ endif
+
+ config BSP_USING_RGB
+ bool "Enable RGB LED (timer5 channel1 - 3)"
+ select RT_USING_PWM
+ select BSP_USING_PWM
+ select BSP_USING_PWM5
+ select BSP_USING_PWM5_CH1
+ select BSP_USING_PWM5_CH2
+ select BSP_USING_PWM5_CH3
+ default n
+
+ config BSP_USING_POT
+ bool "Enable potentiometer"
+ select BSP_USING_ADC
+ select BSP_USING_ADC1
+ default n
+
+ 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
+
endmenu
menu "On-chip Peripheral Drivers"
@@ -90,6 +124,47 @@ menu "On-chip Peripheral Drivers"
select RT_USING_QSPI
select RT_USING_SPI
default n
+
+ menuconfig BSP_USING_TIM
+ bool "Enable timer"
+ default n
+ select RT_USING_HWTIMER
+ if BSP_USING_TIM
+ config BSP_USING_TIM11
+ bool "Enable TIM11"
+ default n
+
+ config BSP_USING_TIM13
+ bool "Enable TIM13"
+ default n
+
+ config BSP_USING_TIM14
+ bool "Enable TIM14"
+ default n
+ endif
+
+ menuconfig BSP_USING_PWM
+ bool "Enable pwm"
+ default n
+ select RT_USING_PWM
+ if BSP_USING_PWM
+ menuconfig BSP_USING_PWM5
+ bool "Enable timer5 output pwm"
+ default n
+ if BSP_USING_PWM5
+ config BSP_USING_PWM5_CH1
+ bool "Enable PWM5 channel1"
+ default n
+
+ config BSP_USING_PWM5_CH2
+ bool "Enable PWM5 channel2"
+ default n
+
+ config BSP_USING_PWM5_CH3
+ bool "Enable PWM5 channel3"
+ default n
+ endif
+ endif
menuconfig BSP_USING_ADC
bool "Enable ADC"
@@ -109,24 +184,6 @@ menu "On-chip Peripheral Drivers"
default n
endif
- menuconfig BSP_USING_I2C1
- bool "Enable I2C1 BUS (software simulation)"
- default n
- select RT_USING_I2C
- select RT_USING_I2C_BITOPS
- select RT_USING_PIN
- if BSP_USING_I2C1
- comment "Notice: PB6 --> 22; PB7 --> 23"
- config BSP_I2C1_SCL_PIN
- int "I2C1 scl pin number"
- range 1 176
- default 22
- config BSP_I2C1_SDA_PIN
- int "I2C1 sda pin number"
- range 1 176
- default 23
- endif
-
menuconfig BSP_USING_I2C2
bool "Enable I2C2 BUS (software simulation)"
default n
@@ -134,33 +191,15 @@ menu "On-chip Peripheral Drivers"
select RT_USING_I2C_BITOPS
select RT_USING_PIN
if BSP_USING_I2C2
- comment "Notice: PC15 --> 47; PD0 --> 48"
+ comment "Notice: PH4 --> 116; PH5 --> 117"
config BSP_I2C2_SCL_PIN
int "i2c2 scl pin number"
range 1 176
- default 47
+ default 116
config BSP_I2C2_SDA_PIN
int "I2C2 sda pin number"
range 1 176
- default 48
- endif
-
- menuconfig BSP_USING_I2C3
- bool "Enable I2C3 BUS (software simulation)"
- default n
- select RT_USING_I2C
- select RT_USING_I2C_BITOPS
- select RT_USING_PIN
- if BSP_USING_I2C3
- comment "Notice: PF12 --> 92; PF13 --> 93"
- config BSP_I2C3_SCL_PIN
- int "i2c3 scl pin number"
- range 1 176
- default 92
- config BSP_I2C3_SDA_PIN
- int "I2C3 sda pin number"
- range 1 176
- default 93
+ default 117
endif
menuconfig BSP_USING_I2C4
@@ -192,6 +231,12 @@ menu "On-chip Peripheral Drivers"
select RT_USING_WDT
default n
+ config BSP_USING_SDIO
+ bool "Enable SDIO"
+ select RT_USING_SDIO
+ select RT_USING_DFS
+ default n
+
endmenu
menu "Board extended module Drivers"
diff --git a/bsp/stm32/stm32f767-fire-challenger/board/SConscript b/bsp/stm32/stm32f767-fire-challenger/board/SConscript
index c7dba39f6c..6dd2b9f997 100644
--- a/bsp/stm32/stm32f767-fire-challenger/board/SConscript
+++ b/bsp/stm32/stm32f767-fire-challenger/board/SConscript
@@ -18,6 +18,9 @@ if GetDepend(['BSP_USING_ETH']):
if GetDepend(['BSP_USING_QSPI_FLASH']):
src += Glob('ports/drv_qspi_flash.c')
+if GetDepend(['BSP_USING_SDCARD']):
+ src += Glob('ports/sdcard_port.c')
+
path = [cwd]
path += [cwd + '/CubeMX_Config/Inc']
path += [cwd + '/ports']
diff --git a/bsp/stm32/stm32f767-fire-challenger/board/ports/sdcard_port.c b/bsp/stm32/stm32f767-fire-challenger/board/ports/sdcard_port.c
new file mode 100644
index 0000000000..0a84162150
--- /dev/null
+++ b/bsp/stm32/stm32f767-fire-challenger/board/ports/sdcard_port.c
@@ -0,0 +1,76 @@
+/*
+ * 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_ENABLE
+#define DBG_SECTION_NAME "app.card"
+#define DBG_COLOR
+
+#define DBG_LEVEL DBG_INFO
+#include <rtdbg.h>
+
+#define WIFI_RESET_PIN GET_PIN(G, 9)
+
+int ewm1062_disable(void)
+{
+ rt_pin_mode(WIFI_RESET_PIN, PIN_MODE_OUTPUT);
+ rt_pin_write(WIFI_RESET_PIN,PIN_LOW);
+ return RT_EOK;
+}
+INIT_BOARD_EXPORT(ewm1062_disable);
+
+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 */
+