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

This commit is contained in:
Meco Man 2023-11-30 11:02:50 +08:00 committed by guo
parent 005828eba7
commit 53aa771aa5
6 changed files with 144 additions and 126 deletions

View File

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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -51,3 +51,10 @@ void SystemClock_Config(void)
Error_Handler();
}
}
#ifdef RT_USING_NANO
void rt_hw_board_init(void)
{
}
#endif

View File

@ -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" {