SConscript 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. import rtconfig
  2. Import('RTT_ROOT')
  3. from building import *
  4. # get current directory
  5. cwd = GetCurrentDir()
  6. # The set of source files associated with this SConscript file.
  7. src = Split("""
  8. pico-sdk/src/rp2_common/pico_stdlib/stdlib.c
  9. pico-sdk/src/rp2_common/hardware_gpio/gpio.c
  10. pico-sdk/src/rp2_common/hardware_claim/claim.c
  11. pico-sdk/src/rp2_common/hardware_sync/sync.c
  12. pico-sdk/src/rp2_common/pico_platform/platform.c
  13. pico-sdk/src/rp2_common/hardware_uart/uart.c
  14. pico-sdk/src/common/pico_time/time.c
  15. pico-sdk/src/common/pico_time/timeout_helper.c
  16. pico-sdk/src/rp2_common/hardware_timer/timer.c
  17. pico-sdk/src/common/pico_sync/sem.c
  18. pico-sdk/src/common/pico_sync/lock_core.c
  19. pico-sdk/src/common/pico_sync/mutex.c
  20. pico-sdk/src/common/pico_sync/critical_section.c
  21. pico-sdk/src/common/pico_util/datetime.c
  22. pico-sdk/src/common/pico_util/pheap.c
  23. pico-sdk/src/common/pico_util/queue.c
  24. pico-sdk/src/rp2_common/pico_runtime/runtime.c
  25. pico-sdk/src/rp2_common/hardware_clocks/clocks.c
  26. pico-sdk/src/rp2_common/hardware_watchdog/watchdog.c
  27. pico-sdk/src/rp2_common/hardware_xosc/xosc.c
  28. pico-sdk/src/rp2_common/hardware_pll/pll.c
  29. pico-sdk/src/rp2_common/hardware_vreg/vreg.c
  30. pico-sdk/src/rp2_common/hardware_irq/irq.c
  31. pico-sdk/src/rp2_common/pico_printf/printf.c
  32. pico-sdk/src/rp2_common/pico_bootrom/bootrom.c
  33. pico-sdk/src/rp2_common/pico_double/double_init_rom.c
  34. pico-sdk/src/rp2_common/pico_double/double_math.c
  35. pico-sdk/src/rp2_common/pico_float/float_aeabi.S
  36. pico-sdk/src/rp2_common/pico_float/float_init_rom.c
  37. pico-sdk/src/rp2_common/pico_float/float_math.c
  38. pico-sdk/src/rp2_common/pico_malloc/pico_malloc.c
  39. pico-sdk/src/rp2_common/pico_standard_link/binary_info.c
  40. pico-sdk/src/rp2_common/pico_stdio/stdio.c
  41. pico-sdk/src/rp2_common/pico_stdio_uart/stdio_uart.c
  42. pico-sdk/src/rp2_common/pico_standard_link/new_delete.cpp
  43. pico-sdk/src/rp2_common/hardware_irq/irq_handler_chain.S
  44. pico-sdk/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S
  45. pico-sdk/src/rp2_common/pico_divider/divider.S
  46. pico-sdk/src/rp2_common/pico_double/double_aeabi.S
  47. pico-sdk/src/rp2_common/pico_double/double_v1_rom_shim.S
  48. pico-sdk/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S
  49. pico-sdk/src/rp2_common/pico_float/float_v1_rom_shim.S
  50. pico-sdk/src/rp2_common/hardware_divider/divider.S
  51. pico-sdk/src/rp2_common/pico_mem_ops/mem_ops_aeabi.S
  52. pico-sdk/src/rp2_common/pico_standard_link/crt0.S
  53. generated/bs2_default_padded_checksummed.S
  54. """)
  55. # # starupt scripts for STM32F2xx
  56. # startup_scripts = 'startup_stm32f2xx.s'
  57. # # add for startup script
  58. # if rtconfig.CROSS_TOOL == 'gcc':
  59. # src = src + ['CMSIS/CM3/DeviceSupport/ST/STM32F2xx/startup/gcc_ride7/' + startup_scripts]
  60. # elif rtconfig.CROSS_TOOL == 'keil':
  61. # src = src + ['CMSIS/CM3/DeviceSupport/ST/STM32F2xx/startup/arm/' + startup_scripts]
  62. # elif rtconfig.CROSS_TOOL == 'iar':
  63. # src = src + ['CMSIS/CM3/DeviceSupport/ST/STM32F2xx/startup/iar/' + startup_scripts]
  64. # /home/henson/Documents/rasp-pico/pico/pico-examples/build/generated/pico_base
  65. path = [
  66. cwd + '/pico-sdk/src/common/pico_stdlib/include',
  67. cwd + '/pico-sdk/src/rp2_common/hardware_gpio/include',
  68. cwd + '/pico-sdk/src/common/pico_base/include',
  69. cwd + '/pico-sdk/src/boards/include',
  70. cwd + '/pico-sdk/src/rp2_common/pico_platform/include',
  71. cwd + '/pico-sdk/src/rp2040/hardware_regs/include',
  72. cwd + '/pico-sdk/src/rp2_common/hardware_base/include',
  73. cwd + '/pico-sdk/src/rp2040/hardware_structs/include',
  74. cwd + '/pico-sdk/src/rp2_common/hardware_claim/include',
  75. cwd + '/pico-sdk/src/rp2_common/hardware_sync/include',
  76. cwd + '/pico-sdk/src/rp2_common/hardware_uart/include',
  77. cwd + '/pico-sdk/src/rp2_common/hardware_divider/include',
  78. cwd + '/pico-sdk/src/common/pico_time/include',
  79. cwd + '/pico-sdk/src/rp2_common/hardware_timer/include',
  80. cwd + '/pico-sdk/src/common/pico_sync/include',
  81. cwd + '/pico-sdk/src/common/pico_util/include',
  82. cwd + '/pico-sdk/src/rp2_common/pico_runtime/include',
  83. cwd + '/pico-sdk/src/rp2_common/hardware_clocks/include',
  84. cwd + '/pico-sdk/src/rp2_common/hardware_resets/include',
  85. cwd + '/pico-sdk/src/rp2_common/hardware_watchdog/include',
  86. cwd + '/pico-sdk/src/rp2_common/hardware_xosc/include',
  87. cwd + '/pico-sdk/src/rp2_common/hardware_pll/include',
  88. cwd + '/pico-sdk/src/rp2_common/hardware_vreg/include',
  89. cwd + '/pico-sdk/src/rp2_common/hardware_irq/include',
  90. cwd + '/pico-sdk/src/rp2_common/pico_printf/include',
  91. cwd + '/pico-sdk/src/rp2_common/pico_bootrom/include',
  92. cwd + '/pico-sdk/src/common/pico_bit_ops/include',
  93. cwd + '/pico-sdk/src/common/pico_divider/include',
  94. cwd + '/pico-sdk/src/rp2_common/pico_double/include',
  95. cwd + '/pico-sdk/src/rp2_common/pico_int64_ops/include',
  96. cwd + '/pico-sdk/src/rp2_common/pico_float/include',
  97. cwd + '/pico-sdk/src/common/pico_binary_info/include',
  98. cwd + '/pico-sdk/src/rp2_common/pico_stdio/include',
  99. cwd + '/pico-sdk/src/rp2_common/pico_stdio_uart/include',
  100. cwd + '/generated/pico_base'
  101. ]
  102. # path += [cwd + '/CMSIS/CM3/CoreSupport',
  103. # cwd + '/CMSIS/Include']
  104. # if GetDepend('RT_USING_LWIP') == True:
  105. # src = src + ['STM32F2x7_ETH_Driver/src/stm32f2x7_eth.c']
  106. # path = path + [cwd + '/STM32F2x7_ETH_Driver/inc']
  107. CPPDEFINES = [
  108. 'PICO_NO_BINARY_INFO',
  109. 'PICO_NO_PROGRAM_INFO',
  110. 'PICO_BIT_OPS_PICO=1',
  111. 'PICO_BUILD=1',
  112. # 'PICO_CMAKE_BUILD_TYPE=\\"Release\\"',
  113. 'PICO_COPY_TO_RAM=0',
  114. 'PICO_CXX_ENABLE_EXCEPTIONS=0',
  115. 'PICO_DIVIDER_HARDWARE=1',
  116. 'PICO_DOUBLE_PICO=1',
  117. 'PICO_FLOAT_PICO=1',
  118. 'PICO_INT64_OPS_PICO=1',
  119. 'PICO_MEM_OPS_PICO=1',
  120. 'PICO_NO_FLASH=0',
  121. 'PICO_NO_HARDWARE=0',
  122. 'PICO_ON_DEVICE=1',
  123. 'PICO_PRINTF_PICO=1',
  124. 'PICO_STDIO_UART=1',
  125. 'PICO_USE_BLOCKED_RAM=0'
  126. ]
  127. group = DefineGroup('Libraries', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
  128. Return('group')