import os import rtconfig from building import * Import('SDK_LIB') cwd = GetCurrentDir() # add general drivers src = Split(''' board.c CubeMX_Config/Common/System/system_stm32mp1xx.c CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c ''') if GetDepend(['BSP_USING_SPI5']): src += Glob('ports/spi_sample.c') if GetDepend(['BSP_USING_RCC']): src += Glob('ports/drv_rcc.c') if GetDepend(['BSP_USING_EXTI']): src += Glob('ports/drv_exti.c') if GetDepend(['BSP_USING_PWR']): src += Glob('ports/drv_pwr.c') if GetDepend(['BSP_USING_WWDG']): src += Glob('ports/drv_wwdg.c') if GetDepend(['BSP_USING_LPTIM']): src += Glob('ports/drv_lptim.c') if GetDepend(['BSP_USING_TIM14']): src += Glob('ports/timer_sample.c') if GetDepend(['BSP_USING_PMIC']): src += Glob('ports/drv_pmic.c') if GetDepend(['BSP_USING_RS485']): src += Glob('ports/drv_rs485.c') if GetDepend(['BSP_USING_GBE']): src += Glob('ports/drv_eth.c') if GetDepend(['BSP_USING_SDMMC']): src += Glob('ports/drv_sdio.c') if GetDepend(['BSP_USING_AUDIO']): src += Glob('ports/audio/drv_cs42l51.c') src += Glob('ports/audio/drv_sound.c') src += Glob('ports/audio/audio_play.c') if GetDepend(['BSP_USING_AUDIO_RECORD']): src += Glob('ports/audio/drv_mic.c') if GetDepend(['(BSP_USING_RNG)']) or GetDepend(['(BSP_USING_HASH)']) or GetDepend(['(BSP_USING_CRC)']) or GetDepend(['BSP_USING_CRYP']): src += Glob('ports/crypto/crypto_sample.c') if GetDepend(['BSP_USING_OPENAMP']): src += Glob('CubeMX_Config/CM4/Src/ipcc.c') src += Glob('CubeMX_Config/CM4/Src/openamp.c') src += Glob('CubeMX_Config/CM4/Src/openamp_log.c') src += Glob('CubeMX_Config/CM4/Src/mbox_ipcc.c') src += Glob('CubeMX_Config/CM4/Src/rsc_table.c') src += Glob('ports/OpenAMP/libmetal/lib/*.c') src += Glob('ports/OpenAMP/libmetal/lib/system/generic/*.c') src += Glob('ports/OpenAMP/libmetal/lib/system/generic/cortexm/*.c') src += Glob('ports/OpenAMP/open-amp/lib/rpmsg/*.c') src += Glob('ports/OpenAMP/open-amp/lib/remoteproc/*.c') src += Glob('ports/OpenAMP/open-amp/lib/virtio/*.c') src += Glob('ports/OpenAMP/virtual_driver/*.c') src += Glob('ports/OpenAMP/drv_openamp.c') path = [cwd] path += [cwd + '/CubeMX_Config/CM4/Inc'] path += [cwd + '/ports'] path += [cwd + '/ports/audio'] if GetDepend(['BSP_USING_OPENAMP']): path += [cwd + '/ports/OpenAMP'] path += [cwd + '/ports/OpenAMP/open-amp/lib/include'] path += [cwd + '/ports/OpenAMP/libmetal/lib/include'] path += [cwd + '/ports/OpenAMP/virtual_driver'] path += [cwd + '/CubeMX_Config/CM4/Inc'] startup_path_prefix = SDK_LIB if rtconfig.PLATFORM in ['gcc']: src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/gcc/startup_stm32mp15xx.s'] elif rtconfig.PLATFORM in ['armcc', 'armclang']: src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s'] elif rtconfig.PLATFORM in ['iccarm']: src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/iar/startup_stm32mp15xx.s'] CPPDEFINES = ['CORE_CM4','NO_ATOMIC_64_SUPPORT','METAL_INTERNAL','METAL_MAX_DEVICE_REGIONS=2','VIRTIO_SLAVE_ONLY','STM32MP157Axx','__LOG_TRACE_IO_'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) Return('group')