Portable gcc rp2040 does not compile in vscode, it claims it cannot find the portable

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.

# Generated Cmake Pico project file

cmake_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 SDK
pico_sdk_init()

# Add executable. Default name is the project name, version 0.1

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 header
pico_generate_pio_header(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/inc/ws2818b.pio)

# Modify the below lines to enable/disable output over UART/USB
pico_enable_stdio_uart(${PROJECT_NAME} 1)
pico_enable_stdio_usb(${PROJECT_NAME} 1)

# Add the standard include files to the build
target_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 subdirectory
add_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})

 Executing task: /home/carlosdelfino/.pico-sdk/ninja/v1.12.1/ninja -C /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build 

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.0
Target board (PICO_BOARD) is 'pico_w'.
Using board configuration from /home/carlosdelfino/.pico-sdk/sdk/2.1.0/src/boards/include/boards/pico_w.h
Pico Platform (PICO_PLATFORM) is 'rp2040'.
Build type is Release
TinyUSB 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/btstack
cyw43-driver available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/cyw43-driver
Pico W Bluetooth build support available.
lwIP available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/lwip
Pico W Wi-Fi build support available.
mbedtls available at /home/carlosdelfino/.pico-sdk/sdk/2.1.0/lib/mbedtls
CMake 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/RP2040
Call Stack (most recent call first):
  CMakeLists.txt:90 (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/build
ninja: 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.

Hi @carlosdelfino

Welcome to the FreeRTOS Community Forums !

I see a couple of potential issues in the CMakeLists.txt file. You can try changing these and check if it works.

  1. FreeRTOS usually doesn’t have a FreeRTOS_Kernel_import.cmake. Is this path correct ?
include(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
  1. If the above path is correct, you need to place this line before adding the subdirectories.
include(FreeRTOS_Kernel_import.cmake)

add_subdirectory(${FREERTOS_KERNEL_PATH} freertos_kernel)
add_subdirectory(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/)
  1. You don’t need to add portable/ThirdParty/GCC/RP2040/ as a separate subdirectory.
    The portable directory should already be included when adding FREERTOS_KERNEL_PATH. Remove this line
add_subdirectory(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/)

You can use this as a reference

I cleaned up the CMakeLists.txt file based on the example you gave me, although it doesn’t give any errors, cmake isn’t generating the files for ninja to run. I’m not very familiar with cmake, and this parameterization is proving very difficult. The project that was the basis for this new one works, it compiles without any problems. But there’s something missing in this one that I can’t see.

Here’s the updated file:

# Generated Cmake Pico project file

cmake_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 "") 

# 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 SDK
pico_sdk_init()

# Add executable. Default name is the project name, version 0.1

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 header
pico_generate_pio_header(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/inc/ws2818b.pio)

# Modify the below lines to enable/disable output over UART/USB
pico_enable_stdio_uart(${PROJECT_NAME} 1)
pico_enable_stdio_usb(${PROJECT_NAME} 1)

# Add the standard include files to the build
target_include_directories(${PROJECT_NAME} PRIVATE
        ${CMAKE_CURRENT_LIST_DIR}
)

include_directories(${INCLUDES})

include(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)
 
target_link_libraries(${PROJECT_NAME} 
    FreeRTOS-Kernel-Heap4
    hardware_i2c
    hardware_adc
    hardware_dma
    hardware_pio
    hardware_timer
    hardware_watchdog
    hardware_clocks
    pico_cyw43_arch_lwip_threadsafe_background
    pico_stdlib 
)
target_compile_definitions(${PROJECT_NAME}  PRIVATE
        mainRUN_FREE_RTOS_ON_CORE=1
        PICO_STACK_SIZE=0x1000
)

pico_add_extra_outputs(${PROJECT_NAME})

To make things easier, I placed the project’s base code at github @ ArvoreDosSaberes/magnectostricao/tree/freertos, this latest fix is ​​not yet available in this repository.

I made new adjustments, and got a slightly better result, but it still doesn’t compile, I get the following output during compilation, also follows the current CMakeLists.txt.

# Generated Cmake Pico project file

cmake_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 1.5.1)
set(toolchainVersion 13_2_Rel1)
set(picotoolVersion 2.0.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 SDK
pico_sdk_init()

# Add executable. Default name is the project name, version 0.1

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 header
pico_generate_pio_header(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR}/inc/ws2818b.pio)

# Modify the below lines to enable/disable output over UART/USB
pico_enable_stdio_uart(${PROJECT_NAME} 1)
pico_enable_stdio_usb(${PROJECT_NAME} 1)

