You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.3 KiB
101 lines
3.3 KiB
5 months ago
|
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')
|