From 503c95d868fda03b97ef33749038a0627523011e Mon Sep 17 00:00:00 2001 From: John Kenyon Date: Wed, 8 Jan 2025 18:10:35 -0800 Subject: [PATCH] Add in flag for pico vs pico2 --- README.md | 11 ++++++++++ build_all.sh | 22 +++++++++++++++++++ examples/ex1_task_hello/CMakeLists.txt | 20 +++++++++++++++++ examples/ex2_read_input/CMakeLists.txt | 20 +++++++++++++++++ examples/ex3_producer_consumer/CMakeLists.txt | 20 +++++++++++++++++ examples/ex4_mutex/CMakeLists.txt | 20 +++++++++++++++++ examples/ex5_metrics/CMakeLists.txt | 20 +++++++++++++++++ .../ex6_reboot_to_bootloader/CMakeLists.txt | 20 +++++++++++++++++ 8 files changed, 153 insertions(+) create mode 100644 build_all.sh diff --git a/README.md b/README.md index bc89215..53e7a8f 100644 --- a/README.md +++ b/README.md @@ -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` + diff --git a/build_all.sh b/build_all.sh new file mode 100644 index 0000000..ddb0ba8 --- /dev/null +++ b/build_all.sh @@ -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) + + + + + + + + + + diff --git a/examples/ex1_task_hello/CMakeLists.txt b/examples/ex1_task_hello/CMakeLists.txt index 41c8897..4e7fd2f 100644 --- a/examples/ex1_task_hello/CMakeLists.txt +++ b/examples/ex1_task_hello/CMakeLists.txt @@ -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 diff --git a/examples/ex2_read_input/CMakeLists.txt b/examples/ex2_read_input/CMakeLists.txt index 9442553..a94a8c7 100644 --- a/examples/ex2_read_input/CMakeLists.txt +++ b/examples/ex2_read_input/CMakeLists.txt @@ -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 diff --git a/examples/ex3_producer_consumer/CMakeLists.txt b/examples/ex3_producer_consumer/CMakeLists.txt index 2df9f16..203dc49 100644 --- a/examples/ex3_producer_consumer/CMakeLists.txt +++ b/examples/ex3_producer_consumer/CMakeLists.txt @@ -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 diff --git a/examples/ex4_mutex/CMakeLists.txt b/examples/ex4_mutex/CMakeLists.txt index efd54c5..628ce64 100644 --- a/examples/ex4_mutex/CMakeLists.txt +++ b/examples/ex4_mutex/CMakeLists.txt @@ -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 diff --git a/examples/ex5_metrics/CMakeLists.txt b/examples/ex5_metrics/CMakeLists.txt index 30d97ef..0036410 100644 --- a/examples/ex5_metrics/CMakeLists.txt +++ b/examples/ex5_metrics/CMakeLists.txt @@ -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 diff --git a/examples/ex6_reboot_to_bootloader/CMakeLists.txt b/examples/ex6_reboot_to_bootloader/CMakeLists.txt index 6ab4a7e..10fa049 100644 --- a/examples/ex6_reboot_to_bootloader/CMakeLists.txt +++ b/examples/ex6_reboot_to_bootloader/CMakeLists.txt @@ -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