Guest User

Untitled

a guest
Jul 21st, 2025
11
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. # == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work ==
  2. if(WIN32)
  3. set(USERHOME $ENV{USERPROFILE})
  4. else()
  5. set(USERHOME $ENV{HOME})
  6. endif()
  7. set(sdkVersion 2.1.1)
  8. set(toolchainVersion 14_2_Rel1)
  9. set(picotoolVersion 2.1.1)
  10. set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
  11. if (EXISTS ${picoVscode})
  12. include(${picoVscode})
  13. endif()
  14. # ====================================================================================
  15. # ================ 1. TOOLCHAIN FILE ================
  16. # ***** MUST be at the absolute top! *****
  17. set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/arm-none-eabi-gcc.cmake)
  18.  
  19. # ================ 2. PICO VS CODE EXTENSION SUPPORT ================
  20. if(WIN32)
  21. set(USERHOME $ENV{USERPROFILE})
  22. else()
  23. set(USERHOME $ENV{HOME})
  24. endif()
  25. set(sdkVersion 2.1.1)
  26. set(toolchainVersion 14_2_Rel1)
  27. set(picotoolVersion 2.1.1)
  28. set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
  29. if(EXISTS ${picoVscode})
  30. include(${picoVscode})
  31. endif()
  32.  
  33. # ================ 3. CMake MINIMUM VERSION ================
  34. cmake_minimum_required(VERSION 3.3)
  35.  
  36. # ================ 4. CHECK PICO SDK ENVIRONMENT ================
  37. if(NOT DEFINED ENV{PICO_SDK_PATH})
  38. message(FATAL_ERROR "PICO_SDK_PATH environment variable is not set. Please set it to the path of your Pico SDK installation.")
  39. endif()
  40. set(PICO_SDK_IMPORT_FILE "$ENV{PICO_SDK_PATH}/external/pico_sdk_import.cmake")
  41. if(NOT EXISTS "${PICO_SDK_IMPORT_FILE}")
  42. message(FATAL_ERROR "Cannot find pico_sdk_import.cmake at: ${PICO_SDK_IMPORT_FILE}
  43. Please check that PICO_SDK_PATH points to a valid Pico SDK installation.
  44. Current PICO_SDK_PATH: $ENV{PICO_SDK_PATH}")
  45. endif()
  46.  
  47. # ================ 5. IMPORT PICO SDK (BEFORE project()!) ================
  48. include(${PICO_SDK_IMPORT_FILE})
  49.  
  50. # ================ 6. PROJECT DEFINITION ================
  51. project(astralixi-os LANGUAGES C CXX)
  52.  
  53. # ================ 7. TARGET BOARD & STANDARDS ================
  54. # Raspberry Pi Pico 2W board
  55. set(PICO_BOARD pico2_w)
  56. # C11/C++17 strongly recommended for Pico SDK!
  57. set(CMAKE_C_STANDARD 11)
  58. set(CMAKE_CXX_STANDARD 17)
  59.  
  60. # ================ 8. INITIALIZE PICO SDK ================
  61. pico_sdk_init()
  62.  
  63. # ================ 9. EXECUTABLE & SOURCES ================
  64. add_executable(astralixi-os
  65. astralixi-OS.c
  66. drivers/display.c
  67. drivers/lcd.c
  68. drivers/keyboard.c
  69. drivers/sdcard.c
  70. drivers/audio.c
  71. drivers/fat32.c
  72. # Add any other .c files in this format
  73. )
  74.  
  75. # ================ 10. LINK LIBRARIES ================
  76. target_link_libraries(astralixi-os
  77. pico_stdlib
  78. hardware_spi
  79. hardware_uart
  80. hardware_pwm
  81. hardware_i2c
  82. hardware_dma
  83. hardware_gpio
  84. hardware_adc
  85. pico_malloc
  86. pico_cyw43_arch
  87. cyw43_arch_threadsafe_background
  88. )
  89.  
  90. # ================ 11. STDIO CONFIGURATION (USB only, no UART) ================
  91. pico_enable_stdio_usb(astralixi-os 1)
  92. pico_enable_stdio_uart(astralixi-os 0)
  93.  
  94. # ================ 12. GENERATE .uf2 & OTHER OUTPUTS ================
  95. pico_add_extra_outputs(astralixi-os)
  96.  
  97. # ================ 13. COMPILER WARNINGS ================
  98. target_compile_options(astralixi-os PRIVATE
  99. -Wall
  100. -Wextra
  101. -Wno-unused-parameter
  102. )
  103.  
  104. # ================ 14. INCLUDE DIRECTORIES ================
  105. target_include_directories(astralixi-os PRIVATE
  106. ${CMAKE_CURRENT_LIST_DIR}
  107. drivers/
  108. )
  109.  
  110. # ================ 15. GLOBAL CONFIG ================
  111. set(CMAKE_EXPORT_COMPILE_COMMANDS YES)
  112.  
Advertisement
Add Comment
Please, Sign In to add comment