There are two pieces of software we need to install in order to get debugging. First is a GDB server. When using the Arduino Zero, you'll need OpenOCD. OpenOCD is a tool to communicate with debug hardware tools such as the EDBG chip on the Arduino Zero. When using a JLink debugger, you'll use the JLink GDB server. GDB is the GNU Debugger which talks with OpenOCD to control and inspect the raw state of the microcontroller and, using the binary symbols, translate that info back into the source code realm.
GDB Server
Below we'll cover OpenOCD to work with the Arduino Zero. See here for more information on installing the JLink GDB Server.
OpenOCD
You can get OpenOCD from here. Below are quick start instructions.
Windows
Download and install the latest binary from here.
Mac OSX
Installation on Mac OSX is easiest using Homebrew. (If you don't have brew installed see here.)
brew install open-ocd
Linux
For Ubuntu, install the ARM toolchain using the instructions in the Building CircuitPython Learn Guide. Other Linux distributions may have packages available. Here are some examples.
# Ubuntu, Debian, Raspbian, Mint
sudo apt-get install openocd # http://packages.ubuntu.com/search?keywords=openocd&searchon=names
# Fedora
su -c 'yum install openocd' # https://apps.fedoraproject.org/packages/openocd
# Arch
pacman -S openocd # https://www.archlinux.org/packages/community/x86_64/openocd/
GDB
GDB is part of the larger ARM toolchain. So don't be surprised to see a number of arm-none-eabi-* binaries installed.
Windows
Download install the win32 executable from here.
Also make sure that you have 32-bit (x86 not x86-64) Python 2.7x installed from here. We'll be using Python to interpret the Micro Trace Buffer later.
Mac OSX
Installation on Mac OSX is easiest using Homebrew. (If you don't have brew installed see here.)
brew install --cask gcc-arm-embedded
Linux
To install the arm gcc toolchain on Ubuntu following the instructions in the Building CircuitPython Learng Guide. Other distributions may have the toolchain available as a package, but check the Building Python Learn Guide for the correct version.
# Fedora
su -c 'yum install arm-none-eabi-gdb' # https://apps.fedoraproject.org/packages/arm-none-eabi-gdb
# Arch
pacman -S arm-none-eabi-gdb # https://www.archlinux.org/packages/community/i686/arm-none-eabi-gdb/
Page last edited March 08, 2024
Text editor powered by tinymce.