README.lyx 5.7 KB

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