import os from building import * objs = [] cwd = GetCurrentDir() PORT_DRV_DIR = cwd + '/drivers' DRIVERS_EXAMPLE_DIR = cwd + '/drivers_example' PHYTIUM_SDK_DIR = cwd + '/phytium_standalone_sdk' SYSTEM_EXAMPLE_DIR = cwd + '/system_example' COMMON_DIR = cwd + '/common' # common source src = Glob(PHYTIUM_SDK_DIR+'/common/fassert.c') path = [PHYTIUM_SDK_DIR + '/common/'] src += Glob(COMMON_DIR+'/*.c') path += [COMMON_DIR ] # arch port path += [PHYTIUM_SDK_DIR + '/arch/armv8/gcc'] if GetDepend(['TARGET_ARMV8_AARCH32']): src += Glob(PHYTIUM_SDK_DIR+'/arch/armv8/aarch32/fsmcc.c') + Glob(PHYTIUM_SDK_DIR+'/arch/armv8/aarch32/gcc/fcpu_asm.S') path += [PHYTIUM_SDK_DIR + '/arch/armv8/aarch32'] elif GetDepend(['TARGET_ARMV8_AARCH64']): src += Glob(PHYTIUM_SDK_DIR+'/arch/armv8/aarch64/fsmcc.c') + Glob(PHYTIUM_SDK_DIR+'/arch/armv8/aarch64/gcc/fcpu_asm.S') path += [PHYTIUM_SDK_DIR + '/arch/armv8/aarch64'] # soc & soc_port src += Glob(PHYTIUM_SDK_DIR+'/soc/common/fcpu_info.c') path += [PHYTIUM_SDK_DIR + '/soc/common'] if GetDepend(['TARGET_PE2204']): src += Glob(cwd+'/port/soc_port/pe220x/*.c') + Glob(cwd+'/port/soc_port/pe220x/pe2204/*.c') path += [PHYTIUM_SDK_DIR + '/soc/pe220x'] + [PHYTIUM_SDK_DIR + '/soc/pe220x/pe2204'] if GetDepend(['TARGET_PE2202']): src += Glob(cwd+'/port/soc_port/pe220x/*.c') + Glob(cwd+'/port/soc_port/pe220x/pe2202/*.c') path += [PHYTIUM_SDK_DIR + '/soc/pe220x'] + [PHYTIUM_SDK_DIR + '/soc/pe220x/pe2202'] if GetDepend(['TARGET_PD2408']): src += Glob(cwd+'/port/soc_port/pd2408/*.c') path += [PHYTIUM_SDK_DIR + '/soc/pd2408'] # board port if GetDepend(['E2000D_DEMO_BOARD']): path += cwd + '/fboard_port/e2000d_demo' if GetDepend(['E2000Q_DEMO_BOARD']): path += cwd + '/fboard_port/e2000q_demo' if GetDepend(['PHYTIUMPI_FIREFLY_BOARD']): path += cwd + '/fboard_port/firefly' if GetDepend(['BSP_USING_SDCARD_FATFS']): if GetDepend(['E2000D_DEMO_BOARD']): src += Glob(cwd + '/port/fboard_port/e2000d_demo/mnt_sdcard.c') if GetDepend(['E2000Q_DEMO_BOARD']): src += Glob(cwd + '/port/fboard_port/e2000q_demo/mnt_sdcard.c') if GetDepend(['PHYTIUMPI_FIREFLY_BOARD']): src += Glob(cwd + '/port/fboard_port/firefly/mnt_sdcard.c') if GetDepend(['PD2408_TEST_A_BOARD']): src += Glob(cwd + '/port/fboard_port/pd2408_test_a/mnt_sdcard.c') else: src += Glob(cwd + '/port/fboard_port/mnt_ramdisk.c') # driver path += [PORT_DRV_DIR] ## spim if GetDepend(['BSP_USING_SPI']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/spi/fspim/*.c') + Glob(PORT_DRV_DIR+'/drv_spi.c') path += [PHYTIUM_SDK_DIR + '/drivers/spi/fspim'] ## spim msg if GetDepend(['BSP_USING_SPI_MSG']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/spi/fspim_v2_0/*.c') + Glob(PORT_DRV_DIR+'/drv_spi_msg.c') path += [PHYTIUM_SDK_DIR + '/drivers/spi/fspim_v2_0'] + [PHYTIUM_SDK_DIR + '/drivers/msg'] ## serial if GetDepend(['BSP_USING_UART']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/serial/fpl011/*.c') + Glob(PORT_DRV_DIR+'/drv_usart.c') path += [PHYTIUM_SDK_DIR + '/drivers/serial/fpl011'] ## serial_v2 if GetDepend(['BSP_USING_UART_MSG']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/serial/fpl011/*.c') src += Glob(PHYTIUM_SDK_DIR+'/drivers/serial/fserial_v2_0/*.c') + Glob(PORT_DRV_DIR+'/drv_usart_msg.c') path += [PHYTIUM_SDK_DIR + '/drivers/serial/fpl011'] path += [PHYTIUM_SDK_DIR + '/drivers/serial/fserial_v2_0'] + [PHYTIUM_SDK_DIR + '/drivers/msg/'] ## can if GetDepend(['BSP_USING_CAN']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/can/fcan/*.c') + Glob(PORT_DRV_DIR+'/drv_can.c') path += [PHYTIUM_SDK_DIR + '/drivers/can/fcan/'] ## qspi if GetDepend(['BSP_USING_QSPI']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/qspi/fqspi/*.c') + Glob(PORT_DRV_DIR+'/drv_qspi.c') path += [PHYTIUM_SDK_DIR + '/drivers/qspi/fqspi/'] ## eth if GetDepend(['BSP_USING_ETH']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/eth/fxmac/*.c') + Glob(PORT_DRV_DIR+'/drv_xmac.c') path += [PHYTIUM_SDK_DIR + '/drivers/eth/fxmac/'] + [PHYTIUM_SDK_DIR + '/drivers/eth/fxmac/phy/'] ## eth_v2 if GetDepend(['BSP_USING_ETH_MSG']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/eth/fxmac_v2_0/*.c') + Glob(PORT_DRV_DIR+'/drv_xmac_msg.c') path += [PHYTIUM_SDK_DIR + '/drivers/eth/fxmac_v2_0/'] + [PHYTIUM_SDK_DIR + '/drivers/msg'] ## sdif if GetDepend(['BSP_USING_SDIF']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/mmc/fsdif/*.c') + Glob(PORT_DRV_DIR+'/drv_sdif.c') path += [PHYTIUM_SDK_DIR + '/drivers/mmc/fsdif/'] ## sdif_msg if GetDepend(['BSP_USING_SDIF_MSG']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/mmc/fsdif_v2_0/*.c') + Glob(PORT_DRV_DIR+'/drv_sdif_msg.c') path += [PHYTIUM_SDK_DIR + '/drivers/mmc/fsdif_v2_0/'] + [PHYTIUM_SDK_DIR + '/drivers/msg/'] ## gpio if GetDepend(['BSP_USING_GPIO']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/pin/fgpio/*.c') + Glob(PORT_DRV_DIR+'/drv_gpio.c') path += [PHYTIUM_SDK_DIR + '/drivers/pin/fgpio/'] if GetDepend(['TARGET_PE220X']): src += Glob(PHYTIUM_SDK_DIR+'/soc/pe220x/fgpio_table.c') if GetDepend(['TARGET_PD2408']): src += Glob(PHYTIUM_SDK_DIR+'/soc/pd2408/fgpio_table.c') ## i2s if GetDepend(['BSP_USING_I2S']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2s/fi2s/*.c') \ + Glob(PHYTIUM_SDK_DIR+'/drivers/dma/fddma/*.c') \ + Glob(PORT_DRV_DIR+'/drv_i2s.c') path += [PHYTIUM_SDK_DIR + '/drivers/i2s/fi2s/'] \ + [PHYTIUM_SDK_DIR + '/drivers/dma/fddma/'] ## i2s if GetDepend(['BSP_USING_I2S_MSG']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2s/fi2s_v2/*.c') \ + Glob(PHYTIUM_SDK_DIR+'/drivers/dma/fddma/*.c') \ + Glob(PORT_DRV_DIR+'/drv_i2s_msg.c') path += [PHYTIUM_SDK_DIR + '/drivers/i2s/fi2s_v2/'] \ + [PHYTIUM_SDK_DIR + '/drivers/dma/fddma/'] ## pwm if GetDepend(['BSP_USING_ES8336']): src += Glob(PORT_DRV_DIR+'/drv_es8336.c') ## pwm if GetDepend(['BSP_USING_PWM']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/pwm/fpwm/*.c') + Glob(PORT_DRV_DIR+'/drv_pwm.c') path += [PHYTIUM_SDK_DIR + '/drivers/pwm/fpwm/'] ## i2c if GetDepend(['BSP_USING_I2C']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2c/fi2c/*.c') + Glob(PORT_DRV_DIR+'/drv_i2c.c') path += [PHYTIUM_SDK_DIR + '/drivers/i2c/fi2c/'] ## i2c msg if GetDepend(['BSP_USING_I2C_MSG']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/i2c/fi2c_v2_0/*.c') + Glob(PORT_DRV_DIR+'/drv_i2c_msg.c') path += [PHYTIUM_SDK_DIR + '/drivers/i2c/fi2c_v2_0/'] + [PHYTIUM_SDK_DIR + '/drivers/msg/'] # fdriver dc if GetDepend(['BSP_USING_DC']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/media/fdcdp/*.c') + Glob(PORT_DRV_DIR+'/drv_dc.c') path += [PHYTIUM_SDK_DIR + '/drivers/media/fdcdp/'] ## iopad if GetDepend(['BSP_USING_IOPAD']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/iomux/fiopad/*.c') path += [PHYTIUM_SDK_DIR + '/drivers/iomux/fiopad/'] ## mio if GetDepend(['I2C_USE_MIO']): src += Glob(PHYTIUM_SDK_DIR+'/drivers/mio/fmio/*.c') path += [PHYTIUM_SDK_DIR + '/drivers/mio/fmio/'] ## drivers_example if GetDepend(['BSP_USING_DRIVERS_EXAMPLE']): src += Glob(DRIVERS_EXAMPLE_DIR+'/*.c') path += [DRIVERS_EXAMPLE_DIR] ## board if GetDepend(['E2000D_DEMO_BOARD']): src += Glob(PHYTIUM_SDK_DIR+'/board/e2000d_demo/fio_mux.c') path += [PHYTIUM_SDK_DIR + '/board/e2000d_demo/'] if GetDepend(['BSP_USING_SDIF_LAYER']): src += Glob(PHYTIUM_SDK_DIR+'/board/e2000d_demo/fsdif_timing.c') if GetDepend(['E2000Q_DEMO_BOARD']): src += Glob(PHYTIUM_SDK_DIR+'/board/e2000q_demo/fio_mux.c') path += [PHYTIUM_SDK_DIR + '/board/e2000q_demo/'] if GetDepend(['BSP_USING_SDIF_LAYER']): src += Glob(PHYTIUM_SDK_DIR+'/board/e2000q_demo/fsdif_timing.c') if GetDepend(['PD2408_TEST_A_BOARD']): src += Glob(PHYTIUM_SDK_DIR+'/board/pd2408_test_a/fio_mux.c') path += [PHYTIUM_SDK_DIR + '/board/pd2408_test_a/'] if GetDepend(['BSP_USING_SDIF_LAYER']): src += Glob(PHYTIUM_SDK_DIR+'/board/pd2408_test_a/fsdif_timing.c') if GetDepend(['PD2408_TEST_B_BOARD']): src += Glob(PHYTIUM_SDK_DIR+'/board/pd2408_test_b/fio_mux.c') path += [PHYTIUM_SDK_DIR + '/board/pd2408_test_b/'] if GetDepend(['BSP_USING_SDIF_LAYER']): src += Glob(PHYTIUM_SDK_DIR+'/board/pd2408_test_b/fsdif_timing.c') if GetDepend(['PHYTIUMPI_FIREFLY_BOARD']): src += Glob(PHYTIUM_SDK_DIR+'/board/phytiumpi_firefly/fio_mux.c') path += [PHYTIUM_SDK_DIR + '/board/phytiumpi_firefly/'] if GetDepend(['BSP_USING_SDIF_LAYER']): src += Glob(PHYTIUM_SDK_DIR+'/board/phytiumpi_firefly/fsdif_timing.c') ## third-party if GetDepend(['USE_OPENAMP']): ## libmetal src += Glob(PHYTIUM_SDK_DIR+'/third-party/libmetal/metal/*.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/libmetal/metal/system/generic/*.c') ## libmetal port src += Glob(cwd + '/port/libmetal_port/*.c') path += [PHYTIUM_SDK_DIR + '/third-party/libmetal/'] path += [PHYTIUM_SDK_DIR + '/third-party/libmetal/compiler/gcc/'] path += [PHYTIUM_SDK_DIR + '/third-party/libmetal/processor/aarch64/'] path += [cwd + '/port/libmetal_port/'] ## openamp path += [PHYTIUM_SDK_DIR + '/third-party/openamp/lib'] path += [PHYTIUM_SDK_DIR + '/third-party/openamp/lib/include'] path += [PHYTIUM_SDK_DIR + '/third-party/openamp/lib/include/openamp'] path += [PHYTIUM_SDK_DIR + '/third-party/openamp/lib/rpmsg'] path += [PHYTIUM_SDK_DIR + '/third-party/openamp/lib/remoteproc'] path += [PHYTIUM_SDK_DIR + '/third-party/openamp/ports'] path += [PHYTIUM_SDK_DIR + '/third-party/openamp/lib/service/rpmsg/rpc'] path += [PHYTIUM_SDK_DIR + '/third-party/openamp/lib/virtio'] # openamp port src += Glob(cwd + '/port/openamp_port/machine/phytium/*.c') src += Glob(cwd + '/port/openamp_port/system/generic/machine/phytium/*.c') path += [cwd + '/port/openamp_port/include'] path += [cwd + '/port/openamp_port/machine/phytium'] path += [cwd + '/port/openamp_port/system/generic/machine/phytium'] src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/lib/rpmsg/*.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/lib/version.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/lib/proxy/*.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/lib/remoteproc/*.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/lib/virtio/*.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/lib/services/rpmsg/rpc/*.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/lib/utils/*.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/ports/load_fw.c') src += Glob(PHYTIUM_SDK_DIR+'/third-party/openamp/ports/mem_image_store.c') # system_example if GetDepend(['BSP_USING_SYSTEM_EXAMPLE']): if GetDepend(['BSP_USING_OPENAMP_EXAMPLE']): src += Glob(SYSTEM_EXAMPLE_DIR+'/openamp/*.c') path += [SYSTEM_EXAMPLE_DIR+'/openamp/'] LIBS = [] LIBPATH = [] ## fdriver port src += Glob(cwd+'/port/fdriver_port/*.c') path += [cwd + '/port/fdriver_port'] ## fboard port path += [cwd + '/port/fboard_port'] ## lwip port src += Glob(cwd+'/port/lwip_port/*.c') path += [cwd + '/port/lwip_port'] ## cherryusb port src += Glob(cwd + '/port/cherryusb_port/*.c') # phytium ports rt-thread examples PORT_DRV_DIR = cwd + '/examples' src += Glob(PORT_DRV_DIR + '/*.c') # sdkcomfig.h path += [cwd] # add group ASFLAGS = '' group = DefineGroup('FT_DRIVER', src, depend=[ ''],LIBS = LIBS,LIBPATH=LIBPATH, CPPPATH=path, ASFLAGS = ASFLAGS) Return('group')