Toprammer is an Opensource software for the TOP2049 universal programmer. Command line and GUI (PyQt based) tools are available.
It is written in Python 3, so it's potentially very portable. It's currently only tested on Linux, but it should run on everything that brings the "python-usb" module.
As all programming algorithm logic is implemented in software, it does not support all the devices that the original "Topwin" Windows software supports. However, support for new chips can be added, if needed. Due to the Opensource nature of the software, it's also possible to implement algorithms for chips that "Topwin" does not support.
The hardware and USB Protocol Reverse Engineering is mostly done. There are only a few not-so-important parts left. We know enough of the hardware and protocol to implement completely new programming algorithms.
Support for other "TOP" devices like the TOP2007, TOP3000 or TOP3100 is currently not implemented.
Support for the TOP853 is under development. But there are still many things to sort out. This won't be released any time soon. If you are a developer who wants to help with TOP853, please get in contact with me.
The following chips are supported:
- 27c16, 27c32, 27c64, 27c128, 27c256 27c512 EEPROM
- 74hc4094 (logic testing)
- Atmel AtTiny13
- Atmel AtTiny25, AtTiny45, AtTiny85
- Atmel AtMega32
- Atmel AtMega8
- Atmel AtMega48, AtMega48P
- Atmel AtMega88, AtMega88P
- Atmel AtMega168, AtMega168P
- Atmel AtMega328, AtMega328P
- HM62256 SRAM (logic testing)
- M24c01, M24c02, M24c04, M24c08, M24c16 I2C EEPROM
- M2764A EPROM
Support for the following chips has been contributed by third party. That means they are supposed to work correctly, but do not receive the regular release testing procedure. So some of these implementations might be broken:
- Atmel AT89C2051
- Atmel AT89S51, AT89S52
- PIC10F200, PIC10F202,PIC10F204, PIC10F206, PIC10F220, PIC10F222, PIC10(L)F320, PIC10(L)F322
- PIC12F508, PIC12F629, PIC12F675, PIC12(L)F1822
- PIC16(L)F182x, PIC16LF190x, PIC16(L)F193x, PIC16(L)F84a, PIC16F59, PIC16F630, PIC16F676
- PIC12(L)F1501, PIC16(L)F1503, PIC16(L)F1507, PIC16(L)F1508, PIC16(L)F1509, PIC16(L)F1454, PIC16(L)F1455, PIC16(L)F1459
- PIC18F1220, PIC18F2320, PIC18F2321
- PIC24F04KA200, PIC24F04KA201
- PIC24F16KL402, PIC24F08KL402, PIC24F16KL401, PIC24F08KL401, PIC24F08KL302, PIC24F08KL301, PIC24F08KL201, PIC24F08KL200, PIC24F04KL101, PIC24F04KL100
The following chips have partial implementations, but are currently unsupported:
- Atmel AtTiny26
- Winbond W29EE011 EEPROM
A generic (universal) device tester is also included in the GUI. With unitest pins on the programmer's ZIF socket can manually be toggled, read, set to a voltage or oscillator frequency. This is useful for testing chips and microcontroller programs.
The GUI can be invoked with the "toprammer-gui" command.
Release tarball
-
toprammer release 0.19
.tar.xz archive
PGP signature - Older toprammer releases can be found here.
The development source code of toprammer can be downloaded using
the Git version control system as follows:
git clone https://git.bues.ch/git/toprammer.git
To browse the Git repository online, go to the
repository web interface.
Or download the compressed snapshot.
A mirror of the repository is available on
GitHub,
GitLab,
Bitbucket and on
NotABug.org.
If you want to contribute to toprammer, please read
the contribution guidelines first.
Toprammer is stable/production quality software.
That means its features are well tested and the remaining amount of bugs probably is minor.
The software does include a reasonable amount of documentation.
If you find any bugs in toprammer or if you have any suggestion for new
features, we would like to hear from you.
Your help is greatly appreciated and will help to create better
software and improve the overall experience for everybody.
So don't hesitate to report anything that that limits your toprammer usage.
If you have got any code improvements or other improvements that should be merged into the project, please send such enhancements to the toprammer maintainer.
Please read the contribution guidelines first.
Thanks to Pavel Štemberk for his work on Microchip support and other parts of the software.
Copyright (C)
Michael Büsch et al.
Licensed under the terms of the
GNU General Public License version 2
.
See the sourcecode for details.