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_PMIC']): src += Glob('ports/drv_pmic.c') if GetDepend(['BSP_USING_NAND']): src += Glob('ports/drv_nand.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'] 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.CROSS_TOOL == 'gcc': src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/gcc/startup_stm32mp15xx.s'] elif rtconfig.CROSS_TOOL == 'keil': src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s'] elif rtconfig.CROSS_TOOL == 'iar': src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/iar/startup_stm32mp15xx.s'] src = list(set(src)) 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')