X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=doc%2Fmanual%2Fmain.txt;h=c14096b573e0895b3d247173c92d2a24b5e893b0;hp=d574927219adad9fa6fa3efb1098b985c28dad9b;hb=7719e9618e753ac41a46a2488dfba549ac578891;hpb=7626139950a4282564cadbc2cdd349593841e3b8 diff --git a/doc/manual/main.txt b/doc/manual/main.txt index d574927219..c14096b573 100644 --- a/doc/manual/main.txt +++ b/doc/manual/main.txt @@ -1,20 +1,63 @@ -/** @mainpage OpenOCD Reference Manual +/** @mainpage OpenOCD Developer's Guide -The @ref primer page provides 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 + +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. -The @ref oocd page explains how the code has been organized into layers -of APIs and gives an overview of how they fit together. - */ -/** @page primer OpenOCD Techincal Primers +/** @page primer OpenOCD Technical Primers -This pages lists Techincal Primers available for OpenOCD Developers. +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. */ @@ -31,13 +74,15 @@ 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 - @ref targetnotarm + - @ref targetmips - @ref targetregister - @ref targetimage - @ref targettrace @@ -54,4 +99,7 @@ modules are stacked in the current implementation (from bottom to top): Obviously, there are some nuances to the stack that are not shown by this linear list of layers. +The List of @ref thelist enumerates opportunities for improving or +extending the OpenOCD platform. + */