ChibiOS_RTOS.cmake 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. FOREACH (FAMILY F0 L0 L4)
  2. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${FAMILY}
  3. os/common/startup/ARMCMx/compilers/GCC/crt0_v6m.S
  4. os/common/ports/ARMCMx/chcore.c
  5. os/common/ports/ARMCMx/chcore_v6m.c
  6. os/common/ports/ARMCMx/compilers/GCC/chcoreasm_v6m.S
  7. )
  8. ENDFOREACH()
  9. FOREACH (FAMILY F1 F2 F3 F4 F7)
  10. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${FAMILY}
  11. os/common/startup/ARMCMx/compilers/GCC/crt0_v7m.S
  12. os/common/ports/ARMCMx/chcore.c
  13. os/common/ports/ARMCMx/chcore_v7m.c
  14. os/common/ports/ARMCMx/compilers/GCC/chcoreasm_v7m.S
  15. )
  16. ENDFOREACH()
  17. FOREACH (FAMILY F0 F1 F2 F3 F4 F7 L0 L1)
  18. SET (CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}_${FAMILY}
  19. os/common/startup/ARMCMx/devices/STM32${FAMILY}xx
  20. os/common/ext/ST/STM32${FAMILY}xx
  21. os/common/oslib/include
  22. os/common/ports/ARMCMx
  23. os/common/ports/ARMCMx/compilers/GCC
  24. )
  25. ENDFOREACH()
  26. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}
  27. os/common/startup/ARMCMx/compilers/GCC/crt1.c
  28. os/common/startup/ARMCMx/compilers/GCC/vectors.S
  29. )
  30. SET (CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}
  31. os/license
  32. os/common/portability/GCC
  33. os/common/startup/ARMCMx/compilers/GCC
  34. os/common/ext/ARM/CMSIS/Core/Include
  35. )
  36. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_MAILBOXES os/common/oslib/src/chmboxes.c)
  37. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_MEMCORE os/common/oslib/src/chmemcore.c)
  38. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_HEAP os/common/oslib/src/chheap.c)
  39. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_MEMPOOLS os/common/oslib/src/chmempools.c)
  40. SET (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_FACTORY os/common/oslib/src/chfactory.c)
  41. SET (CHIBIOS_SOURCES_rt_TM os/rt/src/chtm.c)
  42. SET (CHIBIOS_SOURCES_rt_REGISTRY os/rt/src/chregistry.c)
  43. SET (CHIBIOS_SOURCES_rt_SEMAPHORES os/rt/src/chsem.c)
  44. SET (CHIBIOS_SOURCES_rt_MUTEXES os/rt/src/chmtx.c)
  45. SET (CHIBIOS_SOURCES_rt_CONDVARS os/rt/src/chcond.c)
  46. SET (CHIBIOS_SOURCES_rt_EVENTS os/rt/src/chevents.c)
  47. SET (CHIBIOS_SOURCES_rt_MESSAGES os/rt/src/chmsg.c)
  48. SET (CHIBIOS_SOURCES_rt_DYNAMIC os/rt/src/chdynamic.c)
  49. LIST (APPEND CHIBIOS_SOURCES_nil os/nil/src/ch.c)
  50. LIST (APPEND CHIBIOS_INCLUDES_nil os/nil/include)
  51. LIST (APPEND CHIBIOS_SOURCES_rt
  52. os/rt/src/chsys.c
  53. os/rt/src/chdebug.c
  54. os/rt/src/chtrace.c
  55. os/rt/src/chvt.c
  56. os/rt/src/chschd.c
  57. os/rt/src/chthreads.c
  58. )
  59. LIST (APPEND CHIBIOS_INCLUDES_rt os/rt/include)
  60. IF (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${STM32_FAMILY})
  61. LIST(APPEND CHIBIOS_SOURCES_${CHIBIOS_KERNEL} ${CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${STM32_FAMILY}})
  62. ENDIF()
  63. IF (CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}_${STM32_FAMILY})
  64. LIST(APPEND CHIBIOS_INCLUDES_${CHIBIOS_KERNEL} ${CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}_${STM32_FAMILY}})
  65. ENDIF()
  66. FOREACH (COMP ${CHIBIOS_RTOS_COMPONENTS})
  67. IF (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${COMP})
  68. LIST(APPEND CHIBIOS_SOURCES_${CHIBIOS_KERNEL} ${CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${COMP}})
  69. ENDIF()
  70. IF (CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}_${COMP})
  71. LIST(APPEND CHIBIOS_INCLUDES_${CHIBIOS_KERNEL} ${CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}_${COMP}})
  72. ENDIF()
  73. IF (CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${COMP}_${STM32_FAMILY})
  74. LIST(APPEND CHIBIOS_SOURCES_${CHIBIOS_KERNEL} ${CHIBIOS_SOURCES_${CHIBIOS_KERNEL}_${COMP}_${STM32_FAMILY}})
  75. ENDIF()
  76. IF (CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}_${COMP}_${STM32_FAMILY})
  77. LIST(APPEND CHIBIOS_INCLUDES_${CHIBIOS_KERNEL} ${CHIBIOS_INCLUDES_${CHIBIOS_KERNEL}_${COMP}_${STM32_FAMILY}})
  78. ENDIF()
  79. ENDFOREACH()