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 Rechtliches

Das 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 Tastatur

Die 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.


Daneben gibt es noch ein paar Tastenkombinationen, die zum Teil auch vom PC her bekannt sein dürften:

  • CTRL+ALT+DEL startet komplett neu, dabei werden alle Variablen und auch das Array gelöscht
  • CTRL+C unterbricht das Programm zum nächstmöglichen Zeitpunkt
  • CTRL(rechts)+P sendet einen Screenshot an die serielle Schnittstelle
  • F12 unterbricht das Programm und ruft den Monitor auf, funktioniert NUR in den Videomodi 0 und 5
Wenn das laufende Programm beendet ist oder unterbrochen wurde (Abbruch oder Fehler), ändert sich die Farbe des Bildschirmes in eiun rot-weisses Streifenmuster. Mit der ESC Taste gelangt man wieder zurück zum Editor bzw. zum Hauptmenü. An dieser Stelle ist es auch möglich, noch einen Screenshot zu senden.

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.



In einem "Fenster" sind die 8 Programme sowie 3 zusätzliche Funktionen als Symbole angeordnet, darunter die Bezeichnung bzw. der Programmname. Mit den Cursortasten kann das invertiert dargestellte Feld verschoben werden, mit der Enter-Taste wird das unter dem invertierten Feld liegende Programm gestartet oder die entsprechende Funktion aufgerufen. Die Farbe des Symbols gibt Auskunft über die Art des Programmes, bei Binärprogrammen wird zusätzlich das Aussehen des Symbols in der Programmdatei festgelegt.


Farbe Programmtyp
weiss BASIC-Programm
grün Als Text gespeichertes Programm
gelb Binär-Programm
cyan Bibliothek
magenta Video-Treiber, kann nur auf Programmplatz 8 genutzt werden
rot Loader-Programm, kann weder editiert noch gestartet werden


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:

Keine Funktion
Bei Programmen wird der Editor aufgerufen
Speichert das Programm auf einem Dataflash-Modul
Lädt das Programm von einem Dataflash-Modul
Startet das Programm


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:



Dabei ist zu beachten, dass nur auf leere Plätze oder auf BAS / AVR Files geschrieben werden kann. Mit der Taste ESC kann die Auswahl auch abgebrochen werden. Bevor ein File überschrieben wird, muß dies nochmals mit "Y" bestätigt 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:



Dabei ist zu beachten, dass nur BAS und AVR Files gelesen werden können. Das gewählte File wird ohne nochmalige Nachfrage in den Flash des Controllers kopiert. Mit der Taste ESC kann die Auswahl auch abgebrochen 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:

Kopiert das Programm auf einen anderen Programmplatz
Sendet das Programm via X-Modem
Empfängt das Programm via X-Modem
Löscht das Programm


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 Treiber

Binä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 Flashmanager

Der 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:

Rückkehr zum Hauptmenü
Zeigt den Belegungszustand des Filesystems an
Speichert alle Programme auf das Dataflash-Modul
Lädt alle Programm vom Dataflash-Modul
Testet den Dataflash erneut (z.B. nach Wechsel)


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:



Dabei ist zu beachten, dass nur auf leere Plätze oder auf BUP Files geschrieben werden kann. Mit der Taste ESC kann die Auswahl auch abgebrochen werden. Bevor ein File überschrieben wird, muß dies nochmals mit "Y" bestätigt werden. Beim Backup werden alle Programme in eine Datei geschrieben. In der Fileselect-Box wird bei BUP-dateien immer der Programmname des ersten Programms angezeigt.

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:



Dabei ist zu beachten, dass nur BUP Files gelesen werden können. Das gewählte File wird ohne nochmalige Nachfrage in den Flash des Controllers kopiert. Mit der Taste ESC kann die Auswahl auch abgebrochen 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.

Löscht eine Datei
Formatiert das Dataflash-Modul


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 Funktionstasten

Die 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:

Config-Page wieder verlassen ohne die Änderungen zu speichern
Ausgewählte Einstellung ändern
Einstellungen speichern und Reboot


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 Geschwindigkeit

An 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-Geschwindigkeit

Hier 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-Geschwindigkeit

Hier kann die Geschwindigkeit der SPI-Schnittstelle zwischen 156 kHz und 5 MHz umgeschaltet werden.

5.1.6 EEPROM Adresse

Hiermit lässt sich die EEPROM-Adresse für das Daten-EEPROM einstellen (XPOKE/XPEEK).

5.1.7 Zeilenende

Mit 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 - Typ

Mö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 - Eingangspin

Da 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 Autostart

