Przeglądaj źródła

[stm32][nano] stm32f103-bluepill support nano version

Meco Man 1 rok temu
rodzic
commit
53aa771aa5

+ 83 - 84
bsp/stm32/libraries/HAL_Drivers/SConscript

@@ -3,127 +3,126 @@ Import('rtconfig')
 from building import *
 
 cwd = GetCurrentDir()
-
-# add the general drivers.
+group = []
 src = []
+path = [cwd]
 
-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 not GetDepend('PKG_CMSIS_CORE'):
+    path += [cwd + '/CMSIS/Include']
 
-if GetDepend(['BSP_USING_TIM']):
-    src += ['drv_tim.c']
+if not GetDepend(['RT_USING_NANO']):
+    src += ['drv_common.c']
+    if GetDepend(['RT_USING_PIN']):
+        src += ['drv_gpio.c']
 
-if GetDepend(['BSP_USING_PWM']):
-    src += ['drv_pwm.c', 'drv_tim.c']
+    if GetDepend(['RT_USING_SERIAL']):
+        if GetDepend(['RT_USING_SERIAL_V2']):
+            src += ['drv_usart_v2.c']
+        else:
+            src += ['drv_usart.c']
 
-if GetDepend(['RT_USING_SPI']):
-    src += ['drv_spi.c']
+    if GetDepend(['BSP_USING_TIM']):
+        src += ['drv_tim.c']
 
-if GetDepend(['RT_USING_QSPI']):
-    src += ['drv_qspi.c']
+    if GetDepend(['BSP_USING_PWM']):
+        src += ['drv_pwm.c', 'drv_tim.c']
 
-if GetDepend('RT_USING_SPI_BITOPS'):
-    src += ['drv_soft_spi.c']
+    if GetDepend(['RT_USING_SPI']):
+        src += ['drv_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(['RT_USING_QSPI']):
+        src += ['drv_qspi.c']
 
-if GetDepend(['BSP_USING_ETH', 'RT_USING_LWIP']):
-    src += ['drv_eth.c']
+    if GetDepend('RT_USING_SPI_BITOPS'):
+        src += ['drv_soft_spi.c']
 
-if GetDepend(['RT_USING_ADC']):
-    src += ['drv_adc.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(['RT_USING_DAC']):
-    src += ['drv_dac.c']
+    if GetDepend(['BSP_USING_ETH', 'RT_USING_LWIP']):
+        src += ['drv_eth.c']
 
-if GetDepend(['RT_USING_CAN']):
-    src += ['drv_can.c']
+    if GetDepend(['RT_USING_ADC']):
+        src += ['drv_adc.c']
 
-if GetDepend(['RT_USING_PM', 'SOC_SERIES_STM32L4']):
-    src += ['drv_pm.c']
-    src += ['drv_lptim.c']
+    if GetDepend(['RT_USING_DAC']):
+        src += ['drv_dac.c']
 
-if GetDepend('BSP_USING_SDRAM'):
-    src += ['drv_sdram.c']
+    if GetDepend(['RT_USING_CAN']):
+        src += ['drv_can.c']
 
-if GetDepend(['BSP_USING_NAND1']):
-    src += ['drv_nand.c']
+    if GetDepend(['RT_USING_PM', 'SOC_SERIES_STM32L4']):
+        src += ['drv_pm.c']
+        src += ['drv_lptim.c']
 
-if GetDepend('BSP_USING_LCD'):
-    src += ['drv_lcd.c']
+    if GetDepend('BSP_USING_SDRAM'):
+        src += ['drv_sdram.c']
 
-if GetDepend('BSP_USING_LCD_MIPI'):
-    src += ['drv_lcd_mipi.c']
+    if GetDepend(['BSP_USING_NAND1']):
+        src += ['drv_nand.c']
 
-if GetDepend('BSP_USING_ONCHIP_RTC'):
-    src += ['drv_rtc.c']
+    if GetDepend('BSP_USING_LCD'):
+        src += ['drv_lcd.c']
 
-if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32G0']):
-    src += ['drv_flash/drv_flash_g0.c']
+    if GetDepend('BSP_USING_LCD_MIPI'):
+        src += ['drv_lcd_mipi.c']
 
-if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F0']):
-    src += ['drv_flash/drv_flash_f0.c']
+    if GetDepend('BSP_USING_ONCHIP_RTC'):
+        src += ['drv_rtc.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_STM32G0']):
+        src += ['drv_flash/drv_flash_g0.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_STM32F0']):
+        src += ['drv_flash/drv_flash_f0.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_STM32F1']):
+        src += ['drv_flash/drv_flash_f1.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_STM32F2']):
+        src += ['drv_flash/drv_flash_f2.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_STM32F4']):
+        src += ['drv_flash/drv_flash_f4.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_STM32F7']):
+        src += ['drv_flash/drv_flash_f7.c']
 
-if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32WB']):
-    src += ['drv_flash/drv_flash_wb.c']
+    if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32L4']):
+        src += ['drv_flash/drv_flash_l4.c']
 
-if GetDepend('RT_USING_HWCRYPTO'):
-    src += ['drv_crypto.c']
+    if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32H7']):
+        src += ['drv_flash/drv_flash_h7.c']
 
-if GetDepend(['BSP_USING_WDT']):
-    src += ['drv_wdt.c']
+    if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32WB']):
+        src += ['drv_flash/drv_flash_wb.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('RT_USING_HWCRYPTO'):
+        src += ['drv_crypto.c']
 
-if GetDepend(['BSP_USING_USBD']):
-    src += ['drv_usbd.c']
+    if GetDepend(['BSP_USING_WDT']):
+        src += ['drv_wdt.c']
 
-if GetDepend(['BSP_USING_PULSE_ENCODER']):
-    src += ['drv_pulse_encoder.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_USBH']):
-    src += ['drv_usbh.c']
+    if GetDepend(['BSP_USING_USBD']):
+        src += ['drv_usbd.c']
 
-src += ['drv_common.c']
+    if GetDepend(['BSP_USING_PULSE_ENCODER']):
+        src += ['drv_pulse_encoder.c']
 
-path =  [cwd]
-path += [cwd + '/config']
+    if GetDepend(['BSP_USING_USBH']):
+        src += ['drv_usbh.c']
 
-if not GetDepend('PKG_CMSIS_CORE'):
-    path += [cwd + '/CMSIS/Include']
+    path += [cwd + '/config']
 
-if GetDepend('BSP_USING_ON_CHIP_FLASH'):
-    path += [cwd + '/drv_flash']
+    if GetDepend('BSP_USING_ON_CHIP_FLASH'):
+        path += [cwd + '/drv_flash']
 
 group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
 

+ 10 - 1
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

+ 10 - 0
bsp/stm32/stm32f103-blue-pill/applications/main.c

@@ -12,6 +12,7 @@
 #include <rtdevice.h>
 #include <board.h>
 
+#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

+ 0 - 7
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

+ 7 - 0
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

+ 2 - 2
bsp/stm32/stm32f103-blue-pill/board/board.h

@@ -13,8 +13,8 @@
 
 #include <rtthread.h>
 #include <stm32f1xx.h>
-#include "drv_common.h"
-#include "drv_gpio.h"
+#include <drv_common.h>
+#include <drv_gpio.h>
 
 #ifdef __cplusplus
 extern "C" {