Initial commit with submodules
This commit is contained in:
+107
@@ -0,0 +1,107 @@
|
||||
# Generated Cmake Pico project file
|
||||
# Сгенерированный файл проекта CMake для Pico
|
||||
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
# Set standard versions for C and C++
|
||||
# Установка стандартов языков C и C++
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# Initialise pico_sdk from installed location
|
||||
# Инициализация pico_sdk из установленного местоположения
|
||||
# (note this can come from environment, CMake cache etc)
|
||||
|
||||
# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work ==
|
||||
# == НЕ РЕДАКТИРУЙТЕ СЛЕДУЮЩИЕ СТРОКИ для корректной работы расширения VS Code для Raspberry Pi Pico ==
|
||||
if(WIN32)
|
||||
set(USERHOME $ENV{USERPROFILE})
|
||||
else()
|
||||
set(USERHOME $ENV{HOME})
|
||||
endif()
|
||||
set(sdkVersion 2.3.1)
|
||||
set(toolchainVersion 15_2_Rel1)
|
||||
set(picotoolVersion 2.3.1)
|
||||
set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)
|
||||
if (EXISTS ${picoVscode})
|
||||
include(${picoVscode})
|
||||
endif()
|
||||
# ====================================================================================
|
||||
|
||||
# Define the target board as Pico 2 (RP2350)
|
||||
# Определение целевой платы как Pico 2 (RP2350)
|
||||
set(PICO_BOARD pico2 CACHE STRING "Board type")
|
||||
|
||||
# Path to the FreeRTOS Kernel sources
|
||||
# Путь к исходным кодам ядра FreeRTOS
|
||||
set(PICO_FREERTOS "${CMAKE_CURRENT_LIST_DIR}/freertos_sources/FreeRTOS-Kernel")
|
||||
message(STATUS "FreeRTOS Path: ${PICO_FREERTOS}")
|
||||
message(STATUS "Путь к FreeRTOS: ${PICO_FREERTOS}")
|
||||
|
||||
# Pull in Raspberry Pi Pico SDK (must be before project)
|
||||
# Подключение Raspberry Pi Pico SDK (должно быть выполнено до определения проекта)
|
||||
include(pico_sdk_import.cmake)
|
||||
|
||||
project(rtos_sample C CXX ASM)
|
||||
|
||||
# Disable standard Pico SDK C++ operator overrides to avoid conflicts with FreeRTOS heap management
|
||||
# Отключаем стандартные переопределения операторов C++ в Pico SDK, чтобы избежать конфликтов с управлением кучей FreeRTOS
|
||||
# For Pico SDK 2.x+ the target pico_cxx_options is used
|
||||
# Для Pico SDK 2.x+ используется таргет pico_cxx_options
|
||||
add_compile_definitions(PICO_CXX_ENABLE_NEW_DELETE_OVERRIDES=0)
|
||||
|
||||
# Initialise the Raspberry Pi Pico SDK
|
||||
# Инициализация Raspberry Pi Pico SDK
|
||||
pico_sdk_init()
|
||||
|
||||
# Configure FreeRTOS Kernel paths and configuration file location
|
||||
# Настройка путей ядра FreeRTOS и расположения файла конфигурации
|
||||
SET(FREERTOS_KERNEL_PATH "${PICO_FREERTOS}" CACHE STRING "MyFreeRTOStutorial")
|
||||
SET(FREERTOS_CONFIG_FILE_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/port/FreeRTOS-Kernel" CACHE STRING "Local Config")
|
||||
|
||||
# Include FreeRTOS configuration and kernel import scripts
|
||||
# Подключение конфигурации FreeRTOS и скриптов импорта ядра
|
||||
include("${FREERTOS_CONFIG_FILE_DIRECTORY}/freertos_config.cmake")
|
||||
include(FreeRTOS_Kernel_import.cmake)
|
||||
|
||||
# Add the main executable
|
||||
# Добавление основного исполняемого файла
|
||||
add_executable(rtos_sample rtos_sample.cpp )
|
||||
|
||||
# Set program name and version for the binary
|
||||
# Установка имени и версии программы для бинарного файла
|
||||
pico_set_program_name(rtos_sample "rtos_sample")
|
||||
pico_set_program_version(rtos_sample "0.1")
|
||||
|
||||
# Configure standard I/O: Disable UART, Enable USB
|
||||
# Настройка стандартного ввода-вывода: Отключить UART, Включить USB
|
||||
pico_enable_stdio_uart(rtos_sample 0)
|
||||
pico_enable_stdio_usb(rtos_sample 1)
|
||||
|
||||
# Link required libraries: FreeRTOS Kernel (Heap 4), config, and Pico stdlib
|
||||
# Привязка необходимых библиотек: Ядро FreeRTOS (Heap 4), конфигурация и стандартная библиотека Pico
|
||||
target_link_libraries(rtos_sample
|
||||
FreeRTOS-Kernel-Heap4
|
||||
freertos_config
|
||||
pico_stdlib)
|
||||
|
||||
# EXPLICITLY tell Pico SDK not to use its own new_delete.cpp
|
||||
# ЯВНО ГОВОРИМ PICO SDK НЕ ИСПОЛЬЗОВАТЬ СВОЙ new_delete.cpp
|
||||
# This line must come AFTER pico_sdk_init()
|
||||
# Эта строка должна идти ПОСЛЕ pico_sdk_init()
|
||||
set_target_properties(pico_cxx_options PROPERTIES PICO_CXX_ENABLE_NEW_DELETE_OVERRIDES 0)
|
||||
|
||||
# Allow multiple definitions (linker will take the first one found)
|
||||
# Разрешает множественные определения (линкер возьмет первую попавшуюся функцию)
|
||||
target_link_options(rtos_sample PRIVATE "-Wl,--allow-multiple-definition")
|
||||
|
||||
# Add project root to include directories
|
||||
# Добавление корня проекта в директории поиска заголовочных файлов
|
||||
target_include_directories(rtos_sample PRIVATE
|
||||
${CMAKE_CURRENT_LIST_DIR}
|
||||
)
|
||||
|
||||
# Generate extra output files (e.g., .bin, .hex)
|
||||
# Генерация дополнительных выходных файлов (например, .bin, .hex)
|
||||
pico_add_extra_outputs(rtos_sample)
|
||||
Reference in New Issue
Block a user