Wenn 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 Programme werden mit einem einfachen Fullscreen-Editor geschrieben. Die aktuelle Cursor-Position wird beim Verlassen des Editors im EEPROM gespeichert, und zwar für jedes der 8 Programme separat. Dadurch kann es vorkommen, dass sich nach einem Systemupdate (Neuflashen des Controllers) der Cursor irgendwo innerhalb des Textbereiches befindet. Mit CTRL/STRG und POS1 lässt er sich aber schnell wieder auf die Anfangsposition setzen. Wenn ein Wird das Programm vom Dataflash geladen oder von einem anderen Programmplatz kopiert, werden die Cursorkoordinaten auf den Programmanfang gesetzt. Wenn der Programmname mit einem Unterstrich beginnt, wird das Programm beim Speichern nicht automatisch in Token umgewandelt, sondern als reiner Text gespeichert. Ein so gespeichertes Programm lässt sich zwar nicht starten, die Funktion kann aber genutzt werden um reine Textdateien zu speichern. Auf diese Texte lässt sich dann z.B. mittels EPEEK ab Adresse 3072 zugreifen. Ganz oben stehen Programmnummer (1-8) und Programmname. Sobald der Text verändert wird, erscheint in der oberen linken Ecke ein Stern. Darunter befindet sich eine farbige Statuszeile, in der z.B. Fehler angezeigt werden. Die Position des Cursors wird durch ein invers blinkendes Zeichen dargestellt. Es wird immer eingefügt, Zeichen unter/rechts vom Cursor wandern nach rechts. Die Cursor-Tasten bewegen den Cursor im Textfeld, die Page-tasten bewegen den Cursor um 8 Zeilen nach oben/unten. Bei Bedarf wird der Text gescrollt. In der untersten Zeile sind 5 Farbfelder zu sehen. Diese entsprechen den Tasten ESC und F1...F4 und haben folgende Funktionen:

Abbruch, ohne zu speichern
Änderung des Programmnamens
Speichert das Programm im Flash
Lädt das Programm aus dem Flash
Startet das Programm


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:

Ausdruck des Listings über die Druckerschnittstelle
Ausgabe des Programms über die serielle Schnittstelle
Empfang eines Programms über die serielle Schnittstelle
Löscht das Programm (alle Zeilen leer)


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 Tastenfunktionen

Die folgenden Tasten / Tastenkombinationen haben spezielle Funktionen:


Cursortasten Bewegen den Textcursor innerhalb der Zeilen (horizontal) oder zwischen den Zeilen (vertikal).
Page Up Bewegt den Textcursor um 8 Zeilen nach oben bzw. bis zur Zeile 1
Page Down Bewegt den Textcursor um 8 Zeilen nach unten, maximal bis Zeile 95
POS1 Setzt den Cursor auf das erste Zeichen der aktuellen Zeile.
CTRL+POS1 Setzt den Cursor auf das erste Zeichen der ersten Zeile.
ENDE Setzt den Cursor auf das letzte Zeichen der aktuellen Zeile.
CTRL+ENDE Setzt den Cursor auf das erste Zeichen der letzten Zeile.
DEL Löscht das Zeichen unter dem Cursor, von rechts rücken Zeichen nach.
Backspace Löscht Zeichen links neben dem Cursor, von rechts rücken Zeichen nach.
ENTER Es wird an den Anfang der nächsten Zeile gesprungen.
TAB Es werden Leerzeichen so eingefügt, dass der Cursor im "Raster" von 3 Zeichen weiterbewegt wird. Nützlich für Einrückungen im Programmtext.
ALT+INS Es wird an der aktuellen Cursorposition eine Zeile eingefügt. Alle Zeilen ab der Cursorposition wandern nach unten, die bisherige letzte Zeile geht dabei verloren.
ALT+DEL Es wird die Zeile der aktuellen Cursorposition gelöscht. Alle Zeilen unterhalb der Cursorposition wandern nach oben, unten wird eine Leerzeile angefügt.
CTRL+C Die aktuelle Zeile wird in den Puffer kopiert. Angezeigt wird das durch ein # und die Zeilennummer in der rechten oberen Bildschirmecke.
CTRL+X Die aktuelle Zeile wird in den Puffer verschoben und gelöscht. Angezeigt wird das durch ein # und die Zeilennummer in der rechten oberen Bildschirmecke.
CTRL+V Der Puffer wird in die aktuelle Zeile kopiert. Dabei wird diese überschrieben. Die Puffer-Anzeige rechts oben verschwindet wieder.
CTRL+F Aktiviert die Suchfunktion, Beschreibung im nächsten Abschnitt.




6.2 Die Suchfunktion

Ab 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.



