diff --git a/README.md b/README.md index 9aabc18469b03bfd201a88ed9835bb195c1ab55e..79f18606963817544a202688cccc157e20056336 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,13 @@ -# 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 diff --git a/openocd/README.md b/openocd/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9aabc18469b03bfd201a88ed9835bb195c1ab55e --- /dev/null +++ b/openocd/README.md @@ -0,0 +1,50 @@ +# 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).)