SConscript 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import os
  2. import rtconfig
  3. from building import *
  4. Import('SDK_LIB')
  5. cwd = GetCurrentDir()
  6. # add general drivers
  7. src = Split('''
  8. board.c
  9. CubeMX_Config/Common/System/system_stm32mp1xx.c
  10. CubeMX_Config/CM4/Src/stm32mp1xx_hal_msp.c
  11. ''')
  12. if GetDepend(['BSP_USING_SPI1']):
  13. src += Glob('ports/spi_sample.c')
  14. if GetDepend(['BSP_USING_PMIC']):
  15. src += Glob('ports/drv_pmic.c')
  16. if GetDepend(['BSP_USING_NAND']):
  17. src += Glob('ports/drv_nand.c')
  18. if GetDepend(['BSP_USING_GBE']):
  19. src += Glob('ports/eth/drv_eth.c')
  20. if GetDepend(['BSP_USING_SDCARD']):
  21. src += Glob('ports/drv_sdcard.c')
  22. if GetDepend(['BSP_USING_EMMC']):
  23. src += Glob('ports/drv_emmc.c')
  24. if GetDepend(['BSP_USING_AUDIO']):
  25. src += Glob('ports/drv_wm8994.c')
  26. src += Glob('ports/drv_sound.c')
  27. if GetDepend(['BSP_USING_DCMI']):
  28. src += Glob('ports/drv_dcmi.c')
  29. src += Glob('ports/drv_ov5640.c')
  30. if GetDepend(['BSP_USING_MFX']):
  31. src += Glob('ports/drv_mfx.c')
  32. src += Glob('ports/mfxstm32l152.c')
  33. if GetDepend(['BSP_USING_FDCAN']):
  34. src += Glob('ports/drv_fdcan.c')
  35. if GetDepend(['BSP_USING_QSPI']):
  36. src += Glob('ports/drv_qspi_flash.c')
  37. if GetDepend(['BSP_USING_SPDIFRX']):
  38. src += Glob('ports/drv_spdifrx.c')
  39. if GetDepend(['BSP_USING_DFSDM']):
  40. src += Glob('ports/drv_dfsdm.c')
  41. if GetDepend(['BSP_USING_WWDG']):
  42. src += Glob('ports/drv_wwdg.c')
  43. if GetDepend(['BSP_USING_EXTI']):
  44. src += Glob('ports/drv_exti.c')
  45. if GetDepend(['BSP_USING_RNG']) or GetDepend(['BSP_USING_HASH']) or GetDepend(['BSP_USING_CRC']) or GetDepend(['BSP_USING_CRYP']):
  46. src += Glob('ports/crypto_sample.c')
  47. if GetDepend(['BSP_USING_PWR']):
  48. src += Glob('ports/drv_pwr.c')
  49. if GetDepend(['BSP_USING_LPTIM1']):
  50. src += Glob('ports/drv_lptim.c')
  51. if GetDepend(['BSP_USING_RS485']):
  52. src += Glob('ports/drv_rs485.c')
  53. if GetDepend(['BSP_USING_TIM14']):
  54. src += Glob('ports/timer_sample.c')
  55. if GetDepend(['BSP_USING_DMA']):
  56. src += Glob('ports/dma_sample.c')
  57. if GetDepend(['BSP_USING_OPENAMP']):
  58. src += Glob('CubeMX_Config/CM4/Src/ipcc.c')
  59. src += Glob('CubeMX_Config/CM4/Src/openamp.c')
  60. src += Glob('CubeMX_Config/CM4/Src/openamp_log.c')
  61. src += Glob('CubeMX_Config/CM4/Src/mbox_ipcc.c')
  62. src += Glob('CubeMX_Config/CM4/Src/rsc_table.c')
  63. src += Glob('ports/OpenAMP/libmetal/lib/*.c')
  64. src += Glob('ports/OpenAMP/libmetal/lib/system/generic/*.c')
  65. src += Glob('ports/OpenAMP/libmetal/lib/system/generic/cortexm/*.c')
  66. src += Glob('ports/OpenAMP/open-amp/lib/rpmsg/*.c')
  67. src += Glob('ports/OpenAMP/open-amp/lib/remoteproc/*.c')
  68. src += Glob('ports/OpenAMP/open-amp/lib/virtio/*.c')
  69. src += Glob('ports/OpenAMP/virtual_driver/*.c')
  70. src += Glob('ports/OpenAMP/drv_openamp.c')
  71. path = [cwd]
  72. path += [cwd + '/CubeMX_Config/CM4/Inc']
  73. path += [cwd + '/ports']
  74. if GetDepend(['BSP_USING_OPENAMP']):
  75. path += [cwd + '/ports/OpenAMP']
  76. path += [cwd + '/ports/OpenAMP/open-amp/lib/include']
  77. path += [cwd + '/ports/OpenAMP/libmetal/lib/include']
  78. path += [cwd + '/ports/OpenAMP/virtual_driver']
  79. path += [cwd + '/CubeMX_Config/CM4/Inc']
  80. if GetDepend(['BSP_USING_GBE']):
  81. path += [cwd + '/ports/eth']
  82. startup_path_prefix = SDK_LIB
  83. if rtconfig.CROSS_TOOL == 'gcc':
  84. src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/gcc/startup_stm32mp15xx.s']
  85. elif rtconfig.CROSS_TOOL == 'keil':
  86. src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/arm/startup_stm32mp15xx.s']
  87. elif rtconfig.CROSS_TOOL == 'iar':
  88. src += [startup_path_prefix + '/STM32MPxx_HAL/CMSIS/Device/ST/STM32MP1xx/Source/Templates/iar/startup_stm32mp15xx.s']
  89. src = list(set(src))
  90. CPPDEFINES = ['CORE_CM4','NO_ATOMIC_64_SUPPORT','METAL_INTERNAL','METAL_MAX_DEVICE_REGIONS=2','VIRTIO_SLAVE_ONLY','STM32MP157Axx','__LOG_TRACE_IO_']
  91. group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  92. Return('group')