From 09535fef83918eff9ff7a8e77ad5a1aea6bf3c82 Mon Sep 17 00:00:00 2001 From: px4dev Date: Mon, 14 Jan 2013 09:34:33 -0800 Subject: [PATCH] Start adding PX4 firmware helper macros --- Debug/PX4 | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Debug/PX4 diff --git a/Debug/PX4 b/Debug/PX4 new file mode 100644 index 0000000000..7d59059398 --- /dev/null +++ b/Debug/PX4 @@ -0,0 +1,54 @@ +# +# Various PX4-specific macros +# +source Debug/NuttX + +echo Loading PX4 GDB macros. Use 'help px4' for more information.\n + +define px4 + echo Use 'help px4' for more information.\n +end + +document px4 +. Various macros for working with the PX4 firmware. +. +. perf +. Prints the state of all performance counters. +. +. Use 'help ' for more specific help. +end + + +define _perf_print + set $hdr = (struct perf_ctr_header *)$arg0 + printf "%p\n", $hdr + printf "%s: ", $hdr->name + # PC_COUNT + if $hdr->type == 0 + set $count = (struct perf_ctr_count *)$hdr + printf "%llu events,\n", $count->event_count; + end + # PC_ELPASED + if $hdr->type == 1 + set $elapsed = (struct perf_ctr_elapsed *)$hdr + printf "%llu events, %lluus elapsed, min %lluus, max %lluus\n", $elapsed->event_count, $elapsed->time_total, $elapsed->time_least, $elapsed->time_most + end + # PC_INTERVAL + if $hdr->type == 2 + set $interval = (struct perf_ctr_interval *)$hdr + printf "%llu events, %llu avg, min %lluus max %lluus\n", $interval->event_count, ($interval->time_last - $interval->time_first) / $interval->event_count, $interval->time_least, $interval->time_most + end +end + +define perf + set $ctr = (sq_entry_t *)(perf_counters.head) + while $ctr != 0 + _perf_print $ctr + set $ctr = $ctr->flink + end +end + +document perf +. perf +. Prints performance counters. +end