Skip to content

Commit

Permalink
Fix CMake build for RP2040 (FreeRTOS#1197)
Browse files Browse the repository at this point in the history
Add public dependency to hardware_sync because portable\ThirdParty\GCC\RP2040\include\portmacro.h exposes include "hardware/sync.h" to FreeRTOS.h which is PUBLIC.

Add private dependency to pico_multicore because of usage prvFIFOInterruptHandler() and sio_hw in portable/ThirdParty/GCC/RP2040/port.c.
  • Loading branch information
yh-sb authored Nov 25, 2024
1 parent 874fa7b commit 682f051
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion portable/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1215,6 +1215,11 @@ target_include_directories(freertos_kernel_port_headers INTERFACE
$<$<STREQUAL:${FREERTOS_PORT},WIZC_PIC18>:${CMAKE_CURRENT_LIST_DIR}/WizC/PIC18>
)

target_link_libraries(freertos_kernel_port_headers
INTERFACE
$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:hardware_sync>
)

if(FREERTOS_PORT STREQUAL GCC_POSIX)
find_package(Threads REQUIRED)
endif()
Expand All @@ -1227,6 +1232,6 @@ target_link_libraries(freertos_kernel_port
PRIVATE
freertos_kernel_include
$<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>:Threads::Threads>
"$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:hardware_clocks;hardware_exception>"
"$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:hardware_clocks;hardware_exception;pico_multicore>"
$<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:winmm> # Windows library which implements timers
)

0 comments on commit 682f051

Please sign in to comment.