tcl: add ASUS RT-N66U config
[openocd.git] / doc / manual / main.txt
blobc14096b573e0895b3d247173c92d2a24b5e893b0
1 /** @mainpage OpenOCD Developer's Guide
3 Welcome to the OpenOCD Developer's Guide -- the developer's resource for
4 learning about the internal architecture of the OpenOCD project. @par
6 In addition, this document contains the tactical and strategic plans
7 and processes that have been developed by and for the OpenOCD community.
9 Developers that want to contribute to OpenOCD should read the following
10 sections before starting work:
12 - The List of @subpage thelist enumerates opportunities for improving or
13 extending the OpenOCD platform.  If your ideas are on The List, you might
14 check the mailing list archives to find the status of your feature (or bug).
15 - The @subpage styleguide provides rules that developers should
16   follow when writing new code for OpenOCD.
17 - The @subpage patchguide provides policies that developers should
18   follow when submitting patches to the project.
19 - The @subpage bugs page contains the content of the BUGS file, which
20   provides instructions for submitting bug reports to the maintainers.
21 - The @subpage releases page describes the project's release process.
23 @ref primer provide introductory materials for new developers on various
24 specific topics.
26 Finally, the @ref oocd pages explain how the code has been organized
27 into layers of APIs, providing an overview of how they fit together.
28 These pages attempt to give developers a high-level perspective of the
29 various code modules provided by OpenOCD.
31  */
33 /** @page primer OpenOCD Technical Primers
35 This pages lists Technical Primers available for OpenOCD Developers.
36 They seek to provide information to pull novices up the learning curves
37 associated with the fundamental technologies used by OpenOCD.
39 - @subpage primerdocs
40 - @subpage primerautotools
41 - @subpage primertcl
42 - @subpage primerjtag
44 The above documents should bridge any "ancillary" gaps in contributor
45 knowledge, without having to learn the complete languages or technology.
46 They should provide enough information for experienced developers to
47 learn how to make "correct" changes when creating patches.
49 Beyond the fundamentals, the following primers provide introductory
50 tutorials for OpenOCD's sub-systems.  These complement the @ref oocd
51 pages that provide more high-level perspective on related topics.
53 - @subpage primercommand
55 In all cases, these Primers should use idiomatic conventions that the
56 community has agreed are the "right way of doing things".  In this
57 respect, these documents typically assume some familiarity with the
58 information contained in one or more @ref styleguide, or they will
59 directly refer to specific style guides as supplemental reading.
61 Contributions or suggestions for new Technical Primers are welcome.
63  */
65 /** @page oocd OpenOCD Architecture
67 The OpenOCD library consists of several APIs that build together to
68 provide the support functionality.  The following list shows how these
69 modules are stacked in the current implementation (from bottom to top):
71 - @subpage helperdocs
72   - @ref helperporting
73   - @ref helperjim
74   - @ref helpercommand
75   - @ref helperlogging
76 - @subpage jtagdocs
77   - @ref jtagcore
78   - @ref jtagtcl
79   - @ref jtagcmd
80   - @ref jtagiface
81   - @ref jtagdriver
82 - @subpage targetdocs
83   - @ref targetarm
84   - @ref targetnotarm
85   - @ref targetmips
86   - @ref targetregister
87   - @ref targetimage
88   - @ref targettrace
89 - @subpage flashdocs
90   - @ref flashcfi
91   - @ref flashnand
92   - @ref flashtarget
93 - @subpage serverdocs
94   - @ref servergdb
95   - @ref servertelnet
96   - @ref serverhttp
97 - @subpage appdocs
99 Obviously, there are some nuances to the stack that are not shown by
100 this linear list of layers.
102 The List of @ref thelist enumerates opportunities for improving or
103 extending the OpenOCD platform.
105  */