From 53aa771aa52f1de01fcc848f8a4fa3a0e585e390 Mon Sep 17 00:00:00 2001 From: Meco Man <920369182@qq.com> Date: Thu, 30 Nov 2023 11:02:50 +0800 Subject: [PATCH] [stm32][nano] stm32f103-bluepill support nano version --- bsp/stm32/libraries/HAL_Drivers/SConscript | 231 +++++++++--------- bsp/stm32/stm32f103-blue-pill/Kconfig | 11 +- .../stm32f103-blue-pill/applications/main.c | 10 + bsp/stm32/stm32f103-blue-pill/board/Kconfig | 7 - bsp/stm32/stm32f103-blue-pill/board/board.c | 7 + bsp/stm32/stm32f103-blue-pill/board/board.h | 4 +- 6 files changed, 144 insertions(+), 126 deletions(-) diff --git a/bsp/stm32/libraries/HAL_Drivers/SConscript b/bsp/stm32/libraries/HAL_Drivers/SConscript index 5d379ae42b..afc919360f 100644 --- a/bsp/stm32/libraries/HAL_Drivers/SConscript +++ b/bsp/stm32/libraries/HAL_Drivers/SConscript @@ -3,127 +3,126 @@ Import('rtconfig') from building import * cwd = GetCurrentDir() - -# add the general drivers. +group = [] src = [] - -if GetDepend(['RT_USING_PIN']): - src += ['drv_gpio.c'] - -if GetDepend(['RT_USING_SERIAL']): - if GetDepend(['RT_USING_SERIAL_V2']): - src += ['drv_usart_v2.c'] - else: - src += ['drv_usart.c'] - -if GetDepend(['BSP_USING_TIM']): - src += ['drv_tim.c'] - -if GetDepend(['BSP_USING_PWM']): - src += ['drv_pwm.c', 'drv_tim.c'] - -if GetDepend(['RT_USING_SPI']): - src += ['drv_spi.c'] - -if GetDepend(['RT_USING_QSPI']): - src += ['drv_qspi.c'] - -if GetDepend('RT_USING_SPI_BITOPS'): - src += ['drv_soft_spi.c'] - -if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']): - if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'): - src += ['drv_soft_i2c.c'] - -if GetDepend(['BSP_USING_ETH', 'RT_USING_LWIP']): - src += ['drv_eth.c'] - -if GetDepend(['RT_USING_ADC']): - src += ['drv_adc.c'] - -if GetDepend(['RT_USING_DAC']): - src += ['drv_dac.c'] - -if GetDepend(['RT_USING_CAN']): - src += ['drv_can.c'] - -if GetDepend(['RT_USING_PM', 'SOC_SERIES_STM32L4']): - src += ['drv_pm.c'] - src += ['drv_lptim.c'] - -if GetDepend('BSP_USING_SDRAM'): - src += ['drv_sdram.c'] - -if GetDepend(['BSP_USING_NAND1']): - src += ['drv_nand.c'] - -if GetDepend('BSP_USING_LCD'): - src += ['drv_lcd.c'] - -if GetDepend('BSP_USING_LCD_MIPI'): - src += ['drv_lcd_mipi.c'] - -if GetDepend('BSP_USING_ONCHIP_RTC'): - src += ['drv_rtc.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32G0']): - src += ['drv_flash/drv_flash_g0.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F0']): - src += ['drv_flash/drv_flash_f0.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F1']): - src += ['drv_flash/drv_flash_f1.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F2']): - src += ['drv_flash/drv_flash_f2.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F4']): - src += ['drv_flash/drv_flash_f4.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F7']): - src += ['drv_flash/drv_flash_f7.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32L4']): - src += ['drv_flash/drv_flash_l4.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32H7']): - src += ['drv_flash/drv_flash_h7.c'] - -if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32WB']): - src += ['drv_flash/drv_flash_wb.c'] - -if GetDepend('RT_USING_HWCRYPTO'): - src += ['drv_crypto.c'] - -if GetDepend(['BSP_USING_WDT']): - src += ['drv_wdt.c'] - -if GetDepend(['BSP_USING_SDIO']): - if GetDepend('SOC_SERIES_STM32H7') or GetDepend('SOC_SERIES_STM32F7') or GetDepend('SOC_SERIES_STM32L4') or GetDepend('SOC_SERIES_STM32L5'): - src += ['drv_sdmmc.c'] - else: - src += ['drv_sdio.c'] - -if GetDepend(['BSP_USING_USBD']): - src += ['drv_usbd.c'] - -if GetDepend(['BSP_USING_PULSE_ENCODER']): - src += ['drv_pulse_encoder.c'] - -if GetDepend(['BSP_USING_USBH']): - src += ['drv_usbh.c'] - -src += ['drv_common.c'] - -path = [cwd] -path += [cwd + '/config'] +path = [cwd] if not GetDepend('PKG_CMSIS_CORE'): path += [cwd + '/CMSIS/Include'] -if GetDepend('BSP_USING_ON_CHIP_FLASH'): - path += [cwd + '/drv_flash'] +if not GetDepend(['RT_USING_NANO']): + src += ['drv_common.c'] + if GetDepend(['RT_USING_PIN']): + src += ['drv_gpio.c'] + + if GetDepend(['RT_USING_SERIAL']): + if GetDepend(['RT_USING_SERIAL_V2']): + src += ['drv_usart_v2.c'] + else: + src += ['drv_usart.c'] + + if GetDepend(['BSP_USING_TIM']): + src += ['drv_tim.c'] + + if GetDepend(['BSP_USING_PWM']): + src += ['drv_pwm.c', 'drv_tim.c'] + + if GetDepend(['RT_USING_SPI']): + src += ['drv_spi.c'] + + if GetDepend(['RT_USING_QSPI']): + src += ['drv_qspi.c'] + + if GetDepend('RT_USING_SPI_BITOPS'): + src += ['drv_soft_spi.c'] + + if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']): + if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'): + src += ['drv_soft_i2c.c'] + + if GetDepend(['BSP_USING_ETH', 'RT_USING_LWIP']): + src += ['drv_eth.c'] + + if GetDepend(['RT_USING_ADC']): + src += ['drv_adc.c'] + + if GetDepend(['RT_USING_DAC']): + src += ['drv_dac.c'] + + if GetDepend(['RT_USING_CAN']): + src += ['drv_can.c'] + + if GetDepend(['RT_USING_PM', 'SOC_SERIES_STM32L4']): + src += ['drv_pm.c'] + src += ['drv_lptim.c'] + + if GetDepend('BSP_USING_SDRAM'): + src += ['drv_sdram.c'] + + if GetDepend(['BSP_USING_NAND1']): + src += ['drv_nand.c'] + + if GetDepend('BSP_USING_LCD'): + src += ['drv_lcd.c'] + + if GetDepend('BSP_USING_LCD_MIPI'): + src += ['drv_lcd_mipi.c'] + + if GetDepend('BSP_USING_ONCHIP_RTC'): + src += ['drv_rtc.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32G0']): + src += ['drv_flash/drv_flash_g0.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F0']): + src += ['drv_flash/drv_flash_f0.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F1']): + src += ['drv_flash/drv_flash_f1.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F2']): + src += ['drv_flash/drv_flash_f2.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F4']): + src += ['drv_flash/drv_flash_f4.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F7']): + src += ['drv_flash/drv_flash_f7.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32L4']): + src += ['drv_flash/drv_flash_l4.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32H7']): + src += ['drv_flash/drv_flash_h7.c'] + + if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32WB']): + src += ['drv_flash/drv_flash_wb.c'] + + if GetDepend('RT_USING_HWCRYPTO'): + src += ['drv_crypto.c'] + + if GetDepend(['BSP_USING_WDT']): + src += ['drv_wdt.c'] + + if GetDepend(['BSP_USING_SDIO']): + if GetDepend('SOC_SERIES_STM32H7') or GetDepend('SOC_SERIES_STM32F7') or GetDepend('SOC_SERIES_STM32L4') or GetDepend('SOC_SERIES_STM32L5'): + src += ['drv_sdmmc.c'] + else: + src += ['drv_sdio.c'] + + if GetDepend(['BSP_USING_USBD']): + src += ['drv_usbd.c'] + + if GetDepend(['BSP_USING_PULSE_ENCODER']): + src += ['drv_pulse_encoder.c'] + + if GetDepend(['BSP_USING_USBH']): + src += ['drv_usbh.c'] + + path += [cwd + '/config'] + + if GetDepend('BSP_USING_ON_CHIP_FLASH'): + path += [cwd + '/drv_flash'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path) diff --git a/bsp/stm32/stm32f103-blue-pill/Kconfig b/bsp/stm32/stm32f103-blue-pill/Kconfig index 7a400db91f..5b7fab59c3 100644 --- a/bsp/stm32/stm32f103-blue-pill/Kconfig +++ b/bsp/stm32/stm32f103-blue-pill/Kconfig @@ -15,8 +15,17 @@ config PKGS_DIR option env="PKGS_ROOT" default "packages" +config SOC_STM32F103C8 + bool + select SOC_SERIES_STM32F1 + select RT_USING_COMPONENTS_INIT + select RT_USING_USER_MAIN + default y + source "$RTT_DIR/Kconfig" source "$PKGS_DIR/Kconfig" + +if !RT_USING_NANO source "../libraries/Kconfig" source "board/Kconfig" - +endif diff --git a/bsp/stm32/stm32f103-blue-pill/applications/main.c b/bsp/stm32/stm32f103-blue-pill/applications/main.c index 1fcf936a48..9f4d8cbd95 100644 --- a/bsp/stm32/stm32f103-blue-pill/applications/main.c +++ b/bsp/stm32/stm32f103-blue-pill/applications/main.c @@ -12,6 +12,7 @@ #include #include +#ifndef RT_USING_NANO /* defined the LED0 pin: PC13 */ #define LED0_PIN GET_PIN(C, 13) @@ -28,3 +29,12 @@ int main(void) rt_thread_mdelay(500); } } +#else +int main(void) +{ + while (1) + { + rt_thread_mdelay(500); + } +} +#endif diff --git a/bsp/stm32/stm32f103-blue-pill/board/Kconfig b/bsp/stm32/stm32f103-blue-pill/board/Kconfig index 424a306a33..ebb05969e9 100644 --- a/bsp/stm32/stm32f103-blue-pill/board/Kconfig +++ b/bsp/stm32/stm32f103-blue-pill/board/Kconfig @@ -1,12 +1,5 @@ menu "Hardware Drivers Config" -config SOC_STM32F103C8 - bool - select SOC_SERIES_STM32F1 - select RT_USING_COMPONENTS_INIT - select RT_USING_USER_MAIN - default y - menu "Onboard Peripheral Drivers" config BSP_USING_USB_TO_USART diff --git a/bsp/stm32/stm32f103-blue-pill/board/board.c b/bsp/stm32/stm32f103-blue-pill/board/board.c index 22f1cc14f7..53ddd078b6 100644 --- a/bsp/stm32/stm32f103-blue-pill/board/board.c +++ b/bsp/stm32/stm32f103-blue-pill/board/board.c @@ -51,3 +51,10 @@ void SystemClock_Config(void) Error_Handler(); } } + +#ifdef RT_USING_NANO +void rt_hw_board_init(void) +{ + +} +#endif diff --git a/bsp/stm32/stm32f103-blue-pill/board/board.h b/bsp/stm32/stm32f103-blue-pill/board/board.h index aaa6eeafc0..04f89988a7 100644 --- a/bsp/stm32/stm32f103-blue-pill/board/board.h +++ b/bsp/stm32/stm32f103-blue-pill/board/board.h @@ -13,8 +13,8 @@ #include #include -#include "drv_common.h" -#include "drv_gpio.h" +#include +#include #ifdef __cplusplus extern "C" {