Da ich für mein GameBoy Projekt dringendst einen EPROM/EEPROM Programmer benötigte, versuchte ich im Internet einen günstigen zu erstehen. Da diese aber ziemlich teuer waren, suchte ich nach einer Alternative und fand den WillemProgrammer bei Ebay. Dieser Bausatz beinhaltete alle Bauteile und die Software ist frei downloadar. Nachdem ich einen Bausatz von Silvotronic ersteigerte lötete ich ihn zusammen. Damit die Kontakte an der unteren Seite des Boards nicht kaputt gehen bestellte ich bei RS-Components ein Entwicklungsgehäuse.
Probiert habe ich ihn mit einem alten UV-EPROM aus einem Mainboard. Die Daten wurden alle korrekt ausgelesen. Da ich aber kein UV Löschgerät besitze bestellte ich mir einen elektrisch löschbaren Speicher (EEPROM).
Für meine weiteren Projekte im Microcontroller Bereich erstellte ich mir einen handlichen ISP, welcher an die serielle Schnittstelle des PCs angeschlossen wird. Dieser Programmer besteht aus wenigen standard Bauteilen und kann schnell aufgebaut werden.
Die Programmierung des Chips kann nicht mit dem AVR-Studio durchgeführt werden, sonder man benötigt ein separates Programm. Ich verwende PonyProg, welches frei erhältich ist.
Damit ich besser ausgestattete Controller auch debbugen kann, baute ich den Nachbau des AVR JTAG ICE MKI nach. Der verwendete ATMega16 wird mit einem Bootloader programmiert, der zwischen zwei Modi umgeschaltet werden kann. Im JTAG Modus nimmt er die ersten Sekunden (solange die JTAG LED blinkt) ein Firmware-Update aus dem AVR-Studio entgegen. Danach arbeitet er wie ein gewöhnlicher JTAG und kann mit dem AVR Studio verbunden werden. Im ISP Modus können die Microcontroller programmiert werden. Dabei ist zu beachten dass die Pinbelegung nicht mit dem standard ISP Stecker übereinstimmt. Der ISP Modus stimmt mit der AVR910 Application Note überein und kann mit dem im AVR Studio integrierten AVR Progr programmiert werden, bzw. man verwendet ein separates Tool: AvrOspII.
Da viele modernen Computer oft keine serielle Schnittstelle mehr besitzen, entschied ich mich für einen USB auf Serial Adapter von FTDI. Der gewünschte Modus (JTAG, ISP) kann mittels Jumper eingestellt werden.