2010-02-06 21:19:25 -06:00
|
|
|
/** @mainpage OpenOCD Developer's Guide
|
2009-05-13 03:58:08 -05:00
|
|
|
|
2010-02-06 21:19:25 -06:00
|
|
|
Welcome to the OpenOCD Developer's Guide -- the developer's resource for
|
2009-07-01 14:55:52 -05:00
|
|
|
learning about the internal architecture of the OpenOCD project. @par
|
2009-05-23 17:52:47 -05:00
|
|
|
|
|
|
|
In addition, this document contains the tactical and strategic plans
|
2009-05-27 10:15:06 -05:00
|
|
|
and processes that have been developed by and for the OpenOCD community.
|
2009-05-23 17:52:47 -05:00
|
|
|
|
|
|
|
Developers that want to contribute to OpenOCD should read the following
|
|
|
|
sections before starting work:
|
|
|
|
|
|
|
|
- The List of @subpage thelist enumerates opportunities for improving or
|
|
|
|
extending the OpenOCD platform. If your ideas are on The List, you might
|
|
|
|
check the mailing list archives to find the status of your feature (or bug).
|
|
|
|
- The @subpage styleguide provides rules that developers should
|
|
|
|
follow when writing new code for OpenOCD.
|
|
|
|
- The @subpage patchguide provides policies that developers should
|
|
|
|
follow when submitting patches to the project.
|
|
|
|
- The @subpage bugs page contains the content of the BUGS file, which
|
|
|
|
provides instructions for submitting bug reports to the maintainers.
|
2009-07-02 05:54:30 -05:00
|
|
|
- The @subpage releases page describes the project's release process.
|
2009-05-23 17:52:47 -05:00
|
|
|
|
|
|
|
@ref primer provide introductory materials for new developers on various
|
|
|
|
specific topics.
|
|
|
|
|
|
|
|
Finally, the @ref oocd pages explain how the code has been organized
|
|
|
|
into layers of APIs, providing an overview of how they fit together.
|
|
|
|
These pages attempt to give developers a high-level perspective of the
|
|
|
|
various code modules provided by OpenOCD.
|
2009-05-14 19:49:30 -05:00
|
|
|
|
2009-05-13 03:58:08 -05:00
|
|
|
*/
|
|
|
|
|
2009-05-14 17:16:20 -05:00
|
|
|
/** @page primer OpenOCD Technical Primers
|
2009-05-13 06:10:35 -05:00
|
|
|
|
2009-05-14 17:16:20 -05:00
|
|
|
This pages lists Technical Primers available for OpenOCD Developers.
|
2009-05-13 06:10:35 -05:00
|
|
|
They seek to provide information to pull novices up the learning curves
|
|
|
|
associated with the fundamental technologies used by OpenOCD.
|
|
|
|
|
2009-06-02 21:12:44 -05:00
|
|
|
- @subpage primerpatches
|
2009-05-27 05:40:52 -05:00
|
|
|
- @subpage primerdocs
|
|
|
|
- @subpage primerautotools
|
2009-05-20 03:58:09 -05:00
|
|
|
- @subpage primertcl
|
2009-05-13 06:10:35 -05:00
|
|
|
- @subpage primerjtag
|
|
|
|
|
2009-11-11 03:31:34 -06:00
|
|
|
The above documents should bridge any "ancillary" gaps in contributor
|
2009-06-02 21:12:44 -05:00
|
|
|
knowledge, without having to learn the complete languages or technology.
|
|
|
|
They should provide enough information for experienced developers to
|
|
|
|
learn how to make "correct" changes when creating patches.
|
|
|
|
|
2009-11-11 03:31:34 -06:00
|
|
|
Beyond the fundamentals, the following primers provide introductory
|
|
|
|
tutorials for OpenOCD's sub-systems. These complement the @ref oocd
|
|
|
|
pages that provide more high-level perspective on related topics.
|
|
|
|
|
|
|
|
- @subpage primercommand
|
|
|
|
|
2009-06-02 21:12:44 -05:00
|
|
|
In all cases, these Primers should use idiomatic conventions that the
|
|
|
|
community has agreed are the "right way of doing things". In this
|
|
|
|
respect, these documents typically assume some familiarity with the
|
|
|
|
information contained in one or more @ref styleguide, or they will
|
|
|
|
directly refer to specific style guides as supplemental reading.
|
|
|
|
|
2009-05-13 06:10:35 -05:00
|
|
|
Contributions or suggestions for new Technical Primers are welcome.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2009-05-13 03:58:08 -05:00
|
|
|
/** @page oocd OpenOCD Architecture
|
|
|
|
|
|
|
|
The OpenOCD library consists of several APIs that build together to
|
|
|
|
provide the support functionality. The following list shows how these
|
|
|
|
modules are stacked in the current implementation (from bottom to top):
|
|
|
|
|
|
|
|
- @subpage helperdocs
|
|
|
|
- @ref helperporting
|
|
|
|
- @ref helperjim
|
|
|
|
- @ref helpercommand
|
|
|
|
- @ref helperlogging
|
|
|
|
- @subpage jtagdocs
|
2009-06-02 21:57:55 -05:00
|
|
|
- @ref jtagcore
|
2009-07-01 14:55:52 -05:00
|
|
|
- @ref jtagtcl
|
2009-06-02 21:57:55 -05:00
|
|
|
- @ref jtagcmd
|
|
|
|
- @ref jtagiface
|
2009-05-13 03:58:08 -05:00
|
|
|
- @ref jtagdriver
|
|
|
|
- @subpage targetdocs
|
|
|
|
- @ref targetarm
|
|
|
|
- @ref targetnotarm
|
|
|
|
- @ref targetregister
|
|
|
|
- @ref targetimage
|
|
|
|
- @ref targettrace
|
|
|
|
- @subpage flashdocs
|
|
|
|
- @ref flashcfi
|
|
|
|
- @ref flashnand
|
|
|
|
- @ref flashtarget
|
|
|
|
- @subpage serverdocs
|
|
|
|
- @ref servergdb
|
|
|
|
- @ref servertelnet
|
|
|
|
- @ref serverhttp
|
|
|
|
- @subpage appdocs
|
|
|
|
|
|
|
|
Obviously, there are some nuances to the stack that are not shown by
|
|
|
|
this linear list of layers.
|
|
|
|
|
2009-05-14 19:49:30 -05:00
|
|
|
The List of @ref thelist enumerates opportunities for improving or
|
|
|
|
extending the OpenOCD platform.
|
|
|
|
|
2009-05-13 03:58:08 -05:00
|
|
|
*/
|