You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

106 lines
3.6 KiB

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