SConscript 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. Import('RTT_ROOT')
  2. Import('rtconfig')
  3. from building import *
  4. import os
  5. cwd = GetCurrentDir()
  6. group = []
  7. src = []
  8. # DMA-capable BSPs are expected to enable HAL_DMA_MODULE_ENABLED in the
  9. # STM32 HAL configuration, so keep the common DMA helper in the build.
  10. src += ['drv_dma.c']
  11. path = [cwd]
  12. if GetDepend(['RT_USING_PIN']):
  13. src += ['drv_gpio.c']
  14. if GetDepend(['RT_USING_SERIAL']):
  15. if GetDepend(['RT_USING_SERIAL_V2']):
  16. src += ['drv_usart_v2.c']
  17. else:
  18. src += ['drv_usart.c']
  19. if GetDepend(['BSP_USING_TIM']):
  20. src += ['drv_tim.c']
  21. if GetDepend(['BSP_USING_PWM']):
  22. src += ['drv_pwm.c', 'drv_tim.c']
  23. if GetDepend(['RT_USING_SPI']):
  24. src += ['drv_spi.c']
  25. if GetDepend(['RT_USING_QSPI']):
  26. src += ['drv_qspi.c']
  27. if GetDepend('RT_USING_SOFT_SPI'):
  28. src += ['drv_soft_spi.c']
  29. if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']):
  30. if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'):
  31. src += ['drv_soft_i2c.c']
  32. if GetDepend(['RT_USING_I2C']):
  33. if GetDepend('BSP_USING_HARD_I2C1') or GetDepend('BSP_USING_HARD_I2C2') or GetDepend('BSP_USING_HARD_I2C3') or GetDepend('BSP_USING_HARD_I2C4'):
  34. src += ['drv_hard_i2c.c']
  35. if GetDepend(['BSP_USING_ETH', 'RT_USING_LWIP']) and not GetDepend(['SOC_STM32H750_ARTPI']):
  36. src += ['drv_eth.c']
  37. if GetDepend(['RT_USING_ADC']):
  38. src += ['drv_adc.c']
  39. if GetDepend(['RT_USING_DAC']):
  40. src += ['drv_dac.c']
  41. if GetDepend(['RT_USING_CAN']):
  42. if GetDepend(['SOC_SERIES_STM32H7']):
  43. src += ['drv_fdcan.c']
  44. else:
  45. src += ['drv_can.c']
  46. if GetDepend(['RT_USING_PM']):
  47. src += ['drv_pm.c']
  48. if GetDepend(['BSP_USING_LPTIM']):
  49. src += ['drv_lptim.c']
  50. if GetDepend('BSP_USING_SDRAM'):
  51. src += ['drv_sdram.c']
  52. if GetDepend(['BSP_USING_NAND1']):
  53. src += ['drv_nand.c']
  54. if GetDepend('BSP_USING_LCD'):
  55. src += ['drv_lcd.c']
  56. if GetDepend('BSP_USING_LCD_MIPI'):
  57. src += ['drv_lcd_mipi.c']
  58. if GetDepend('BSP_USING_ONCHIP_RTC'):
  59. src += ['drv_rtc.c']
  60. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32G0']):
  61. src += [os.path.join('drv_flash', 'drv_flash_g0.c')]
  62. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F0']):
  63. src += [os.path.join('drv_flash', 'drv_flash_f0.c')]
  64. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F1']):
  65. src += [os.path.join('drv_flash', 'drv_flash_f1.c')]
  66. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F2']):
  67. src += [os.path.join('drv_flash', 'drv_flash_f2.c')]
  68. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F4']):
  69. src += [os.path.join('drv_flash', 'drv_flash_f4.c')]
  70. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32F7']):
  71. src += [os.path.join('drv_flash', 'drv_flash_f7.c')]
  72. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32L1']):
  73. src += [os.path.join('drv_flash', 'drv_flash_l1.c')]
  74. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32L4']):
  75. src += [os.path.join('drv_flash', 'drv_flash_l4.c')]
  76. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32H7']):
  77. src += [os.path.join('drv_flash', 'drv_flash_h7.c')]
  78. if GetDepend(['BSP_USING_ON_CHIP_FLASH', 'SOC_SERIES_STM32WB']):
  79. src += [os.path.join('drv_flash', 'drv_flash_wb.c')]
  80. if GetDepend('RT_USING_HWCRYPTO'):
  81. src += ['drv_crypto.c']
  82. if GetDepend(['BSP_USING_WDT']):
  83. src += ['drv_wdt.c']
  84. if GetDepend(['BSP_USING_SDIO']):
  85. if GetDepend('SOC_SERIES_STM32H7RS') or GetDepend('SOC_SERIES_STM32H7') or GetDepend('SOC_SERIES_STM32F7') or GetDepend('SOC_SERIES_STM32L4') or GetDepend('SOC_SERIES_STM32L5'):
  86. src += ['drv_sdmmc.c']
  87. else:
  88. src += ['drv_sdio.c']
  89. if GetDepend(['BSP_USING_USBD']):
  90. src += ['drv_usbd.c']
  91. if GetDepend(['BSP_USING_PULSE_ENCODER']):
  92. src += ['drv_pulse_encoder.c']
  93. if GetDepend(['BSP_USING_USBH']):
  94. src += ['drv_usbh.c']
  95. path += [os.path.join(cwd, 'config')]
  96. if GetDepend('BSP_USING_ON_CHIP_FLASH'):
  97. path += [os.path.join(cwd, 'drv_flash')]
  98. group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
  99. Return('group')