Project home: https://bues.ch/h/toprammer Original repository at: https://git.bues.ch/git/toprammer.git https://bues.ch/h/toprammer

Michael Buesch 4f40cd5e8c Bump version 1 month ago
libtoprammer 4f40cd5e8c Bump version 1 month ago
reverse-engineering ec9d2f184a Remove obsolete qemu patches 1 year ago
tests 837a992744 Add tests/top2049/m24c01.test 1 month ago
.gitignore dfa3c5fe71 Add setup.py 7 years ago
01-toprammer-udev.rules 1231d30f9c Add udev rules example file 1 year ago
COPYING d0d03673d2 Initial commit 7 years ago
MANIFEST.in 9250373500 Add missing package info 1 year ago
README-DEVELOPERS.lyx 5982f338f6 Move .bit files to libtoprammer/fpga/bin/ 5 years ago
README-DEVELOPERS.ps 5982f338f6 Move .bit files to libtoprammer/fpga/bin/ 5 years ago
README.lyx 536bc6a738 Update documentation 1 year ago
README.ps 536bc6a738 Update documentation 1 year ago
RUNTIME_IDS 3479b3013e Add support for pic24f 3 years ago
makerelease.sh 8ca82d58bd Add support for building python packages 1 year ago
setup.py 9250373500 Add missing package info 1 year ago
toprammer 30389ab2bb Port to latest PyUSB 1 year ago
toprammer-gui 41e1c1fa5b gui: Show chip maintainer 3 years ago
toprammer-layout 1fb4a7959d Fix toprammer-layout chipid based generator 4 years ago

README.lyx

#LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 474
\begin_document
\begin_header
\textclass article
\use_default_options false
\maintain_unincluded_children false
\language english
\language_package default
\inputencoding auto
\fontencoding global
\font_roman default
\font_sans default
\font_typewriter default
\font_math auto
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize default
\use_hyperref false
\papersize default
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 0
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 0
\index Index
\shortcut idx
\color #008000
\end_index
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header

\begin_body

\begin_layout Title
Toprammer - TOPxxxx OpenSource suite
\end_layout

\begin_layout Author
Copyright (c) 2009-2015 Michael Buesch
\end_layout

\begin_layout Section
Dependencies
\end_layout

\begin_layout Itemize
Python 2.7 is required
\end_layout

\begin_layout LyX-Code
https://www.python.org/
\end_layout

\begin_layout Itemize
python-usb module is required:
\end_layout

\begin_layout LyX-Code
https://walac.github.io/pyusb/
\end_layout

\begin_layout Itemize
python-pkg-resources module is required 'pkg_resources' is part of the Python
'setuptools' package.
\end_layout

\begin_layout LyX-Code
https://pypi.python.org/pypi/setuptools
\end_layout

\begin_layout Itemize
PySide is required for the graphical QT user interface (optional):
\end_layout

\begin_layout LyX-Code
https://pypi.python.org/pypi/PySide
\end_layout

\begin_layout Section
Supported chips
\end_layout

\begin_layout Standard
Just execute the following command to get a list of supported chips:
\end_layout

\begin_layout LyX-Code
toprammer --list
\end_layout

\begin_layout Standard
For a more verbose list, also pass the -V parameter with a verbosity level
number:
\end_layout

\begin_layout LyX-Code
toprammer --list -V99
\end_layout

\begin_layout Section
Installation
\end_layout

\begin_layout Standard
Just execute
\end_layout

\begin_layout LyX-Code
python ./setup.py install
\end_layout

\begin_layout Standard
as root inside of the toprammer distribution package's root directory.
Note that
\begin_inset Quotes eld
\end_inset

setuptools
\begin_inset Quotes erd
\end_inset

have to be installed on your system.
See dependencies.
\end_layout

\begin_layout Section
Graphical user interface tool usage
\end_layout

\begin_layout Standard
The toprammer GUI tool is called
\begin_inset Quotes eld
\end_inset

toprammer-gui
\begin_inset Quotes erd
\end_inset

.
To start it just run:
\end_layout

\begin_layout LyX-Code
toprammer-gui
\end_layout

\begin_layout Standard
Note that, depending on your system config, you might need to run toprammer-gui
as root to allow USB hardware access.
If you get
\begin_inset Quotes eld
\end_inset

Operation not permitted" errors, try to re-run toprammer-gui as root.
\end_layout

\begin_layout Section
Commandline tool usage
\end_layout

\begin_layout Standard
Toprammer needs the identification string of the chip that is inserted into
the ZIF socket.
Additionally it needs an action to be performed on the chip.
So a call to toprammer might look like this:
\end_layout

\begin_layout LyX-Code
toprammer --chip-id atmega32dip40 --read-prog flash.img
\end_layout

\begin_layout Standard
That command selects an Atmel AtMega32 DIP40 chip and reads its flash contents
into the flash.img file.
\end_layout

\begin_layout Standard
For a list of supported chips, see the
\end_layout

\begin_layout LyX-Code
topgrammer --list
\end_layout

\begin_layout Standard
command.
It will print a list of supported chip-IDs.
\end_layout

\begin_layout Section
ZIF socket layout
\end_layout

\begin_layout Standard
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.
\end_layout

\begin_layout Standard
For example, if you have a DIP28 packaged chip, that needs VCC on pin 7,
VPP on pin 1 and GND on pin 8, you'd issue the following command:
\end_layout

\begin_layout LyX-Code
toprammer-layout -d top2049 --package DIP28 --vcc 7 --vpp 1 --gnd 8
\end_layout

\begin_layout Standard
This will show you a layout of how to insert the chip into the programmer.
It will also show which pins of the ZIF are powered.
This will hopefully match your request.
:) Alternatively, it will yield an error message, if it was unable to find
a layout that fits the contraints.
Note that the --vcc, --vpp and --gnd pins specified on the commandline
are with respect to the package (_not_ the ZIF socket).
The whole purpose of the tool is to map the package and its pin layout
to the ZIF socket, while obeying the programmer constraints.
\end_layout

\begin_layout Standard
Alternatively you can specify one of the supported chip-IDs to toprammer-layout:
\end_layout

\begin_layout LyX-Code
toprammer-layout -d top2049 --package atmega8dip28
\end_layout

\begin_layout Standard
This will show you the layout of the AtMega8 DIP28.
\end_layout

\end_body
\end_document