I have been trying for a few days to use the portable GCC_RP2040 in a project created with the VSCode extension, but I have not been successful. I have tried several times, I have reviewed the file, but something is missing to make it work correctly. I am learning how to use cmake, but I already have a little experience with FreeRTOS.
Below are my configuration files and the error messages I have received.
Below are my configuration files and the error messages I have received.
Code:
# Generated Cmake Pico project filecmake_minimum_required(VERSION 3.13)set(PROJECT_NAME magnectostriccao)set(CMAKE_C_STANDARD 11)set(CMAKE_CXX_STANDARD 17)set(CMAKE_EXPORT_COMPILE_COMMANDS ON)set(FREERTOS_KERNEL_PATH "${CMAKE_SOURCE_DIR}/FreeRTOS-Kernel" CACHE STRING "Path to the FreeRTOS Kernel")set(FREERTOS_CONFIG_FILE_DIRECTORY "${CMAKE_SOURCE_DIR}/tasks/" CACHE STRING "") # Select the heap port. values between 1-4 will pick a heap.set(FREERTOS_HEAP "4" CACHE STRING "" FORCE)#Select the native compile PORT#set(FREERTOS_PORT "GCC_ARM_CM0" CACHE STRING "" FORCE)#set(FREERTOS_PORT "GCC_RP2040" CACHE STRING "" FORCE)set(FREERTOS_PORT "ThirdParty_GCC_RP2040" CACHE STRING "" FORCE)# Initialise pico_sdk from installed location# (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 ==if(WIN32) set(USERHOME $ENV{USERPROFILE})else() set(USERHOME $ENV{HOME})endif()set(sdkVersion 2.1.0)set(toolchainVersion 13_3_Rel1)set(picotoolVersion 2.1.0)set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake)if (EXISTS ${picoVscode}) include(${picoVscode})endif()# ====================================================================================set(PICO_BOARD pico_w CACHE STRING "Board type")# Pull in Raspberry Pi Pico SDK (must be before project)include(pico_sdk_import.cmake)project(${PROJECT_NAME} C CXX ASM)# Initialise the Raspberry Pi Pico SDKpico_sdk_init()# Add executable. Default name is the project name, version 0.1add_executable(magnectostriccao main.c #add_executable(${PROJECT_NAME} main.c inc/neopixel.c inc/ssd1306_i2c.c tasks/freeRTOS_helpers.c tasks/task_drone_control.c tasks/task_adc_with_dma.c tasks/task_tinyML.c )pico_set_program_name(${PROJECT_NAME} "magnectostriccao")pico_set_program_version(${PROJECT_NAME} "0.1")# Generate PIO headerpico_generate_pio_header(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/inc/ws2818b.pio)# Modify the below lines to enable/disable output over UART/USBpico_enable_stdio_uart(${PROJECT_NAME} 1)pico_enable_stdio_usb(${PROJECT_NAME} 1)# Add the standard include files to the buildtarget_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_LIST_DIR})include_directories(${INCLUDES})#include_directories(include)add_library(freertos_config INTERFACE)target_include_directories(freertos_config INTERFACE "tasks") # Adding the FreeRTOS-Kernel subdirectoryadd_subdirectory(${FREERTOS_KERNEL_PATH} freertos_kernel)add_subdirectory(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/)#include(FreeRTOS_Kernel_import.cmake)include(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)if (DEFINED FREERTOS_SMP_EXAMPLE AND FREERTOS_SMP_EXAMPLE STREQUAL "1") message(STATUS "Build FreeRTOS SMP example") # Adding the following configurations to build SMP template port add_compile_options( -DconfigNUMBER_OF_CORES=2 -DconfigUSE_PASSIVE_IDLE_HOOK=0 )endif() ######################################################################### Overall Compile Options# Note the compile option strategy is to error on everything and then# Per library opt-out of things that are warnings/errors.# This ensures that no matter what strategy for compilation you take, the# builds will still occur.## Only tested with GNU and Clang.# Other options are https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html#variable:CMAKE_%3CLANG%3E_COMPILER_ID# Naming of compilers translation map:## FreeRTOS | CMake# -------------------# CCS | ?TBD?# GCC | GNU, Clang, *Clang Others?# IAR | IAR# Keil | ARMCC# MSVC | MSVC # Note only for MinGW?# Renesas | ?TBD?target_compile_options(freertos_kernel PRIVATE ### Gnu/Clang C Options $<$<COMPILE_LANG_AND_ID:C,GNU>:-fdiagnostics-color=always> $<$<COMPILE_LANG_AND_ID:C,Clang>:-fcolor-diagnostics> $<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wall> $<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wextra> $<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wpedantic> $<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Werror> $<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wconversion> $<$<COMPILE_LANG_AND_ID:C,Clang>:-Weverything> # Suppressions required to build clean with clang. $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-unused-macros> $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-padded> $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-variable-declarations> $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-covered-switch-default> $<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-cast-align> ) target_link_libraries(${PROJECT_NAME} freertos_kernel freertos_config hardware_i2c hardware_adc hardware_dma hardware_pio hardware_timer hardware_watchdog hardware_clocks pico_cyw43_arch_lwip_threadsafe_background pico_stdlib )pico_add_extra_outputs(${PROJECT_NAME})
Code:
ninja: Entering directory `/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build'[0/1] Re-running CMake...PICO_SDK_PATH is /home/carlosdelfino/.pico-sdk/sdk/2.1.0Target board (PICO_BOARD) is 'pico_w'.Using board configuration from /home/carlosdelfino/.pico-sdk/sdk/2.1.0/src/boards/include/boards/pico_w.hPico Platform (PICO_PLATFORM) is 'rp2040'.Build type is ReleaseTinyUSB available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.BTstack available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/btstackcyw43-driver available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/cyw43-driverPico W Bluetooth build support available.lwIP available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/lwipPico W Wi-Fi build support available.mbedtls available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/mbedtlsCMake Error at FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake:57 (message): Directory '/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build/FreeRTOS-Kernel' does not contain an RP2040 port here: portable/ThirdParty/GCC/RP2040Call Stack (most recent call first): CMakeLists.txt:91 (include)-- Configuring incomplete, errors occurred!FAILED: build.ninja /home/carlosdelfino/.pico-sdk/cmake/v3.29.9/bin/cmake --regenerate-during-build -S/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos -B/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/buildninja: error: rebuilding 'build.ninja': subcommand failed * The terminal process "/home/carlosdelfino/.pico-sdk/ninja/v1.12.1/ninja '-C', '/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build'" terminated with exit code: 1. * Terminal will be reused by tasks, press any key to close it.
Statistics: Posted by carlosdelfino — Thu Feb 06, 2025 3:09 am — Replies 0 — Views 18