Debugging POC

This commit is contained in:
lukstep
2023-09-25 22:57:46 +02:00
parent 3d8b06e9b7
commit 0d802ea304
7 changed files with 82 additions and 7 deletions

View File

@@ -11,7 +11,8 @@ RUN apk update && \
libusb-dev \ libusb-dev \
bsd-compat-headers \ bsd-compat-headers \
newlib-arm-none-eabi \ newlib-arm-none-eabi \
gcc-arm-none-eabi gcc-arm-none-eabi \
gdb-multiarch
# Raspberry Pi Pico SDK # Raspberry Pi Pico SDK
ARG SDK_PATH=/usr/share/pico_sdk ARG SDK_PATH=/usr/share/pico_sdk

20
sdk_session.sh Normal file
View File

@@ -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

8
test_poject/.vscode/extensions.json vendored Normal file
View File

@@ -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"
]
}

25
test_poject/.vscode/launch.json vendored Normal file
View File

@@ -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}"
],
}
]
}

13
test_poject/.vscode/settings.json vendored Normal file
View File

@@ -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"
}

View File

@@ -9,13 +9,21 @@ set(CMAKE_CXX_COMPILER /usr/bin/arm-none-eabi-g++ CACHE PATH "" FORCE)
set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_compile_options(-Wall -g -O1)
pico_sdk_init() pico_sdk_init()
add_executable(sample main.c) add_executable(sample main.c)
pico_enable_stdio_usb(sample 1) pico_enable_stdio_usb(sample 0)
pico_enable_stdio_uart(sample 1) pico_enable_stdio_uart(sample 1)
pico_add_extra_outputs(sample) 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
)

View File

@@ -3,12 +3,11 @@
#include "hardware/gpio.h" #include "hardware/gpio.h"
#include "pico/binary_info.h" #include "pico/binary_info.h"
const int LED_PIN = 25; const int LED_PIN = 0;
int main () int main ()
{ {
bi_decl(bi_program_description("Sample binary")); int test = 0;
bi_decl(bi_1pin_with_name(LED_PIN, "on-board PIN"));
stdio_init_all(); stdio_init_all();
@@ -20,8 +19,9 @@ int main ()
gpio_put(LED_PIN, 0); gpio_put(LED_PIN, 0);
sleep_ms(250); sleep_ms(250);
gpio_put(LED_PIN, 1); gpio_put(LED_PIN, 1);
puts("Hello Word\n"); printf("Hello Word %d\n", test);
sleep_ms(1000); sleep_ms(1000);
test++;
} }
} }