import os import rtconfig from building import * Import('SDK_LIB') cwd = GetCurrentDir() # add general drivers src = Split(''' board.c CubeMX_Config/Src/stm32f4xx_hal_msp.c ''') path = [cwd] path += [cwd + '/CubeMX_Config/Inc'] path += [cwd + '/ports'] if GetDepend(['BSP_USING_ETH']): src += Glob('ports/phy_reset.c') if GetDepend(['BSP_USING_SOFT_SPI_FLASH']): src += Glob('ports/soft_spi_flash_init.c') if GetDepend(['BSP_USING_SPI_FLASH']): src += Glob('ports/spi_flash_init.c') if GetDepend(['BSP_USING_FS']): src += Glob('ports/drv_filesystem.c') if GetDepend(['BSP_USING_SPI_FLASH_LITTLEFS']): src += Glob('ports/fal/fal_spi_flash_sfud_port.c') path += [cwd + '/ports/fal'] if GetDepend(['BSP_USING_SRAM']): src += Glob('ports/drv_sram.c') if GetDepend(['BSP_USING_ONBOARD_LCD']): src += Glob('ports/drv_lcd.c') if GetDepend(['BSP_USING_TOUCH_CAP']): src += Glob('ports/touch/drv_touch_ft.c') src += Glob('ports/touch/drv_touch.c') path += [cwd + '/ports/touch'] if GetDepend(['BSP_USING_TOUCH_RES']): src += Glob('ports/touch/drv_touch_xpt.c') src += Glob('ports/touch/drv_xpt2046_init.c') path += [cwd + '/ports/touch'] startup_path_prefix = SDK_LIB if rtconfig.PLATFORM in ['gcc']: src += [startup_path_prefix + '/STM32F4xx_HAL/CMSIS/Device/ST/STM32F4xx/Source/Templates/gcc/startup_stm32f407xx.s'] elif rtconfig.PLATFORM in ['armcc', 'armclang']: src += [startup_path_prefix + '/STM32F4xx_HAL/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f407xx.s'] elif rtconfig.PLATFORM in ['iccarm']: src += [startup_path_prefix + '/STM32F4xx_HAL/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f407xx.s'] CPPDEFINES = ['STM32F407xx'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) Return('group')