Skip to content

Introduction to OpenoOCD

doctek edited this page Aug 4, 2011 · 4 revisions

This page is not all I want it to be yet.

What this page is:

Caution to would-be flash driver writers:

The COOCDFlash project currently assumes that you are experienced with developing using OpenOCD and have both a suitable software (ARM tool chain) and hardware (programmer / gdb interface interface) environment working. Presumably, you are interested in working with a new (unsupported) microcontroller and are confused by the OpenOCD package structure and how you might extend it to support your new chip. The focus of this information is on ARM systems, but it applies to other systems as well.

It is further assumed that your are developing on Linux. Most everything should apply if you are developing on Windows, but there may be a Linux slant.

Useful Info for the Flash Driver Developer

OpenOCD has some information useful to the developer of flash drivers. While COOCDFlash exists to supplement what OpenOCD has, you should know about these. In addition to the OpenOCD User's Manual and Developer's Guide, the Doxygen documentation is very useful. Find it here. As you read the material on this site, you'll find the doxygen material a very useful supplement. Here's the link to the Developer's Guides that might also be useful.

You'll probably also want to sign up for the OpenOCD Mailing List.

What this page should be: (Work for another time.)

Gentle introduction to OpenOCD for the Beginner

Intro to OpenOCD

  • How to download, build, install, and run.
  • Instructions on using OpenOCD with telnet and gdb.

Intro to the ARM Tool Chain

  • Building an Open Source Toolchain. This site offers a good one. Read the whole thing and follow the directions.
  • Libraries from Manufacturers
  • links to OPEN SOURCE versions of libraries that avoid the restrictive licenses.

Inexpensive Development Environments

  • Using the STM Discovery as an inexpensive development system with Versaloon. (This is not for the beginner!)

How all this works for embedded system development