# Add the standard include files to the build
target_include_directories(${PROJECT_NAME} PRIVATE
        ${CMAKE_CURRENT_LIST_DIR}
)

include_directories(${INCLUDES})

include(${FREERTOS_KERNEL_PATH}/portable/ThirdParty/GCC/RP2040/FreeRTOS_Kernel_import.cmake)

target_link_libraries(${PROJECT_NAME} 
    FreeRTOS-Kernel-Heap4
    hardware_i2c
    hardware_adc
    hardware_dma
    hardware_pio
    hardware_timer
    hardware_watchdog
    hardware_clocks
    pico_cyw43_arch_lwip_threadsafe_background
    pico_stdlib 
)
target_compile_definitions(${PROJECT_NAME}  PRIVATE
        mainRUN_FREE_RTOS_ON_CORE=1
        PICO_STACK_SIZE=0x1000
)

pico_add_extra_outputs(${PROJECT_NAME})

 *  Executing task: /home/carlosdelfino/.pico-sdk/ninja/v1.12.1/ninja -C /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build 

ninja: Entering directory `/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build'
[13/215] Performing configure step for 'PioasmBuild'
loading initial cache file /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build/pico-sdk/src/rp2_common/pico_cyw43_driver/pioasm/tmp/PioasmBuild-cache-Release.cmake
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The CXX compiler identification is GNU 13.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (0.5s)
-- Generating done (0.0s)
-- Build files have been written to: /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build/pioasm
[14/215] Performing configure step for 'ELF2UF2Build'
-- The C compiler identification is GNU 13.3.0
-- The CXX compiler identification is GNU 13.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done (1.3s)
-- Generating done (0.0s)
-- Build files have been written to: /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/build/elf2uf2
[15/215] Performing build step for 'ELF2UF2Build'
[1/2] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o
[2/2] Linking CXX executable elf2uf2
[18/215] Performing build step for 'PioasmBuild'
[1/10] Building CXX object CMakeFiles/pioasm.dir/pio_disassembler.cpp.o
[2/10] Building CXX object CMakeFiles/pioasm.dir/c_sdk_output.cpp.o
[3/10] Building CXX object CMakeFiles/pioasm.dir/main.cpp.o
[4/10] Building CXX object CMakeFiles/pioasm.dir/gen/lexer.cpp.o
[5/10] Building CXX object CMakeFiles/pioasm.dir/hex_output.cpp.o
[6/10] Building CXX object CMakeFiles/pioasm.dir/python_output.cpp.o
[7/10] Building CXX object CMakeFiles/pioasm.dir/ada_output.cpp.o
[8/10] Building CXX object CMakeFiles/pioasm.dir/gen/parser.cpp.o
[9/10] Building CXX object CMakeFiles/pioasm.dir/pio_assembler.cpp.o
[10/10] Linking CXX executable pioasm
[23/215] Building C object CMakeFiles/magnectostriccao.dir/tasks/task_drone_control.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/task_drone_control.c:8:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[24/215] Building C object CMakeFiles/magnectostriccao.dir/tasks/freeRTOS_helpers.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/freeRTOS_helpers.c:1:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[25/215] Building C object CMakeFiles/magnectostriccao.dir/tasks/task_tinyML.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/task_tinyML.c:8:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[27/215] Building C object CMakeFiles/magnectostriccao.dir/tasks/task_adc_with_dma.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/task_adc_with_dma.c:1:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[28/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/croutine.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/croutine.c:29:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[29/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/portable/MemMang/heap_4.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/MemMang/heap_4.c:45:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[31/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/list.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/list.c:37:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[32/215] Building C object CMakeFiles/magnectostriccao.dir/main.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/main.c:2:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[33/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c:34:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c:128:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c: In function 'prvFIFOInterruptHandler':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/event_groups.h:616:5: warning: implicit declaration of function 'xTimerPendFunctionCallFromISR' [-Wimplicit-function-declaration]
  616 |     xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) ( xEventGroup ), ( uint32_t ) ( uxBitsToSet ), ( pxHigherPriorityTaskWoken ) )
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c:298:13: note: in expansion of macro 'xEventGroupSetBitsFromISR'
  298 |             xEventGroupSetBitsFromISR( xEventGroup, ulBits, &xHigherPriorityTaskWoken );
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~
[34/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/event_groups.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/event_groups.c:38:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[38/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/stream_buffer.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/stream_buffer.c:38:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[41/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/timers.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/timers.c:37:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[44/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/queue.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/queue.c:37:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[48/215] Building C object CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/tasks.c.obj
In file included from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/include/FreeRTOS.h:58,
                 from /home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/tasks.c:39:
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h: In function 'vPortRecursiveLock':
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/tasks/FreeRTOSConfig.h:425:9: warning: implicit declaration of function 'taskDISABLE_INTERRUPTS'; did you mean 'portDISABLE_INTERRUPTS'? [-Wimplicit-function-declaration]
  425 |         taskDISABLE_INTERRUPTS(); \
      |         ^~~~~~~~~~~~~~~~~~~~~~
/home/carlosdelfino/workspace/EmbarcaTech/magnectostric_freertos/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/portmacro.h:222:5: note: in expansion of macro 'configASSERT'
  222 |     configASSERT( ulLockNum < portRTOS_SPINLOCK_COUNT );
      |     ^~~~~~~~~~~~
[215/215] Linking CXX executable magnectostriccao.elf
FAILED: magnectostriccao.elf 
: && /home/carlosdelfino/.pico-sdk/toolchain/13_2_Rel1/bin/arm-none-eabi-g++ -mcpu=cortex-m0plus -mthumb -O3 -DNDEBUG -Wl,--build-id=none --specs=nosys.specs -Wl,--wrap=sprintf -Wl,--wrap=snprintf -Wl,--wrap=vsnprintf -Wl,--wrap=__clzsi2 -Wl,--wrap=__clzdi2 -Wl,--wrap=__ctzsi2 -Wl,--wrap=__ctzdi2 -Wl,--wrap=__popcountsi2 -Wl,--wrap=__popcountdi2 -Wl,--wrap=__clz -Wl,--wrap=__clzl -Wl,--wrap=__clzll -Wl,--wrap=__aeabi_idiv -Wl,--wrap=__aeabi_idivmod -Wl,--wrap=__aeabi_ldivmod -Wl,--wrap=__aeabi_uidiv -Wl,--wrap=__aeabi_uidivmod -Wl,--wrap=__aeabi_uldivmod -Wl,--wrap=__aeabi_dadd -Wl,--wrap=__aeabi_ddiv -Wl,--wrap=__aeabi_dmul -Wl,--wrap=__aeabi_drsub -Wl,--wrap=__aeabi_dsub -Wl,--wrap=__aeabi_cdcmpeq -Wl,--wrap=__aeabi_cdrcmple -Wl,--wrap=__aeabi_cdcmple -Wl,--wrap=__aeabi_dcmpeq -Wl,--wrap=__aeabi_dcmplt -Wl,--wrap=__aeabi_dcmple -Wl,--wrap=__aeabi_dcmpge -Wl,--wrap=__aeabi_dcmpgt -Wl,--wrap=__aeabi_dcmpun -Wl,--wrap=__aeabi_i2d -Wl,--wrap=__aeabi_l2d -Wl,--wrap=__aeabi_ui2d -Wl,--wrap=__aeabi_ul2d -Wl,--wrap=__aeabi_d2iz -Wl,--wrap=__aeabi_d2lz -Wl,--wrap=__aeabi_d2uiz -Wl,--wrap=__aeabi_d2ulz -Wl,--wrap=__aeabi_d2f -Wl,--wrap=sqrt -Wl,--wrap=cos -Wl,--wrap=sin -Wl,--wrap=tan -Wl,--wrap=atan2 -Wl,--wrap=exp -Wl,--wrap=log -Wl,--wrap=ldexp -Wl,--wrap=copysign -Wl,--wrap=trunc -Wl,--wrap=floor -Wl,--wrap=ceil -Wl,--wrap=round -Wl,--wrap=sincos -Wl,--wrap=asin -Wl,--wrap=acos -Wl,--wrap=atan -Wl,--wrap=sinh -Wl,--wrap=cosh -Wl,--wrap=tanh -Wl,--wrap=asinh -Wl,--wrap=acosh -Wl,--wrap=atanh -Wl,--wrap=exp2 -Wl,--wrap=log2 -Wl,--wrap=exp10 -Wl,--wrap=log10 -Wl,--wrap=pow -Wl,--wrap=powint -Wl,--wrap=hypot -Wl,--wrap=cbrt -Wl,--wrap=fmod -Wl,--wrap=drem -Wl,--wrap=remainder -Wl,--wrap=remquo -Wl,--wrap=expm1 -Wl,--wrap=log1p -Wl,--wrap=fma -Wl,--wrap=__aeabi_lmul -Wl,--wrap=__aeabi_fadd -Wl,--wrap=__aeabi_fdiv -Wl,--wrap=__aeabi_fmul -Wl,--wrap=__aeabi_frsub -Wl,--wrap=__aeabi_fsub -Wl,--wrap=__aeabi_cfcmpeq -Wl,--wrap=__aeabi_cfrcmple -Wl,--wrap=__aeabi_cfcmple -Wl,--wrap=__aeabi_fcmpeq -Wl,--wrap=__aeabi_fcmplt -Wl,--wrap=__aeabi_fcmple -Wl,--wrap=__aeabi_fcmpge -Wl,--wrap=__aeabi_fcmpgt -Wl,--wrap=__aeabi_fcmpun -Wl,--wrap=__aeabi_i2f -Wl,--wrap=__aeabi_l2f -Wl,--wrap=__aeabi_ui2f -Wl,--wrap=__aeabi_ul2f -Wl,--wrap=__aeabi_f2iz -Wl,--wrap=__aeabi_f2lz -Wl,--wrap=__aeabi_f2uiz -Wl,--wrap=__aeabi_f2ulz -Wl,--wrap=__aeabi_f2d -Wl,--wrap=sqrtf -Wl,--wrap=cosf -Wl,--wrap=sinf -Wl,--wrap=tanf -Wl,--wrap=atan2f -Wl,--wrap=expf -Wl,--wrap=logf -Wl,--wrap=ldexpf -Wl,--wrap=copysignf -Wl,--wrap=truncf -Wl,--wrap=floorf -Wl,--wrap=ceilf -Wl,--wrap=roundf -Wl,--wrap=sincosf -Wl,--wrap=asinf -Wl,--wrap=acosf -Wl,--wrap=atanf -Wl,--wrap=sinhf -Wl,--wrap=coshf -Wl,--wrap=tanhf -Wl,--wrap=asinhf -Wl,--wrap=acoshf -Wl,--wrap=atanhf -Wl,--wrap=exp2f -Wl,--wrap=log2f -Wl,--wrap=exp10f -Wl,--wrap=log10f -Wl,--wrap=powf -Wl,--wrap=powintf -Wl,--wrap=hypotf -Wl,--wrap=cbrtf -Wl,--wrap=fmodf -Wl,--wrap=dremf -Wl,--wrap=remainderf -Wl,--wrap=remquof -Wl,--wrap=expm1f -Wl,--wrap=log1pf -Wl,--wrap=fmaf -Wl,--wrap=malloc -Wl,--wrap=calloc -Wl,--wrap=realloc -Wl,--wrap=free -Wl,--wrap=memcpy -Wl,--wrap=memset -Wl,--wrap=__aeabi_memcpy -Wl,--wrap=__aeabi_memset -Wl,--wrap=__aeabi_memcpy4 -Wl,--wrap=__aeabi_memset4 -Wl,--wrap=__aeabi_memcpy8 -Wl,--wrap=__aeabi_memset8 -Wl,-Map=magnectostriccao.elf.map -Wl,--script=/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_standard_link/memmap_default.ld -Wl,-z,max-page-size=4096 -Wl,--gc-sections -Wl,--no-warn-rwx-segments -Wl,--wrap=printf -Wl,--wrap=vprintf -Wl,--wrap=puts -Wl,--wrap=putchar -Wl,--wrap=getchar CMakeFiles/magnectostriccao.dir/main.c.obj CMakeFiles/magnectostriccao.dir/inc/neopixel.c.obj CMakeFiles/magnectostriccao.dir/inc/ssd1306_i2c.c.obj CMakeFiles/magnectostriccao.dir/tasks/freeRTOS_helpers.c.obj CMakeFiles/magnectostriccao.dir/tasks/task_drone_control.c.obj CMakeFiles/magnectostriccao.dir/tasks/task_adc_with_dma.c.obj CMakeFiles/magnectostriccao.dir/tasks/task_tinyML.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/portable/MemMang/heap_4.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/port.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/croutine.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/event_groups.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/list.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/queue.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/stream_buffer.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/tasks.c.obj CMakeFiles/magnectostriccao.dir/FreeRTOS-Kernel/timers.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_clocks/clocks.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_platform/platform.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_claim/claim.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_sync/sync.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_gpio/gpio.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_irq/irq.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_irq/irq_handler_chain.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_sync/sem.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_sync/lock_core.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_sync/mutex.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_sync/critical_section.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_time/time.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_time/timeout_helper.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_timer/timer.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_util/datetime.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_util/pheap.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/common/pico_util/queue.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_pll/pll.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_vreg/vreg.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_watchdog/watchdog.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_xosc/xosc.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_exception/exception.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_multicore/multicore.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_i2c/i2c.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_adc/adc.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_dma/dma.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_pio/pio.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_lwip/lwip_nosys.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_async_context/async_context_base.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_rand/rand.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_unique_id/unique_id.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_flash/flash.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_bootrom/bootrom.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/init.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/def.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/dns.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/inet_chksum.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ip.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/mem.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/memp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/netif.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/pbuf.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/raw.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/stats.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/sys.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/altcp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/altcp_alloc.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/altcp_tcp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/tcp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/tcp_in.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/tcp_out.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/timeouts.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/udp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/autoip.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/dhcp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/etharp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/icmp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/igmp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/ip4_frag.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/ip4.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/ip4_addr.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv4/acd.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/dhcp6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/ethip6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/icmp6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/inet6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/ip6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/ip6_addr.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/ip6_frag.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/mld6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/core/ipv6/nd6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/api_lib.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/api_msg.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/err.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/if_api.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/netbuf.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/netdb.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/netifapi.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/sockets.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/api/tcpip.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ethernet.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/bridgeif.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/bridgeif_fdb.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/slipif.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/lowpan6_common.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/lowpan6.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/lowpan6_ble.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/zepif.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/auth.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/ccp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/chap-md5.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/chap_ms.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/chap-new.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/demand.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/eap.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/ecp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/eui64.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/fsm.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/ipcp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/ipv6cp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/lcp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/magic.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/mppe.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/multilink.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/ppp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/pppapi.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/pppcrypt.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/pppoe.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/pppol2tp.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/pppos.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/upap.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/utils.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/vj.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/polarssl/arc4.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/polarssl/des.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/polarssl/md4.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/polarssl/md5.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/lwip/src/netif/ppp/polarssl/sha1.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_arch/cyw43_arch.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_arch/cyw43_arch_poll.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_arch/cyw43_arch_threadsafe_background.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_arch/cyw43_arch_freertos.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_driver/cyw43_bus_pio_spi.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/cyw43-driver/src/cyw43_ll.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/cyw43-driver/src/cyw43_stats.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/cyw43-driver/src/cyw43_lwip.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/lib/cyw43-driver/src/cyw43_ctrl.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_driver/cybt_shared_bus/cybt_shared_bus.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_driver/cybt_shared_bus/cybt_shared_bus_driver.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_cyw43_driver/cyw43_driver.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_async_context/async_context_threadsafe_background.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_stdlib/stdlib.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_uart/uart.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/hardware_divider/divider.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_runtime/runtime.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_printf/printf.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_divider/divider.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_double/double_aeabi.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_double/double_init_rom.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_double/double_math.c.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_double/double_v1_rom_shim.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_int64_ops/pico_int64_ops_aeabi.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_float/float_aeabi.S.obj CMakeFiles/magnectostriccao.dir/home/carlosdelfino/.pico-sdk/sdk/1.5.1/src/rp2_common/pico_float/float_init_rom.c.obj CMakeFiles/magnecto
 *  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. 

I tried running the CMake file in this repo

I added the following changes
changes.patch (4.4 KB)

Got the following result after using the sequence of commands to build

cmake -S . -B build
cmake --build build
make -C build
make: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[1]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[  0%] Performing build step for 'ELF2UF2Build'
make[3]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/elf2uf2'
make[4]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/elf2uf2'
make[5]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/elf2uf2'
make[5]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/elf2uf2'
[100%] Built target elf2uf2
make[4]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/elf2uf2'
make[3]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/elf2uf2'
[  0%] No install step for 'ELF2UF2Build'
[  0%] Completed 'ELF2UF2Build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[  3%] Built target ELF2UF2Build
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[  4%] Performing build step for 'PioasmBuild'
make[3]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/pioasm'
make[4]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/pioasm'
make[5]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/pioasm'
make[5]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/pioasm'
[100%] Built target pioasm
make[4]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/pioasm'
make[3]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build/pioasm'
[  4%] No install step for 'PioasmBuild'
[  5%] Completed 'PioasmBuild'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[  7%] Built target PioasmBuild
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[  8%] Built target cyw43_driver_picow_cyw43_bus_pio_spi_pio_h
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[  9%] Built target magnectostriccao_ws2818b_pio_h
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[ 10%] Built target bs2_default
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[ 11%] Built target bs2_default_padded_checksummed_asm
make[2]: Entering directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make[2]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
[100%] Built target magnectostriccao
make[1]: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'
make: Leaving directory '/home/ubuntu/Temp/cmkae_project_forum/magnectostricao/build'

Let me know if this fixes the issue for you and if this is the expected result.

This change only changes the source from where I get the freertos, I use it this way because I have a slow internet speed, so I download it once from a local central repository, and from there I download it to the other working repositories.

Thanks for trying.

I made several adjustments, and after a lot of fiddling, I managed to compile, but nothing worked.

It executes the functions of creating each task (xTaskCreate) and when I start the Scheduller (xTaskStartScheduller) it freezes. It doesn’t call the tasks.

The code is at github at ArvoreDosSaberes/magnectostricao/tree/freertos_nova_abordagem (Branch freertos_nova_abordagem)

I had to change a line in freertos to compile, but I believe that this may be blocking the start of the scheduller. Although the changed code is related to the interaction between cores, and I’m only using one core.

My deadline is approaching, I need to hand in my TCC this Sunday, and I don’t know what to do anymore.

Is it possible for you to attach a debugger and check where the code is stuck, after the scheduler is started?
Also make sure configASSERT is enabled in FreeRTOSConfig.h file to see if it is stuck in any Assert

Caro RAHUL KAR,

Unfortunately, I don’t have the means to use a debugger. I’m working with the RP2040 board, and I don’t have many resources available for it here.

Atenciosamente,
Carlos

Okay, just an additional step you can try out. I see all the tasks are created at Idle priority = 0 and configUSE_TIME_SLICING is set to 0. So none of the tasks will be preempted, because none of the tasks call YIELD function. You can try setting configUSE_TIME_SLICING to 1, to see if that makes a difference or have the tasks at different priority.

I changed two tasks, one common and the one that controls the LED display, which should clear the display and display the message “Signal Level”, but nothing happens.

About the yield, they are very short tasks, and I am using vTaskDelay which would give enough time for other tasks to be executed. I also corrected the values, as they were supposed to be in milliseconds.

I just put one task and it freezes.

Just an additional query - Have you verified if the task creation is successful ( you can check by the return value of xTaskCreate ) and the configMINIMAL_STACK_SIZE is enough?

I haven’t checked, but I checked now, and it is creating.

An indication that the rp2040 freezes is that to save the firmware update I need to reset it with the boot button pressed. When it is running the firmware correctly this is not necessary.

Since there is no debugger attached, its hard to ascertain exactly what is going on.

I would try a smaller snippet of code, like

#include <stdio.h>
#include "FreeRTOS.h"
#include "task.h"

void vBlinkTask(void *pvParameters) {
    while (1) {
        printf("Blink Task Running!\n");
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}

int main() {
    stdio_init_all();
    
    xTaskCreate(vBlinkTask, "Blink", 256, NULL, 1, NULL);
    
    vTaskStartScheduler();

    while (1);
}

to see if it works, if yes, then other parts of your code might be causing the issue, if this also fails, we can check further in FreeRTOS ?

The problem is in my code, blink worked.

I’m trying to adjust the stack size, I’ll open a new post for this issue, I don’t know how to size the ideal stack, I’ve always used the default and it worked.

I tried using three times the minimum size, but it didn’t work, so it can’t create all the tasks, I made an adjustment according to possible demands, but it keeps crashing.

The funny thing about all this is that the task (task_tinyML) that I tested in isolation, only it, has no code running in it, only the delay. It shouldn’t freeze.

Okay, glad we isolated the issue atleast.

If you are using task_tinyML using the start_tinyML function, one issue might be you are using strcpy.

strcpy operates byte by byte, and depending on the implementation, it may use stack-heavy optimizations.

Try removing all the strcpy operations to see if that solves the issue. You can use memcpy as an alternative, if it fits your design.

Everything indicates that the problem is in task_display_oled, it needs a larger stack than normal, I made the adjustment that you suggested when using memcpy, but I still need more stack, I tried to find in the freertos configuration, where I can increase the stack limit for the sum of the threads, because adding all the threads I can’t use the stack.

Since you are using dynamic allocation, you can try increasing configTOTAL_HEAP_SIZE ( currently 4KB ) for allowing multiple threads to be running simultaneously.

Now it is creating all the tasks, but it is not switching between them, they are all at the same level, one level above idle.

I have already used taskYield() and vTaskDelay() and vTaskDelayUntil, but they do not switch.