Skip to content
Snippets Groups Projects
Commit 07736e19 authored by Erik Strand's avatar Erik Strand
Browse files

Update README

parent cd582cc5
No related branches found
No related tags found
No related merge requests found
# OpenOCD
[OpenOCD](http://openocd.org/) is a tool for on-chip debugging. It's also a great tool just for
flashing programs and bootloaders.
## Installation
### Package Managers
......@@ -13,17 +16,35 @@ On Windows, there is no package manager. Untested: there are binaries
### From Source
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.
*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](https://sourceforge.net/p/openocd/code/ci/master/tree/)
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](http://openocd.org/doc-release/README).
\ No newline at end of file
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](http://openocd.org/doc-release/README). 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](https://electronics.stackexchange.com/questions/405134/swdap-vs-cmsis-dap-vs-daplink).)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment