diff --git a/Dockerfile b/Dockerfile index b46ec5d..32f7741 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,8 @@ RUN apk update && \ libusb-dev \ bsd-compat-headers \ newlib-arm-none-eabi \ - gcc-arm-none-eabi + gcc-arm-none-eabi \ + gdb-multiarch # Raspberry Pi Pico SDK ARG SDK_PATH=/usr/share/pico_sdk diff --git a/sdk_session.sh b/sdk_session.sh new file mode 100644 index 0000000..9947118 --- /dev/null +++ b/sdk_session.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +docker run --rm -d -it --name pico-sdk --network=host --mount type=bind,source=${PWD},target=/home/dev pico-sdk-debug + +session="Pico-sdk" + +tmux new-session -d -s $session + +window=0 +tmux rename-window -t $session:$window 'Docker' +tmux send-keys -t $session:$window 'docker exec -it pico-sdk ./bin/sh' C-m + +window=1 +tmux new-window -t $session:$window -n 'OpenOCD' +tmux send-keys -t $session:$window 'sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c "bindto 0.0.0.0"' C-m + +window=2 +tmux new-window -t $session:$window -n 'UART' + +tmux attach-session -t $session diff --git a/test_poject/.vscode/extensions.json b/test_poject/.vscode/extensions.json new file mode 100644 index 0000000..4a589e7 --- /dev/null +++ b/test_poject/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": ["llvm-vs-code-extensions.vscode-clangd", + "marus25.cortex-debug", + "ms-vscode.cmake-tools", + "ms-vscode.cpptools", + "ms-vscode.cpptools-extension-pack" + ] +} \ No newline at end of file diff --git a/test_poject/.vscode/launch.json b/test_poject/.vscode/launch.json new file mode 100644 index 0000000..2ae4f60 --- /dev/null +++ b/test_poject/.vscode/launch.json @@ -0,0 +1,25 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Pico debug", + "cwd": "${workspaceFolder}", + "gdbPath": "/usr/bin/gdb-multiarch", + "executable": "/home/dev/build/sample.elf", + "request": "launch", + "type": "cortex-debug", + "runToEntryPoint": "main", + "servertype": "external", + "gdbTarget": "host.docker.internal:3333", + "overrideLaunchCommands": [ + "monitor adapter speed 5000", + "monitor reset init", + "load ${command:cmake.launchTargetPath}" + ], + + } + ] +} \ No newline at end of file diff --git a/test_poject/.vscode/settings.json b/test_poject/.vscode/settings.json new file mode 100644 index 0000000..fac3607 --- /dev/null +++ b/test_poject/.vscode/settings.json @@ -0,0 +1,13 @@ +{ + "C_Cpp.intelliSenseEngine": "disabled", + "clangd.path": "/usr/bin/clangd", + "clangd.checkUpdates": false, + "clangd.restartAfterCrash": true, + "clangd.detectExtensionConflicts": true, + "clangd.arguments": ["-log=verbose", + "-pretty", + "--background-index", + "--query-driver=/usr/bin/arm-none-eabi-gcc", + "--compile-commands-dir=/home/dev/build"], + "cmake.sourceDirectory": "/home/dev" +} \ No newline at end of file diff --git a/test_poject/CMakeLists.txt b/test_poject/CMakeLists.txt index 7d4c4c9..e699572 100644 --- a/test_poject/CMakeLists.txt +++ b/test_poject/CMakeLists.txt @@ -9,13 +9,21 @@ set(CMAKE_CXX_COMPILER /usr/bin/arm-none-eabi-g++ CACHE PATH "" FORCE) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +add_compile_options(-Wall -g -O1) pico_sdk_init() add_executable(sample main.c) -pico_enable_stdio_usb(sample 1) +pico_enable_stdio_usb(sample 0) pico_enable_stdio_uart(sample 1) pico_add_extra_outputs(sample) -target_link_libraries(sample pico_stdlib) +target_link_libraries(sample + pico_stdlib + hardware_pio + hardware_timer + hardware_clocks + hardware_pwm +) diff --git a/test_poject/main.c b/test_poject/main.c index 904636e..f27df4f 100644 --- a/test_poject/main.c +++ b/test_poject/main.c @@ -3,12 +3,11 @@ #include "hardware/gpio.h" #include "pico/binary_info.h" -const int LED_PIN = 25; +const int LED_PIN = 0; int main () { - bi_decl(bi_program_description("Sample binary")); - bi_decl(bi_1pin_with_name(LED_PIN, "on-board PIN")); + int test = 0; stdio_init_all(); @@ -20,8 +19,9 @@ int main () gpio_put(LED_PIN, 0); sleep_ms(250); gpio_put(LED_PIN, 1); - puts("Hello Word\n"); + printf("Hello Word %d\n", test); sleep_ms(1000); + test++; } } pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy