SConscript 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. if rtconfig.PLATFORM in ['gcc']:
  29. src += Glob('./sam0/utils/cmsis/samd20/source/gcc/*.s')
  30. elif rtconfig.PLATFORM in ['armcc', 'armclang']:
  31. src += Glob('./sam0/utils/cmsis/samd20/source/arm/*.s')
  32. elif rtconfig.DEVICE_SERIES == 'SAMD21':
  33. #D21
  34. path += [cwd + '/sam0/utils/cmsis/samd21/include/']
  35. path += [cwd + '/sam0/utils/cmsis/samd21/source/']
  36. src += Glob('./sam0/utils/cmsis/samd21/source/*.c')
  37. if rtconfig.PLATFORM in ['gcc']:
  38. src += Glob('./sam0/utils/cmsis/samd21/source/gcc/*.s')
  39. elif rtconfig.PLATFORM in ['armcc', 'armclang']:
  40. src += Glob('./sam0/utils/cmsis/samd21/source/arm/*.s')
  41. #sam0/drivers/system
  42. path += [cwd + '/sam0/drivers/system/']
  43. src += Glob('./sam0/drivers/system/system.c')
  44. path += [cwd + '/sam0/drivers/system/pinmux']
  45. src += Glob('./sam0/drivers/system/pinmux/*.c')
  46. path += [cwd + '/sam0/drivers/system/power/power_sam_d_r_h']
  47. path += [cwd + '/sam0/drivers/system/reset/reset_sam_d_r_h']
  48. path += [cwd + '/sam0/drivers/system/clock']
  49. path += [cwd + '/sam0/drivers/system/interrupt/']
  50. src += Glob('./sam0/drivers/system/interrupt/*.c')
  51. if rtconfig.DEVICE_SERIES == 'SAMD20':
  52. path += [cwd + '/sam0/drivers/system/interrupt/system_interrupt_samd20/']
  53. elif rtconfig.DEVICE_SERIES == 'SAMD21':
  54. path += [cwd + '/sam0/drivers/system/interrupt/system_interrupt_samd21/']
  55. #sam0/drivers/system/clock
  56. if rtconfig.DEVICE_SERIES == 'SAMD20':
  57. path += [cwd + '/sam0/drivers/system/clock/clock_samd20']
  58. #path += [cwd + '/sam0/drivers/system/clock/clock_samd20/module_config']
  59. src += Glob('./sam0/drivers/system/clock/clock_samd20/*.c')
  60. elif rtconfig.DEVICE_SERIES == 'SAMD21':
  61. #path += [cwd + '/sam0/drivers/system/clock/clock_samd21_r21_da_ha1/module_config']
  62. path += [cwd + '/sam0/drivers/system/clock/clock_samd21_r21_da_ha1']
  63. src += Glob('./sam0/drivers/system/clock/clock_samd21_r21_da_ha1/*.c')
  64. #sam0/drivers/sercom
  65. path += [cwd + '/sam0/drivers/sercom', cwd + '/sam0/drivers/sercom/usart']
  66. src += Glob('./sam0/drivers/sercom/*.c')
  67. src += Glob('./sam0/drivers/sercom/usart/*.c')
  68. SrcRemove(src, './sam0/drivers/sercom/sercom_interrupt.c')
  69. SrcRemove(src, './sam0/drivers/sercom/usart/usart_interrupt.c')
  70. CPPDEFINES += ['USART_CALLBACK_MODE=false']
  71. #sam0/drivers/port
  72. path += [cwd + '/sam0/drivers/port']
  73. src += Glob('./sam0/drivers/port/port.c')
  74. #sam0/drivers/rtc
  75. path += [cwd + '/sam0/drivers/rtc']
  76. src += Glob('./sam0/drivers/rtc/rtc_sam_d_r_h/rtc_count*.c')
  77. CPPDEFINES += ['RTC_COUNT_ASYNC=true']
  78. #sam0/drivers/extint
  79. path += [cwd + '/sam0/drivers/extint', cwd + '/sam0/drivers/extint/extint_sam_d_r_h']
  80. src += Glob('./sam0/drivers/extint/extint_callback.c')
  81. src += Glob('./sam0/drivers/extint/extint_sam_d_r_h/extint.c')
  82. CPPDEFINES += ['EXTINT_CALLBACK_MODE=true']
  83. group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  84. Return('group')