SConscript 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. Import('RTT_ROOT')
  2. Import('rtconfig')
  3. from building import *
  4. # get current directory
  5. cwd = GetCurrentDir()
  6. #var defined
  7. CPPDEFINES = []
  8. src = []
  9. path = []
  10. #common lib define
  11. CPPDEFINES += [rtconfig.DEVICE_TYPE, 'DEBUG']
  12. #CMSIS/Include/ common/ common2/service/delay
  13. path += [cwd + '/CMSIS/Include/']
  14. path += [cwd + '/common/utils/', cwd + '/common/utils/interrupt/']
  15. path += [cwd + '/common/boards/']
  16. path += [cwd + '/common2/services/delay/', cwd + '/common2/services/delay/sam0/']
  17. src += Glob('./common/utils/interrupt/interrupt_sam_nvic.c')
  18. #sam0/ sam0/utils/
  19. path += [cwd + '/sam0/', cwd + '/sam0/utils/']
  20. path += [cwd + '/sam0/utils/preprocessor']
  21. path += [cwd + '/sam0/utils/header_files']
  22. #sam0/utils/cmsis/
  23. if rtconfig.DEVICE_SERIES == 'SAMD20':
  24. #D20
  25. path += [cwd + '/sam0/', cwd + '/sam0/utils/cmsis/samd20/include/']
  26. path += [cwd + '/sam0/utils/cmsis/samd20/source/']
  27. src += Glob('./sam0/utils/cmsis/samd20/source/*.c')
  28. src += Glob('./sam0/utils/cmsis/samd20/source/arm/*.s')
  29. elif rtconfig.DEVICE_SERIES == 'SAMD21':
  30. #D21
  31. path += [cwd + '/sam0/utils/cmsis/samd21/include/']
  32. path += [cwd + '/sam0/utils/cmsis/samd21/source/']
  33. src += Glob('./sam0/utils/cmsis/samd21/source/*.c')
  34. src += Glob('./sam0/utils/cmsis/samd21/source/arm/*.s')
  35. #sam0/drivers/system
  36. path += [cwd + '/sam0/drivers/system/']
  37. src += Glob('./sam0/drivers/system/system.c')
  38. path += [cwd + '/sam0/drivers/system/pinmux']
  39. src += Glob('./sam0/drivers/system/pinmux/*.c')
  40. path += [cwd + '/sam0/drivers/system/power/power_sam_d_r_h']
  41. path += [cwd + '/sam0/drivers/system/reset/reset_sam_d_r_h']
  42. path += [cwd + '/sam0/drivers/system/clock']
  43. path += [cwd + '/sam0/drivers/system/interrupt/']
  44. src += Glob('./sam0/drivers/system/interrupt/*.c')
  45. if rtconfig.DEVICE_SERIES == 'SAMD20':
  46. path += [cwd + '/sam0/drivers/system/interrupt/system_interrupt_samd20/']
  47. elif rtconfig.DEVICE_SERIES == 'SAMD21':
  48. path += [cwd + '/sam0/drivers/system/interrupt/system_interrupt_samd21/']
  49. #sam0/drivers/system/clock
  50. if rtconfig.DEVICE_SERIES == 'SAMD20':
  51. path += [cwd + '/sam0/drivers/system/clock/clock_samd20']
  52. #path += [cwd + '/sam0/drivers/system/clock/clock_samd20/module_config']
  53. src += Glob('./sam0/drivers/system/clock/clock_samd20/*.c')
  54. elif rtconfig.DEVICE_SERIES == 'SAMD21':
  55. #path += [cwd + '/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/module_config']
  56. path += [cwd + '/sam0/drivers/system/clock/clock_samd21_r21_da_ha1']
  57. src += Glob('./sam0/drivers/system/clock/clock_samd21_r21_da_ha1/*.c')
  58. #sam0/drivers/sercom
  59. path += [cwd + '/sam0/drivers/sercom', cwd + '/sam0/drivers/sercom/usart']
  60. src += Glob('./sam0/drivers/sercom/*.c')
  61. src += Glob('./sam0/drivers/sercom/usart/*.c')
  62. SrcRemove(src, 'sercom_interrupt.c')
  63. SrcRemove(src, 'usart_interrupt.c')
  64. CPPDEFINES += ['USART_CALLBACK_MODE=false']
  65. #sam0/drivers/port
  66. path += [cwd + '/sam0/drivers/port']
  67. src += Glob('./sam0/drivers/port/port.c')
  68. #sam0/drivers/rtc
  69. path += [cwd + '/sam0/drivers/rtc']
  70. src += Glob('./sam0/drivers/rtc/rtc_sam_d_r_h/rtc_count*.c')
  71. CPPDEFINES += ['RTC_COUNT_ASYNC=true']
  72. #sam0/drivers/extint
  73. path += [cwd + '/sam0/drivers/extint', cwd + '/sam0/drivers/extint/extint_sam_d_r_h']
  74. src += Glob('./sam0/drivers/extint/extint_callback.c')
  75. src += Glob('./sam0/drivers/extint/extint_sam_d_r_h/extint.c')
  76. CPPDEFINES += ['EXTINT_CALLBACK_MODE=true']
  77. group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  78. Return('group')