Skip to content
Snippets Groups Projects
Commit 036d9200 authored by Daniel Agar's avatar Daniel Agar
Browse files

NuttX cleanup debug helpers and add profile target

parent 95f17d56
No related branches found
No related tags found
No related merge requests found
......@@ -186,29 +186,12 @@ configure_file(gdbinit.in .gdbinit)
add_custom_target(debug
COMMAND ${GDB} $<TARGET_FILE:${FW_NAME}>
DEPENDS ${FW_NAME} ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
USES_TERMINAL
)
add_custom_target(debug_tui
COMMAND ${GDBTUI} $<TARGET_FILE:${FW_NAME}>
DEPENDS ${FW_NAME} ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
)
add_custom_target(debug_ddd
COMMAND ${DDD} --debugger ${GDB} $<TARGET_FILE:${FW_NAME}>
DEPENDS ${FW_NAME} ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
)
add_custom_target(debug_io
COMMAND ${GDB} ${fw_io_path}
DEPENDS ${FW_NAME} ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
)
add_custom_target(debug_io_tui
COMMAND ${GDBTUI} ${fw_io_path}
DEPENDS ${FW_NAME} ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
add_custom_target(profile
COMMAND ${PX4_SOURCE_DIR}/platforms/nuttx/Debug/poor-mans-profiler.sh --elf=$<TARGET_FILE:${FW_NAME}> --nsamples=10000
DEPENDS ${FW_NAME} ${PX4_SOURCE_DIR}/platforms/nuttx/Debug/poor-mans-profiler.sh
USES_TERMINAL
)
add_custom_target(debug_io_ddd
COMMAND ${DDD} --debugger ${GDB} ${fw_io_path}}
DEPENDS ${fw_io} ${CMAKE_CURRENT_BINARY_DIR}/.gdbinit
)
# copy the file to .gdbinit in your Firmware tree, and adjust the path
# below to match your system
# For example:
# target extended /dev/serial/by-id/usb-Black_Sphere_Technologies_Black_Magic_Probe_DDE5A1C4-if00
# target extended /dev/ttyACM4
monitor swdp_scan
attach 1
monitor vector_catch disable hard
set mem inaccessible-by-default off
set print pretty
source platforms/nuttx/Debug/PX4
......@@ -102,12 +102,19 @@ then
do
if [[ "$taskname" = "" ]]
then
arm-none-eabi-gdb $elf --batch -ex "set print asm-demangle on" -ex bt \
arm-none-eabi-gdb $elf --batch -ex "set print asm-demangle on" \
-ex "target extended /dev/ttyACM0" \
-ex "monitor swdp_scan" \
-ex "attach 1" \
-ex bt \
2> $gdberrfile \
| sed -n 's/\(#.*\)/\1/p' \
>> $stacksfile
else
arm-none-eabi-gdb $elf --batch -ex "set print asm-demangle on" \
-ex "target extended /dev/ttyACM0" \
-ex "monitor swdp_scan" \
-ex "attach 1" \
-ex "source $root/platforms/nuttx/Debug/Nuttx.py" \
-ex "show mybt $taskname" \
2> $gdberrfile \
......
target extended ${DEBUG_PORT}
source ${PX4_SOURCE_DIR}/platforms/nuttx/Debug/PX4
source ${PX4_SOURCE_DIR}/platforms/nuttx/Debug/NuttX
source ${PX4_SOURCE_DIR}/platforms/nuttx/Debug/ARMv7M
target extended-remote ${DEBUG_PORT}
monitor swdp_scan
attach 1
monitor vector_catch disable hard
set mem inaccessible-by-default off
set print pretty
source ${PX4_SOURCE_DIR}/platforms/nuttx/Debug/PX4
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment