X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=doc%2Fmanual%2Fmain.txt;h=93dd3da01f2c5f9ef6d2abc814aa824697021ea1;hp=f4111ca4cea8c39862e6a419188d6005aebd2484;hb=2c25ab45887b7bf2c1e48ad0fb579095c254cd02;hpb=5a080c8f6e7b43f0d1399953ccc5cfb8a4319efe diff --git a/doc/manual/main.txt b/doc/manual/main.txt index f4111ca4ce..93dd3da01f 100644 --- a/doc/manual/main.txt +++ b/doc/manual/main.txt @@ -1,14 +1,32 @@ -/** @mainpage OpenOCD Reference Manual +/** @mainpage OpenOCD Developer's Guide -@ref oocd explains how the code has been organized into layers -of APIs and gives 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. - -@ref primer provide introductory materials for new developers. +Welcome to the OpenOCD Developer's Guide -- the developer's resource for +learning about the internal architecture of the OpenOCD project. @par -The List of @ref thelist enumerates opportunities for improving or -extending the OpenOCD platform. +In addition, this document contains the tactical and strategic plans +and processes that have been developed by and for the OpenOCD community. + +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. +- The @subpage releases page describes the project's release process. + +@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. */ @@ -18,9 +36,28 @@ This pages lists Technical Primers available for OpenOCD Developers. They seek to provide information to pull novices up the learning curves associated with the fundamental technologies used by OpenOCD. +- @subpage primerdocs +- @subpage primerautotools - @subpage primertcl - @subpage primerjtag +The above documents should bridge any "ancillary" gaps in contributor +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. + +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 + +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. + Contributions or suggestions for new Technical Primers are welcome. */ @@ -37,9 +74,10 @@ modules are stacked in the current implementation (from bottom to top): - @ref helpercommand - @ref helperlogging - @subpage jtagdocs - - @ref jtagcable - - @ref jtagtap - - @ref jtagmdriver + - @ref jtagcore + - @ref jtagtcl + - @ref jtagcmd + - @ref jtagiface - @ref jtagdriver - @subpage targetdocs - @ref targetarm