Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • gdb
2 results

tools

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    Erik Strand authored
    07736e19
    History
    Name Last commit Last update
    README.md

    OpenOCD

    OpenOCD is a tool for on-chip debugging. It's also a great tool just for flashing programs and bootloaders.

    Installation

    Package Managers

    On Linux, TODO.

    On Mac, using Homebrew: brew install openocd.

    On Windows, there is no package manager. Untested: there are binaries here.

    From Source

    This section is for Linux and Mac only

    If you want to know exactly which version you're using, or you're going for maximum bare metal cred, you can build from source. This can be helpful if you'll be developing between different operating systems — one less thing that could be different — or if the package available on your system is out of date.

    The official git repo is on SourceForge.

    git clone https://git.code.sf.net/p/openocd/code openocd-code

    To build it, you'll need gcc or clang, as well as make, libtool, pkg-config version 0.23 or greater, and possibly others detailed here. Once you have the prereqs, building is a standard process:

    ./bootstrap
    ./configure --enable-cmsis-dap
    make
    make install

    Basic Use

    Config files

    When openocd starts, it first processes some configuration commands. You can specify a specific config file with openocd -f path/to/your/config.cfg, or by default it looks for openocd.cfg. At a minimum, openocd needs to know how to communicate with the programming/debug tool you're using (e.g. ATMEL ICE), and what microcontroller you're using. For ATMEL ICE, we want cmsis-dap. (You can read more about what this means here.)