Advertisement
CarlosDelfino

Magnectostricao CMakeLists.txt

Feb 6th, 2025
54
0
29 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.88 KB | None | 0 0
  1. # Generated Cmake Pico project file
  2.  
  3. cmake_minimum_required(VERSION 3.13)
  4.  
  5. set(PROJECT_NAME magnectostriccao)
  6.  
  7. set(CMAKE_C_STANDARD 11)
  8. set(CMAKE_CXX_STANDARD 17)
  9. set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
  10.  
  11. set(FREERTOS_KERNEL_PATH "${CMAKE_SOURCE_DIR}/FreeRTOS-Kernel" CACHE STRING "Path to the FreeRTOS Kernel")
  12. set(FREERTOS_CONFIG_FILE_DIRECTORY "${CMAKE_SOURCE_DIR}/tasks/" CACHE STRING "")
  13.  
  14. # Select the heap port.  values between 1-4 will pick a heap.
  15. set(FREERTOS_HEAP "4" CACHE STRING "" FORCE)
  16.  
  17. #Select the native compile PORT
  18. #set(FREERTOS_PORT "GCC_ARM_CM0" CACHE STRING "" FORCE)
  19. #set(FREERTOS_PORT "GCC_RP2040" CACHE STRING "" FORCE)
  20. set(FREERTOS_PORT "ThirdParty_GCC_RP2040" CACHE STRING "" FORCE)
  21.  
  22. # Initialise pico_sdk from installed location
  23. # (note this can come from environment, CMake cache etc)
  24.  
  25. # == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work ==
  26. if(WIN32)
  27.     set(USERHOME $ENV{USERPROFILE})
  28. else()
  29.     set(USERHOME $ENV{HOME})
  30. endif()
  31. set(sdkVersion 1.5.1)
  32. set(toolchainVersion 13_2_Rel1)
  33. set(picotoolVersion 2.0.0)
  34. set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
  35. if (EXISTS ${picoVscode})
  36.     include(${picoVscode})
  37. endif()
  38. # ====================================================================================
  39. set(PICO_BOARD pico_w CACHE STRING "Board type")
  40.  
  41. # Pull in Raspberry Pi Pico SDK (must be before project)
  42. include(pico_sdk_import.cmake)
  43.  
  44. project(${PROJECT_NAME} C CXX ASM)
  45.  
  46. # Initialise the Raspberry Pi Pico SDK
  47. pico_sdk_init()
  48.  
  49. # Add executable. Default name is the project name, version 0.1
  50.  
  51. add_executable(${PROJECT_NAME} main.c  
  52.         inc/neopixel.c
  53.         inc/ssd1306_i2c.c
  54.         tasks/freeRTOS_helpers.c
  55.         tasks/task_drone_control.c
  56.         tasks/task_adc_with_dma.c
  57.         tasks/task_tinyML.c
  58. )
  59.  
  60. pico_set_program_name(${PROJECT_NAME} "magnectostriccao")
  61. pico_set_program_version(${PROJECT_NAME} "0.1")
  62.  
  63. # Generate PIO header
  64. pico_generate_pio_header(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/inc/ws2818b.pio)
  65.  
  66. # Modify the below lines to enable/disable output over UART/USB
  67. pico_enable_stdio_uart(${PROJECT_NAME} 1)
  68. pico_enable_stdio_usb(${PROJECT_NAME} 1)
  69.  
  70. # Add the standard include files to the build
  71. target_include_directories(${PROJECT_NAME} PRIVATE
  72.         ${CMAKE_CURRENT_LIST_DIR}
  73. )
  74.  
  75. include_directories(${INCLUDES})
  76.  
  77. include(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
  78.  
  79. target_link_libraries(${PROJECT_NAME}
  80.     FreeRTOS-Kernel-Heap4
  81.     hardware_i2c
  82.     hardware_adc
  83.     hardware_dma
  84.     hardware_pio
  85.     hardware_timer
  86.     hardware_watchdog
  87.     hardware_clocks
  88.     pico_cyw43_arch_lwip_threadsafe_background
  89.     pico_stdlib
  90. )
  91. target_compile_definitions(${PROJECT_NAME}  PRIVATE
  92.         mainRUN_FREE_RTOS_ON_CORE=1
  93.         PICO_STACK_SIZE=0x1000
  94. )
  95.  
  96. pico_add_extra_outputs(${PROJECT_NAME})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement