ATMELISP, Programmierung des ES52-Flash

(17.1.02)

Für das ES52-Flash gab es zwar ein einfaches Programmiertool, das allerdings nicht alle Wünsche befriedigen konnte. Ulrich Bangert (DF6JB) hat nun ein neues und wesentlich umfangreicheres Programm entwickelt, das die Flash-Programmierung mit unterschiedlichen Systemen erlaubt. Neben dem Starterkit von Atmel und einer eigenen Platine wird auch das System von Elektor (89S8252-Board) und das von Modul-Bus (ES52-Flash) unterstützt.

Das ES52-Flash von AK-Modul-Bus

Die letzte Software kann hier geladen werden: ATMELISP (atmelisp.zip, Version vom 21.5.2005, 709 K)

Mit dem Entpacken des ZIP-Archivs erhält man ein Exe-Programm und eine umfangreiche Hilfedatei. Solche unangenehmen Dinge wie Setup, Eintrag in die Windows-Registry, Windows-Programmgruppe und Zuordnung von Dateitypen muss man hier nicht beachten. Man startet das Exe-Programm, das ist alles.

Der Eröffnungsbildschirm ist klein und lässt sich leicht auf dem Bildschirm unterbringen. Nur wenn Aktionen ausgeführt werden, erscheinen größere Fenster. Der erste Schritt muss die Wahl der seriellen Schnittstelle, des angeschlossenen Geräts und anderer wichtiger Parameter sein. Ein Klick auf die Schaltfläche "ES52" stellt die richtige Zuordnung der Programmierleitungen zu den verwendeten RS232-Leitungen für diese Platine ein. Man sieht hier übrigens, dass es leicht möglich ist, eine beliebige selbst entwickelte Platine mit dem gleichen Prozessor mit ATMELISP zu programmieren. Es werden einfach drei Leitungen ausgewählt und passend zugeordnet. Im Einzelfall kann es nötig werden, die Verzögerungszeiten anzupassen. Mit einem relativ langsamen PC wurde die Erfahrung gemacht, dass "Clock Delay" von 0 auf 0,01 ms hochgesetzt werden musste.

Das weitere Vorgehen soll hier an einem konkreten Beispiel gezeigt werden. Das Flash-ROM des Controllers soll mit BASIC-52 programmiert werden. Dazu muss zunächst der Code in den Buffer geladen werden. Man hat die Wahl zwischen der Binärdatei BASIC52.BIN oder dem Intel-Hex-File BASIC52.HEX. Es hat sich als sinnvoll erwiesen, danach einen kurzen Blick in den eingebauten Hexeditor zu werden. Man erkennt Inhalt und Größe des Programms.

Und nun geht es ans Programmieren. Dazu wählt man "Device/Write Buffer to Code Memory". Der Vorhang dauert trotz der Größe von 8 K weniger als eine Minute. "Code Memory" darf hier nicht mit "Data Memory" verwechselt werden, denn dabei handelt es sich um den 2 K großen EEPROM-Datenbereich des Controllers. Beide Speicher können programmiert und ausgelesen werden. Außerdem lässt sich ein Chip mit Lock-Bits versehen, um ein unberechtigtes Auslesen geheimer Software zu unterbinden.

Vorsicht mit den Lock-Bits: Wenn alle drei Bits gesetzt werden, ist der Chip für jede weitere serielle Programmierung gesperrt! Auch das Löschen des gesamten Chips funktioniert dann nicht mehr mit dem Programm. Nur noch ein paralleles Programmiergerät hilft aus dieser Falle.

Nachdem das Basic52 geladen wurde, kann es mit dem Terminal ausprobiert werden. Hier bewährt es sich, dass das ES52-Flash die selbe Schnittselle auch für die serielle Kommunikation verwendet. Mit einem Druck auf die Leertaste stellt sich der Basic-Interpreter auf die verwendete Baudrate ein und sendet seine Einschaltmeldung. Nun kann ein Basic-Programm direkt eingegeben oder von der Festplatte geladen werden.

Fazit: ATMELISP erleichtert ganz erheblich die Arbeit mit dem 89S8252. Das Programm ist auch für alle Leser des Basiskurs Mikrocontroller ab Elektor 1/2002 interessant. Ein herzliches Dankeschön an den Autor Ulrich Bangert!




Weitere Informationen zum Thema:

Elektor-Homepage: www.elektor.de
Informationen und Software (Flash.exe, Basic52) zum ES52-Flash
Kursübersicht und FAQ zum Basiskurs Mikrocontroller
Anwendungen des ES52-Flash im "Handbuch der PC-Mess- und Steuertechnik"
Beschreibung der Harware in MB-news Mikrocontroller-Einführung mit dem ES52-Flash


Zurück zur Startseite der MB-News
Zurück zur Startseite AK-Modul-Bus