Projekt Hardware Bedienung BASIC (1) BASIC (2) BASIC (3) Interna Beispiele Erweiterungen Bibliotheken Treiber Programme Bezugsquellen: Bausatz Leerplatine |
AVR-ChipBasic2: Bedienungsanleitung
V1.50 (c) 2006-2015 Jörg Wolfram 1 RechtlichesDas Programm unterliegt der GPL (GNU General Public Licence) Version 3 oder höher, jede Nutzung der Software/Informationen nonkonform zur GPL oder ausserhalb des Geltungsbereiches der GPL ist untersagt!Die Veröffentlichung dieses Projekts erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, auch ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Alle im Text genannten Marken sind Eigentum des entsprechenden Inhabers. 2 Die TastaturDie vorliegende Version benötigt eine Tastatur mit deutschem Layout. Die Tastaturbelegung kann aber mittels Binär-Programm geändert werden. Das aktuell eingestellte Layout wird im Hauptmenü im unteren Bildschirmbereich angezeigt. Zur einfacheren Bedienung gibt es am unteren Bildrand 5 farbige Felder mit Funktionen, die den Tasten ESC sowie F1...F4 entsprechen. Mit einem Aufkleber etc. auf der Tastatur lassen sich so die wichtigsten Tasten schnell finden.
3 Das HauptmenüNach jedem Einschalten oder Reset wird für ca. 3 Sekunden der Intro-Screen angezeigt. Danach wird zum Hauptme- nü gesprungen, ausser Autostart ist aktiviert. In diesem Falle wird das eingestellte Programm automatisch gestartet. Der Intro-Screen kann jederzeit durch einen Tastendruck (außer Shift, CTRL, ALT) abgebrochen werden, in diesem Falle wird eine eingestellte Autostart-Funktion nicht ausgeführt. Ein Sonderfall ist, wenn ein LOADER-Programm installiert ist. In diesem Fall wir vor Ausführung des Autostart-Programmes das LOADER-Programm aufgerufen. Weiterhin kann durch Drücken der rechten Shift-Taste in einen kleinen "Keyboard Monitor" gewechselt werden, in dem die empfangenen Scancodes angezeigt werden. Verlassen werden kann dieser Modus nur durch einen Neustart.
Darunter gibt es noch eine Anzeige für den Systemstatus. Ganz links Zeile steht der MCU-Typ, entweder 644 für den ATMega644 oder 644P für den ATMega644P. Daneben wird das aktive Videosystem (PAL oder NTSC) angezeigt. Rechts steht die Kurzbezeichnung für die aktive Tastaturtabelle. Um die Tastaturtabelle zu ändern, muss ein entsprechen- des (Binär-) Programm geladen und gestartet werden. Zum Beispiel kann mit dem Programm "kbd_us.bin" das Tasta- turlayout auf US-englisch umgestellt werden. Dazu wird das Programm entweder per XMODEM übertragen oder vom Disk-Modul geladen. Nachdem das Programm mit der F4-Taste gestartet wurde, ändert sich antsprechend die Anzeige im Systemstatus. In der untersten Zeile stehen die möglichen Kommandos, die Farben entsprechen den Tasten ESC und F1...F4 und haben folgende Funktionen:
3.1 Programm editieren (F1)Ruft den eingebauten Editor auf und lädt das gewählte Programm. Dies funktioniert nur bei BASIC und leeren Programmen. Binärprogramme und Binärbibliotheken lassen sich nicht editieren. %3.2 Programm speichern (F2)Diese Funktion bezieht sich auf das gerade ausgewählte Programm. Wird sie aufgerufen und ist kein formatierter Dataflash angeschlossen, erscheint nur eine Fehlermeldung. Wenn ein formatierter Dataflash angeschlossen ist, kann der Platz, wohin die Datei gespeichert werden soll mit der Dateiauswahlbox bestimmt werden:3.3 Programm laden (F3)Diese Funktion bezieht sich auf das gerade ausgewählte Programm. Wird sie aufgerufen und ist kein formatierter Dataflash angeschlossen, erscheint die oben gezeigtee Fehlermeldung. Wenn ein formatierter Dataflash angeschlossen ist, kann das Programm mit der Dateiauswahlbox bestimmt werden:Mit den 3 Symbolen in der dritten Zeile können der Flashmanager, die Config-Page und ein Programminfo angezeigt werden. Näheres dazu in den entsprechenden Abschnitten. 3.4 Programm starten (F4)Startet das gewählte Programm. Dies funktioniert sowohl bei BASIC als auch nativen AVR Programmen. Nach Beendi- gung oder Abbruch des Pogrammes (Fehler, CTRL-C) erscheint am Rand ein rot-weisses Streifenmuster. Mit der ESC Taste wird wieder zum Menu zurückgekehrt. An dieser Stelle kann auch noch ein Screenshot gemacht werden, allerdings wird dabei die Randfarbe generell als schwarz ausgegeben. Dies gilt auch, wenn ein Programm aus dem Editor heraus gestartet wird.Die Tasten F1...F4 haben eine Zweitfunktion, wenn zusätzlich die linke CTRL oder STRG Taste gedrückt wird. Die Texte in den 5 Farbfeldern ändern sich dementsprechend:
3.5 Programm kopieren (CTRL+F1)Um ohne ein Dataflash-Modul verschiedene Programmversionen zu testen lässt sich jedes Programm an einen der 8 Programmplätze kopieren. Das Kopierziel lässt sich mit den Cursortasten auswählen, mit der ENTER-Taste wird ohne nachzufragen kopiert und mit der ESC-Taste wird der Vorgang abgebrochen.3.6 Programm senden (CTRL+F2)Mit dieser Funktion lässt sich ein Programm im Binärformat via X-Modem senden. Damit kann z.B. ein Programm zum AVR-Handheld übertragen werden. Für native AVR-Programme ist dies auch der einzige Weg zur Datenübertragung in Senderichtung, da AVR Programme nicht editiert werden können. Zum Ablauf ist zuerst das Senden zu aktivieren und anschließend auf der Empfängerseite die Übertragung zu starten.3.7 Programm empfangen (CTRL+F3)Mit dieser Funktion lässt sich ein Programm im Binärformat via X-Modem empfangen. Für native AVR-Programme ist dies auch der einzige Weg zur Datenübertragung in Empfangsrichtung, da AVR Programme nicht editiert werden können. Zum Ablauf ist zuerst die Senderseite zu aktivieren und anschließend mit CTRL+F3 die Übertragung zu starten.3.8 Programm löschen (CTRL+F4)Native AVR Programme lassen sich nicht mittels Editor löschen, dies kann aber mit der Tastenkombinatiion CTRL+F4 geschehen. Nach einer Sicherheitsabfrage wird dann das Programm gelöscht. Selbstverständlich können auf diesem Wege auch BASIC Programme gelöscht werden.3.9 Binärprogramme, Bibliotheken und TreiberBinärprogramme, zu denen auch Bibliotheken und Treiber gehören, lassen sich auf jeden der 8 Programmplätze laden. Treiber funktionieren jedoch nur, wenn sie auf Programmplatz 8 geladen werden.4 Der FlashmanagerDer Flash-Manager (Symbol DFLASH im Hauptmenü) funktioniert natürlich nur dann, wenn auch ein Dataflash-Modul angesteckt ist. Ansonsten gibt es nur die Möglichkeit zum Rescan und Abbruch.Wurde ein Dataflash-Modul (es funktionieren nur 4 und 8 MBit Bausteine der serie AT45) erkannt, wird auf gültige Formatierung getestet. Formatieren?? Ja das gibt es hier auch, neben dem Blockstatus werden auch solche Dinge wie Schreibzähler angelegt. In der untersten Zeile stehen die möglichen Kommandos, die Farben entsprechen den Tasten ESC und F1...F4 und haben folgende Funktionen:
4.1 Info (F1)Die freien Dateien/Blöcke werden gezählt und in einer Infobox angezeigt.4.2 Backup (F2)Wenn ein formatierter Dataflash angeschlossen ist, kann der Speicherplatz mit der Dateiauswahlbox bestimmt werden:4.3 Restore (F3)Wird sie aufgerufen und ist kein formatierter Dataflash angeschlossen, erscheint die oben gezeigtee Fehlermeldung. Wenn ein formatierter Dataflash angeschlossen ist, kann das zu lesende Backup mit der Dateiauswahlbox bestimmt werden:Mit der Taste CTRL oder STRG können zusätzliche Funktionen ausgewählt werden, wobei nicht immer alle Funktionen verfügbar sind (z.B. wenn kein Dataflash-Modul vorhanden oder dieses nicht formatiert ist.
4.4 Delete (CTRL + F1)Mit dieser Funktion können beliebige Dateien auf dem Dataflash-Modul gelöscht werden. Dazu wird wieder die Dateiauswahlbox angezeigt. Wird eine Datei gewählt, erscheint noch eine Abfrage, ob die Datei auch wirklich gelöscht werden soll. Mit der ESC Taste kann abgebrochen werden.4.5 Format (CTRL + F4)Normalerweise sollte ein Dataflash-Modul nur einmal formatiert werden. Denn beim Formatieren werden auch vorhandene Schreibzähler mit zurückgesetzt.5 Das KonfigurationsmenüAuf der Config-Page können verschiedene Einstellungen vorgenommen werden.5.1 Die Belegung der FunktionstastenDie gerade aktive Funktion ist invertiert dargestellt, die Auswahl erfolgt über die Cursor-Hoch und Cursor-Runter Tasten. In der untersten Zeile stehen die möglichen Kommandos, die Farben entsprechen wieder den Tasten ESC und F1...F4 und haben folgende Funktionen:
5.1.1 Exit (ESC)Mit dieser Taste werden die aktuellen Einstellungen verworfen und zum Hauptmenü zurückgekehrt.5.1.2 Change (F1)Mit jedem Tastendruck ändert sich die aktuell ausgewählte Einstellung.5.1.3 Serielle GeschwindigkeitAn dieser Stelle kann die Geschwindigkeit der seriellen Schnittstelle zwischen 1200 Bps, 2400 Bps, 9600 Bps und 38,4 KBps umgeschaltet werden. Die 9600/38400 Bps schalten die System-Schnittstelle von der Software-Schnittstelle (1) auf UART1 (2) um und sind nur beim Mega644P/Maga1284P verfügbar.5.1.4 I2C-GeschwindigkeitHier kann die Geschwindigkeit der I2C-Schnittstelle zwischen 100 und 400 kHz umgeschaltet werden. Die meisten I2C-Bausteine kommen mit 400kHz zurecht, aus Kompatibilitätsgründen kann auch die langsame Geschwindigkeit genutzt werden.5.1.5 SPI-GeschwindigkeitHier kann die Geschwindigkeit der SPI-Schnittstelle zwischen 156 kHz und 5 MHz umgeschaltet werden.5.1.6 EEPROM AdresseHiermit lässt sich die EEPROM-Adresse für das Daten-EEPROM einstellen (XPOKE/XPEEK).5.1.7 ZeilenendeMit dieser Taste kann die Art des Zeilenendes für die serielle und parallele Schnittstelle festgelegt werden. Möglich sind LF only (Unix/Linux), CR only (Mac) und CR+LF (Windows).5.1.8 Serielles Interface - TypMöchte man z.B. einen anderen RS232 Pegelwandler als die vorhandene Schaltung verwenden, kann dies hier umgeschaltet werden. Simple ist die original-Schaltung, mit Standard funktionieren RX und TX wie bei jedem anderen UART.5.1.9 Serielles Interface - EingangspinDa die ursprüngliche Beschaltung der seriellen Schnittstelle schon den TX1-Pin (PD3) des ATMega644P belegt, gibt es hier die Möglichkeit, den Eingangspin der seriellen System-Schnittstelle zwischen PD1 (notwendig für ATMega644P/ATMega1284P) und PD3 (Kompatibilitätsmodus) umzuschalten. Die Umschaltung ist für beide Typen möglich, allerdings lässt sich die zweite serielle Schnittstelle des 644P im Kompatibilitätsmodus nicht benutzen.5.1.10 AutostartWenn im Intro-Screen keine Taste gedrückt wird, kann ein Programm automatisch gestartet werden. Der in früheren Versionen vorhandene Autostart-Jumper wird nicht mehr abgefragt und sollte unbedingt offengelassen werden. Wählbar sind die Programme 1...7 sowie eine Dekativierung der Autostart-Funktion.5.1.11 Save (F2)Mit dieser Taste werden die aktuellen Einstellungen gespeichert und ein Neustart ausgeführt, um das System neu zu initialisieren.6 Der Fullscreen-Editor
Die Tasten F1 bis F4 haben eine Zweitfunktion, wenn zusätzlich die CTRL oder STRG Taste gedrückt wird. Der Text in den 5 Farbfeldern ändert sich entsprechend:
Bei den meisten Funktionen erscheint in der Statuszeile eine Sicherheitsabfrage, die entweder mit (Y)es oder (N)o (alternativ ENTER oder ESC) beantwortet werden muss. 6.1 Spezielle TastenfunktionenDie folgenden Tasten / Tastenkombinationen haben spezielle Funktionen:
6.2 Die SuchfunktionAb version 1.31 ist eine Suchfunktion in den Editor integriert. Damit können kurze Textpassagen (maximal 16 zeichen) im aktuellen Programmtext gesucht werden. Die Suche ist case-sensitiv, das heißt es wird auf Groß- und Kleinschreibung geachtet. Aufgerufen wird die Suche mit der Tastenkombination CTRL+F. Die Farbe der Statuszeile ändert sich in blau, neben dem Text FIND: kann der Suchstring eingegeben werden. Ein weißes Rechteck markiert das aktuelle Ende des Suchstrings, Korrekturen können mit der Backspace-Taste vorgenommen werden.7 Serieller Programmtransfer7.1 Kommunikationsparameter Standard-SchnittstelleFür die Funktionen der seriellen Schnittstelle sollte am PC folgendes eingestellt werden8 Bit --- 2400 Bps --- no Parity --- 2 Stopp-Bits Für den Programmtransfer aus dem Editor wird normale Textübertragung verwendet, ansonsten das X-Modem Protokoll. Unter Windows kann man z.B. das Hyperterminal verwenden (Text senden/aufzeichnen) verwenden, unter Linux minicom oder das Script chiptrans.pl im Tools-Ordner. Das Programmende wird mit einem "#" als erstes Zeichen in der Zeile gekennzeichnet. Das Programm verwendet als Schnittstelle /dev/ttyS0, bei Verwendung einer anderen Schnittstelle muss das Script entsprechend modifiziert werden. 7.2 Kommunikationsparameter erweiterte SchnittstelleFür die Funktionen der seriellen Schnittstelle sollte am PC folgendes eingestellt werden8 Bit --- 38400 Bps --- no Parity --- 1/2 Stopp-Bits Für den Programmtransfer aus dem Editor wird normale Textübertragung verwendet, ansonsten das X-Modem Protokoll. Unter Windows kann man z.B. das Hyperterminal verwenden (Text senden/aufzeichnen) verwenden, unter Linux minicom oder das Script chiptrans38.pl im Tools-Ordner. Das Programmende wird mit einem "#" als erstes Zeichen in der Zeile gekennzeichnet. Das Programm verwendet als Schnittstelle /dev/ttyACM0, bei Verwendung einer anderen Schnittstelle muss das Script entsprechend modifiziert werden. 7.3 Senden zum AVR (BASIC-Programmtext)
7.4 Empfangen vom AVR (BASIC-Programmtext)
7.5 Senden zum AVR (Binär-Dateien)
7.6 Empfangen vom AVR (Binärdateien)
7.7 Nutzung der Screenshot-FunktionFür den Screenshot kann das Script screenshot.pl im tools-Verzeichnis benutzt werden. Es benötigt ImageMagick und wird mit "./screenshot.pl dateiname.endung" aufgerufen. Danach kann dann der Screenshot vom Controllerboard mittels rechts CTRL+P ausgelöst werden.Defaultmäßig ist der neue 16-Farb Modus eingestellt, um kompatibel zur 8-Farb Ausgabe zu sein, muß vor dem Datei-namen als Parameter -c8 angegeben werden. Der Screenshot im Videomode 7 ist nur als Bulk-Transfer realisiert, bei dem die Treiber-ID, die Palette und der gesamte Videospeicher übertragen werden. Defaultmässig sind bei den Tools 2400 Bps und /dev/ttyS0 als Schnittstelle eingestellt, bei Bedarf muß das Perl-Script entsprechend abgeändert werden. Für die erweiterete Schnittstelle des Mega644P ist das Script screenshot38.pl vorgesehen, die Schnittstelleneinstellungen entsprechen dem Transfer-Tool für diese Schnittstelle. Eine Alternative dazu ist das Programm konvert.pl. Dieses wandelt z.B. mit einem Terminalprogramm eingefangene Screenshots in Bilddateien um. Die bedienung ist gleich dem Screenshot-Programm, allerdings wird als erster Parameter die zu wandelnde Datei angegeben. 8 Der integrierte Monitor/DebuggerChipBasic2 enthält auch einen kleinen Monitor zum Debuggen. Augerufen wird er mit der Taste F12 während des Programmlaufes oder mit einer BREAK-Anweisung im Programm.8.1 Der HauptbildschirmDer Monitor kann nur in allen Videomodes aufgerufen werden, aber nur in VMODE 0 (Textmode) und im VMODE 5 (128x64) steht die volle Funktionalität zur Verfügung. Dies betrifft die Funtionen Go, Step und View da aufgrund des Speicherbedarfs in diesen Videomodi der Bildspeicher beim Aufruf des Monitors nicht gesichert werden kann.Danach folgt im linken Teil des Bildschirms die Anzeige aller Variablenwerte und rechts daneben der Stack. Jede FOR-Schleife und jedes GOSUB erzeugt einen Eintrag auf dem Stack. Unter der Variablenliste wird der Status der parallelen Schnittstelle angezeigt. Zuerst die Pin-Nummern (1 entspricht D0), darunter die Datenrichtung (I oder O) und ganz unten der aktuelle Pegel. In der untersten Zeile stehen die möglichen Kommandos, die Farben entsprechen den Tasten ESC und F1...F4 und haben in den Videomodi 0 und 5 folgende Funktionen:
Wenn der Monitor aufgerufen wird, muss der gesamte Bildspeicher gesichert werden. Allerdings funktioniert das nur in den Videomodi 0 und 5, dies liegt einfach daran dass der Bildspeicher in den anderen Videomodi größer ist und dadurch nicht mehr temporär gesichert werden kann. Deshalb sind in allen anderen Videomodie die Tasten F1...F3 gesperrt:
8.2 Die Array-Ansicht
created with latex2web.pl v0.63 © 2006-2013 Joerg Wolfram |