Add in flag for pico vs pico2

main
John Kenyon 2025-01-08 18:10:35 -08:00
parent 8398761e7c
commit 503c95d868
8 changed files with 153 additions and 0 deletions

View File

@ -4,3 +4,14 @@ Remember to `git submodule update --init --recursive`
Trying to get a zero-friction FreeRTOS + RP2040 setup, and examples.
# Connect to TTY
With screen:
`screen /dev/ttyACM0 115200`
With minicom:
`minicom --device /dev/ttyACM0 --baudrate 115200`

22
build_all.sh Normal file
View File

@ -0,0 +1,22 @@
# PICO_BOARD could be pico or pico2
BOARDFLAG=-DPICO_BOARD=pico2
(cd examples/ex0_no_freertos/; rm -rf build; mkdir -p build; cd build; cmake .. $BOARDFLAG; make -j 8; ls)
(cd examples/ex1_task_hello/; rm -rf build; mkdir -p build; cd build; cmake .. $BOARDFLAG; make -j 8; ls)
(cd examples/ex2_read_input/; rm -rf build; mkdir -p build; cd build; cmake .. $BOARDFLAG; make -j 8; ls)
(cd examples/ex3_producer_consumer/; rm -rf build; mkdir -p build; cd build; cmake .. $BOARDFLAG; make -j 8; ls)
(cd examples/ex4_mutex/; rm -rf build; mkdir -p build; cd build; cmake .. $BOARDFLAG; make -j 8; ls)
(cd examples/ex5_metrics/; rm -rf build; mkdir -p build; cd build; cmake .. $BOARDFLAG; make -j 8; ls)
(cd examples/ex6_reboot_to_bootloader/; rm -rf build; mkdir -p build; cd build; cmake .. $BOARDFLAG; make -j 8; ls)

View File

@ -21,6 +21,16 @@ project(ex1_task_hello C CXX ASM)
# Initialize the Pico SDK
pico_sdk_init()
if(${PICO_BOARD} STREQUAL "pico2")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2350/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
elseif(${PICO_BOARD} STREQUAL "pico")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
@ -29,6 +39,16 @@ include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
else()
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
endif()
# Create the executable
add_executable(ex1_task_hello main.c

View File

@ -22,6 +22,16 @@ project(${PROJECT} C CXX ASM)
# Initialize the Pico SDK
pico_sdk_init()
if(${PICO_BOARD} STREQUAL "pico2")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2350/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
elseif(${PICO_BOARD} STREQUAL "pico")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
@ -30,6 +40,16 @@ include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
else()
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
endif()
# Create the executable
add_executable(${PROJECT} main.c

View File

@ -22,6 +22,16 @@ project(${PROJECT} C CXX ASM)
# Initialize the Pico SDK
pico_sdk_init()
if(${PICO_BOARD} STREQUAL "pico2")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2350/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
elseif(${PICO_BOARD} STREQUAL "pico")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
@ -30,6 +40,16 @@ include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
else()
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
endif()
# Create the executable
add_executable(${PROJECT} main.c

View File

@ -22,6 +22,16 @@ project(${PROJECT} C CXX ASM)
# Initialize the Pico SDK
pico_sdk_init()
if(${PICO_BOARD} STREQUAL "pico2")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2350/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
elseif(${PICO_BOARD} STREQUAL "pico")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
@ -30,6 +40,16 @@ include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
else()
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
endif()
# Create the executable
add_executable(${PROJECT} main.c

View File

@ -22,6 +22,16 @@ project(${PROJECT} C CXX ASM)
# Initialize the Pico SDK
pico_sdk_init()
if(${PICO_BOARD} STREQUAL "pico2")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2350/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
elseif(${PICO_BOARD} STREQUAL "pico")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
@ -30,6 +40,16 @@ include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
else()
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
endif()
# Create the executable
add_executable(${PROJECT} main.c

View File

@ -22,6 +22,16 @@ project(${PROJECT} C CXX ASM)
# Initialize the Pico SDK
pico_sdk_init()
if(${PICO_BOARD} STREQUAL "pico2")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2350/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
elseif(${PICO_BOARD} STREQUAL "pico")
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
@ -30,6 +40,16 @@ include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
else()
include_directories(
${LIB_ROOT}/submodules/pico-sdk/src/rp2040/hardware_structs/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/include/
${LIB_ROOT}/submodules/FreeRTOS-Kernel/portable/ThirdParty/GCC/RP2040/include/
include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/hardware_exception/include/
${LIB_ROOT}/submodules/pico-sdk/src/rp2_common/pico_multicore/include/
)
endif()
# Create the executable
add_executable(${PROJECT} main.c