Link fixes galore (#25151)

This commit is contained in:
Hamish Willee
2025-07-03 14:53:12 +10:00
committed by GitHub
parent dd0d00aedc
commit 375f421c61
107 changed files with 836 additions and 972 deletions
+1 -1
View File
@@ -10,7 +10,7 @@ This page explains the main differences and how the console/shell are used.
The PX4 _System Console_ provides low-level access to the system, debug output and analysis of the system boot process.
There is just one _System Console_, which runs on one specific UART (the debug port, as configured in NuttX), and is commonly attached to a computer via an FTDI cable (or some other debug adapter like a [Dronecode probe](https://kb.zubax.com/display/MAINKB/Dronecode+Probe+documentation)).
There is just one _System Console_, which runs on one specific UART (the debug port, as configured in NuttX), and is commonly attached to a computer via an FTDI cable (or some other debug adapter like a [Zubax BugFace BF1](https://github.com/Zubax/bugface_bf1)).
- Used for _low-level debugging/development_: bootup, NuttX, startup scripts, board bringup, development on central parts of PX4 (e.g. uORB).
- In particular, is the only place where all boot output (including information about applications auto-started on boot) is printed.
+6 -6
View File
@@ -1,13 +1,13 @@
# Black Magic Probe (and Dronecode Probe)
# Black Magic Probe (and Zubax BugFace BF1)
The [Black Magic Probe](https://black-magic.org) is an easy to use, mostly plug-and-play, JTAG/SWD debugger for embedded microcontrollers.
Since the Black Magic Probe is a generic debug probe, you will need an adapter to connect to Pixhawk flight controllers, which can be purchased here:
- [Drone Code Debug Adapter](https://1bitsquared.com/products/drone-code-debug-adapter) (1 BIT SQUARED).
## Dronecode Probe
## Zubax BugFace BF1 {#dronecode-probe}
The [Dronecode Probe](https://kb.zubax.com/display/MAINKB/Dronecode+Probe+documentation) is a specialization of the Black Magic Probe for debugging PX4 autopilots.
The [Zubax BugFace BF1](https://github.com/Zubax/bugface_bf1) (formerly known as "Dronecode Probe") is a specialization of the Black Magic Probe for debugging PX4 autopilots.
The probe's USB interface exposes two separate virtual serial port interfaces: one for connecting to the [System Console](system_console.md) (UART) and the other for an embedded GDB server (SWD interface).
@@ -20,17 +20,17 @@ The _6-pos DF13_ connector that comes with the probe cannot be used for SWD debu
## Using the Probe
::: info
To debug STM32F7 or later (FMUv5 and newer) the Dronecode probe / Blackmagic probe likely requires a firmware update.
To debug STM32F7 or later (FMUv5 and newer) the Zubax BugFace BF1 / Blackmagic probe likely requires a firmware update.
You can find how to update the [blackmagic probe here](https://github.com/blacksphere/blackmagic/wiki/Upgrading-Firmware).
:::
To use a Dronecode probe with GDB, start GDB with the exact ELF file that is currently flashed on the autopilot:
To use a Zubax BugFace BF1 with GDB, start GDB with the exact ELF file that is currently flashed on the autopilot:
```sh
arm-none-eabi-gdb build/px4_fmu-v5_default/px4_fmu-v5_default.elf
```
Then, you have to select the Dronecode probe interface, on Linux this is e.g.:
Then, you have to select the Zubax BugFace BF1 interface, on Linux this is e.g.:
```sh
target ext /dev/serial/by-id/usb-Black_Sphere_Technologies_Black_Magic_Probe_f9414d5_7DB85DAC-if00
+4 -4
View File
@@ -17,14 +17,14 @@ The folded stacks are then fed into the visualization script, for which purpose
The profiler relies on GDB to run PX4 on the embedded target.
So before profiling a target, you must have the hardware you wish to profile, and you must compile and upload the firmware to that hardware.
You will then need a [debug probe](../debug/swd_debug.md#debug-probes) (such as the DroneCode Probe), to run the GDB server and interact with the board.
You will then need a [debug probe](../debug/swd_debug.md#debug-probes) (such as the Zubax BugFace BF1), to run the GDB server and interact with the board.
### Determine the Debugger Device
The `poor-mans-profiler.sh` automatically detects and uses the correct USB device if you use it with a [DroneCode Probe](../debug/probe_bmp.md#dronecode-probe).
The `poor-mans-profiler.sh` automatically detects and uses the correct USB device if you use it with a [Zubax BugFace BF1](../debug/probe_bmp.md#dronecode-probe).
If you use a different kind of probe you may need to pass in the specific _device_ on which the debugger is located.
You can use the bash command `ls -alh /dev/serial/by-id/` to enumerate the possible devices on Ubuntu.
For example the following devices are enumerated with a Pixhawk 4 and DroneCode Probe connected over USB:
For example the following devices are enumerated with a Pixhawk 4 and Zubax BugFace BF1 connected over USB:
```sh
user@ubuntu:~/PX4-Autopilot$ ls -alh /dev/serial/by-id/
@@ -48,7 +48,7 @@ Then pass in the appropriate device using the `--gdbdev` argument like this:
### Running
Basic usage of the profiler is available through the build system.
For example, the following command builds and profiles px4_fmu-v4pro target with 10000 samples (fetching _FlameGraph_ and adding it to the path as needed).
For example, the following command builds and profiles px4*fmu-v4pro target with 10000 samples (fetching \_FlameGraph* and adding it to the path as needed).
```sh
make px4_fmu-v4pro_default profile
+1 -1
View File
@@ -187,7 +187,7 @@ The cable used to connect the M2 and the STLinkv3-MINIE comes with the adaptor.
Some SWD [debug probes](#debug-probes) come with adapters/cables for connecting to common Pixhawk [debug ports](#debug-ports).
Probes that are known to come with connectors are listed below:
- [DroneCode Probe](../debug/probe_bmp.md#dronecode-probe): comes with a connector for attaching to the [Pixhawk Debug Mini](#pixhawk-debug-mini)
- [Zubax BugFace BF1](../debug/probe_bmp.md#dronecode-probe): comes with a connector for attaching to the [Pixhawk Debug Mini](#pixhawk-debug-mini)
### Board-specific Adapters