README.lyx 6.2 KB

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