README.lyx 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. #LyX 2.3 created this file. For more info see http://www.lyx.org/
  2. \lyxformat 544
  3. \begin_document
  4. \begin_header
  5. \save_transient_properties true
  6. \origin unavailable
  7. \textclass article
  8. \use_default_options false
  9. \maintain_unincluded_children false
  10. \language english
  11. \language_package default
  12. \inputencoding auto
  13. \fontencoding global
  14. \font_roman "default" "default"
  15. \font_sans "default" "default"
  16. \font_typewriter "default" "default"
  17. \font_math "auto" "auto"
  18. \font_default_family default
  19. \use_non_tex_fonts false
  20. \font_sc false
  21. \font_osf false
  22. \font_sf_scale 100 100
  23. \font_tt_scale 100 100
  24. \use_microtype false
  25. \use_dash_ligatures true
  26. \graphics default
  27. \default_output_format default
  28. \output_sync 0
  29. \bibtex_command default
  30. \index_command default
  31. \paperfontsize default
  32. \use_hyperref false
  33. \papersize default
  34. \use_geometry false
  35. \use_package amsmath 1
  36. \use_package amssymb 1
  37. \use_package cancel 1
  38. \use_package esint 1
  39. \use_package mathdots 0
  40. \use_package mathtools 1
  41. \use_package mhchem 1
  42. \use_package stackrel 1
  43. \use_package stmaryrd 1
  44. \use_package undertilde 1
  45. \cite_engine basic
  46. \cite_engine_type default
  47. \biblio_style plain
  48. \use_bibtopic false
  49. \use_indices false
  50. \paperorientation portrait
  51. \suppress_date false
  52. \justification true
  53. \use_refstyle 0
  54. \use_minted 0
  55. \index Index
  56. \shortcut idx
  57. \color #008000
  58. \end_index
  59. \secnumdepth 3
  60. \tocdepth 3
  61. \paragraph_separation indent
  62. \paragraph_indentation default
  63. \is_math_indent 0
  64. \math_numbering_side default
  65. \quotes_style english
  66. \dynamic_quotes 0
  67. \papercolumns 1
  68. \papersides 1
  69. \paperpagestyle default
  70. \tracking_changes false
  71. \output_changes false
  72. \html_math_output 0
  73. \html_css_as_file 0
  74. \html_be_strict false
  75. \end_header
  76. \begin_body
  77. \begin_layout Title
  78. Toprammer - TOPxxxx OpenSource suite
  79. \end_layout
  80. \begin_layout Author
  81. Copyright (c) 2009-2023 Michael Büsch <m@bues.ch>
  82. \end_layout
  83. \begin_layout Section
  84. Dependencies
  85. \end_layout
  86. \begin_layout Itemize
  87. Python 3.7 or later is required
  88. \end_layout
  89. \begin_layout LyX-Code
  90. https://www.python.org/
  91. \end_layout
  92. \begin_layout Itemize
  93. python3-usb module is required:
  94. \end_layout
  95. \begin_layout LyX-Code
  96. https://pypi.org/project/pyusb/
  97. \end_layout
  98. \begin_layout Itemize
  99. python3-pkg-resources module is required 'pkg_resources' is part of the
  100. Python 'setuptools' package.
  101. \end_layout
  102. \begin_layout LyX-Code
  103. https://pypi.org/project/setuptools/
  104. \end_layout
  105. \begin_layout Itemize
  106. PyQT6 is required for the graphical QT user interface (optional):
  107. \end_layout
  108. \begin_layout LyX-Code
  109. https://riverbankcomputing.com/software/pyqt/download
  110. \end_layout
  111. \begin_layout Section
  112. Supported chips
  113. \end_layout
  114. \begin_layout Standard
  115. Just execute the following command to get a list of supported chips:
  116. \end_layout
  117. \begin_layout LyX-Code
  118. toprammer --list
  119. \end_layout
  120. \begin_layout Standard
  121. For a more verbose list, also pass the -V parameter with a verbosity level
  122. number:
  123. \end_layout
  124. \begin_layout LyX-Code
  125. toprammer --list -V99
  126. \end_layout
  127. \begin_layout Section
  128. Installation
  129. \end_layout
  130. \begin_layout Standard
  131. Just execute
  132. \end_layout
  133. \begin_layout LyX-Code
  134. python ./setup.py install
  135. \end_layout
  136. \begin_layout Standard
  137. as root inside of the toprammer distribution package's root directory.
  138. Note that
  139. \begin_inset Quotes eld
  140. \end_inset
  141. setuptools
  142. \begin_inset Quotes erd
  143. \end_inset
  144. have to be installed on your system.
  145. See dependencies.
  146. \end_layout
  147. \begin_layout Section
  148. Graphical user interface tool usage
  149. \end_layout
  150. \begin_layout Standard
  151. The toprammer GUI tool is called
  152. \begin_inset Quotes eld
  153. \end_inset
  154. toprammer-gui
  155. \begin_inset Quotes erd
  156. \end_inset
  157. .
  158. To start it just run:
  159. \end_layout
  160. \begin_layout LyX-Code
  161. toprammer-gui
  162. \end_layout
  163. \begin_layout Standard
  164. Note that, depending on your system config, you might need to run toprammer-gui
  165. as root to allow USB hardware access.
  166. If you get
  167. \begin_inset Quotes eld
  168. \end_inset
  169. Operation not permitted" errors, try to re-run toprammer-gui as root.
  170. \end_layout
  171. \begin_layout Section
  172. Commandline tool usage
  173. \end_layout
  174. \begin_layout Standard
  175. Toprammer needs the identification string of the chip that is inserted into
  176. the ZIF socket.
  177. Additionally it needs an action to be performed on the chip.
  178. So a call to toprammer might look like this:
  179. \end_layout
  180. \begin_layout LyX-Code
  181. toprammer --chip-id atmega32dip40 --read-prog flash.img
  182. \end_layout
  183. \begin_layout Standard
  184. That command selects an Atmel AtMega32 DIP40 chip and reads its flash contents
  185. into the flash.img file.
  186. \end_layout
  187. \begin_layout Standard
  188. For a list of supported chips, see the
  189. \end_layout
  190. \begin_layout LyX-Code
  191. topgrammer --list
  192. \end_layout
  193. \begin_layout Standard
  194. command.
  195. It will print a list of supported chip-IDs.
  196. \end_layout
  197. \begin_layout Section
  198. ZIF socket layout
  199. \end_layout
  200. \begin_layout Standard
  201. The ZIF socket layout generator "toprammer-layout" will try to generate
  202. a chip-insert layout with the given parameters and print it as ASCII-art
  203. to the console.
  204. \end_layout
  205. \begin_layout Standard
  206. For example, if you have a DIP28 packaged chip, that needs VCC on pin 7,
  207. VPP on pin 1 and GND on pin 8, you'd issue the following command:
  208. \end_layout
  209. \begin_layout LyX-Code
  210. toprammer-layout -d top2049 --package DIP28 --vcc 7 --vpp 1 --gnd 8
  211. \end_layout
  212. \begin_layout Standard
  213. This will show you a layout of how to insert the chip into the programmer.
  214. It will also show which pins of the ZIF are powered.
  215. This will hopefully match your request.
  216. :) Alternatively, it will yield an error message, if it was unable to find
  217. a layout that fits the contraints.
  218. Note that the –vcc, –vpp and –gnd pins specified on the commandline are
  219. with respect to the package (_not_ the ZIF socket).
  220. The whole purpose of the tool is to map the package and its pin layout
  221. to the ZIF socket, while obeying the programmer constraints.
  222. \end_layout
  223. \begin_layout Standard
  224. Alternatively you can specify one of the supported chip-IDs to toprammer-layout:
  225. \end_layout
  226. \begin_layout LyX-Code
  227. toprammer-layout -d top2049 --package atmega8dip28
  228. \end_layout
  229. \begin_layout Standard
  230. This will show you the layout of the AtMega8 DIP28.
  231. \end_layout
  232. \end_body
  233. \end_document