Mit der Taste ESC wird die Suche abgebrochen, ein Abbruch erfolgt auch wenn der Suchstring eine Länge von 0 hat. Die Suche kann nun mit der Taste Enter gestartet werden. Gesucht wird von der aktuellen Cursorposition aus, nach Zeile 95 wird bei Zeile 1 weitergesucht. Wird der Suchstring gefunden, wird dieser im Programmtext invertiert dargestellt und der Cursor an den Anfang des gefundenen Strings gesetzt.



Mit der Taste ESC kann die Suche nun abgebrochen werden, mit der Taste Enter wird eine neue Suche beginnend bei der aktuellen Cursorposition gestartet.

7 Serieller Programmtransfer



7.1 Kommunikationsparameter Standard-Schnittstelle

Für die Funktionen der seriellen Schnittstelle sollte am PC folgendes eingestellt werden
8 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 Schnittstelle

Für die Funktionen der seriellen Schnittstelle sollte am PC folgendes eingestellt werden
8 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)


  1. RECV (CTRL+F3) im Editor auswählen und mit "Y" bestätigen
  2. Transfer am PC mit ./chiptrans.pl -w Dateiname starten
  3. am AVR wird das Programm, am PC der Status angezeigt


7.4 Empfangen vom AVR (BASIC-Programmtext)


  1. Transfer am PC mit ./chiptrans.pl -r Dateiname starten
  2. SEND(CTRL+F2) im EDITOR auswählen und mit "Y" bestätigen
  3. am PC wird der Status angezeigt
Zusätzlich zum Programmaustausch im Editor, bei dem reiner Text übertragen wird, gibt es noch im Hauptmenü die Möglichkeit, Programme im Binärformat zu übertragen. Die Übertragung erfolgt mittels X-Modem Protokoll, auf diesem Wege können auch native AVR-Programme gesendet und empfangen werden, die ja nicht editiert werden können.

7.5 Senden zum AVR (Binär-Dateien)


  1. X-Modem Transfer (senden) am PC starten
  2. Programm im Hauptmenü auswählen
  3. RECV (CTRL+F3) betätigen
  4. Es wird eine Hinweisbox "Data transfer..." angezeigt
  5. Am AVR wird während der Übertragung die Anzeige periodisch abgeschaltet, am PC wird der Status angezeigt
  6. Mit der ESC Taste der Vorgang abgebrochen werden


7.6 Empfangen vom AVR (Binärdateien)


  1. Programm im Hauptmenü auswählen
  2. SEND (CTRL+F3) betätigen
  3. Es wird eine Hinweisbox "Data transfer..." angezeigt
  4. X-Modem Transfer am PC (empfangen) starten
  5. am PC wird der Status angezeigt
  6. Mit der ESC Taste der Vorgang abgebrochen werden


7.7 Nutzung der Screenshot-Funktion

Fü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/Debugger

ChipBasic2 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 Hauptbildschirm

Der 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.



Oben rechts steht durch Doppelpunkte getrennt das Programm, die Programmzeile und das gerade abgearbeitete Statement. Darunter die gerade aktive Programmzeile im Quelltext, da nur 30 Zeichen je Zeile dargestellt werden können eventuell die letzten 2 Zeichen der Quelltextzeile fehlen.
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:

Beendet den Monitor und löst ein Break aus (beendet das Programm)
Beendet den Monitor und setzt die Programmausführung fort
Führt das nächste Statement aus und kehrt danach zum Monitor zurück
Zeigt den aktuellen Ausgabe-Bildschirm an, jeder weitere Tastendruck wechselt zur Monitor-Anzeige zurück
Wechsel zur Array-Anzeige


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:

Beendet den Monitor und löst ein Break aus (beendet das Programm)
Taste ist gesperrt
Taste ist gesperrt
Taste ist gesperrt
Wechsel zur Array-Anzeige


8.2 Die Array-Ansicht



Mittels der Taste F4 gelangt man aus dem Monitor-Hauptbildschirm in die Array-Ansicht. Die Anzeige erfolgt ausschließlich hexadezimal, zusätzlich können die korrespondierenden Zeichen aus der Symboltabelle angezeigt werden. Mit den Tasten PgUp und PgDown kann geblättert werden, die Funktionstasten haben folgende Belegung:

Beendet den Monitor und löst ein Break aus (beendet das Programm)
Wählt die vorherige XMEM Page aus, nach 00 folgt FF.
Wählt die nachfolgende XMEM Page aus, nach FF folgt 00.
Schaltet die Zeichenanzeige ein und aus
Wechselt zurück zum Monitor-Hauptbildschirm


created with latex2web.pl v0.63 © 2006-2013 Joerg Wolfram