# JLink Debug Probe
The J-Link debug probe (opens new window) is a closed-source, commercial hardware probe which supports almost all ARM Cortex-M devices. You need to install the J-Link drivers (opens new window) for this probe to work:
# Ubuntu wget --post-data "accept_license_agreement=accepted" https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.deb sudo dpkg -i JLink_Linux_x86_64.deb # macOS brew install segger-jlink
Once installed, you can start the server using:
JLinkGDBServer -if swd -device STM32F765II
It might then prompt you to update the JLink which is recommended, and then to specify which device it is communicating with. Check the docs of your autopilot for the specific device.
Once that's done, the GDB server should be start listening on port
2331, e.g. like so:
Checking target voltage... Target voltage: 3.28 V Listening on TCP/IP port 2331 Connecting to target... Connected to target Waiting for GDB connection...
You can now start GDB with the exact elf file that is currently flashed on the autopilot (in a separate terminal):
arm-none-eabi-gdb build/px4_fmu-v5_default/px4_fmu-v5_default.elf -ex "target extended-remote :2331"
And now you should be connected.
# Segger JLink EDU Mini Debug Probe
The Segger JLink EDU Mini (opens new window) is an inexpensive and popular SWD debug probe. The probe's connector pinout looks like the image below (connect to this using an ARM 10-pin mini connector like FTSH-105-01-F-DV-K (opens new window)).
The pin mapping to connect the J-Link Edu Mini to Pixhawk Debug Mini is shown below.
Note that none of the JLink debug probes have a built in serial connection, so you need to connect the console separately.