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

Make it clear that other docs are planned

parent ca9ccf3a
No related branches found
No related tags found
No related merge requests found
# OpenOCD
# Tools
[OpenOCD](http://openocd.org/) is a tool for on-chip debugging. It's also a great tool just for
flashing programs and bootloaders.
This repo is intended to document software tools that are used across multiple microcontrollers.
## Installation
Underway:
### Package Managers
- [OpenOCD](openocd)
On Linux, TODO.
Planned:
On Mac, using [Homebrew](https://brew.sh/): `brew install openocd`.
On Windows, there is no package manager. Untested: there are binaries
[here](https://gnutoolchains.com/arm-eabi/openocd/).
### 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](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). Once you
have the prereqs, building is a standard process. Just note that you need to enable cmsis-dap, which is the protocol your computer will use to communicate with an ATMEL ICE debugger.
```
./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).)
- Arduino (with support for boards we've flashed)
- PlatformIO
- gdb
# 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
On Linux, TODO.
On Mac, using [Homebrew](https://brew.sh/): `brew install openocd`.
On Windows, there is no package manager. Untested: there are binaries
[here](https://gnutoolchains.com/arm-eabi/openocd/).
### 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](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). Once you
have the prereqs, building is a standard process. Just note that you need to enable cmsis-dap, which is the protocol your computer will use to communicate with an ATMEL ICE debugger.
```
./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