News:

Hier stehen die News

MCProg



Um die übersetzten Assemblerprogramme in den Controller zu bekommen, kann man 'ReuBurn' benutzen.:

 
   
 

Wie der Begrüßungsbildschirm schon sagt: das Programm sollte nach Möglichkeit unter DOS laufen. Windows ist kein Echtzeitbetriebssystem, daß bedeutet: jeder Prozeß bekommt zwar ausreichend Rechenzeit von der CPU zugewiesen - nur wann ist die Frage. Bei der Programmierung der Chips ist ein korrektes Timing aber sehr wichtig. Der Takt wird zwar über die Leitung SCK selbst generiert, muß aber in gewissen Grenzen bleiben. Die Programmierung unter DOS hat aber indirekt noch einen weiteren Vorteil: Man ist wahrscheinlich geneigt, einen alten 486'er / 386'er oder ähnlich dazu abzubestellen, um nicht darauf verzichten zu müssen, parallel im Internet o.ä. zu sein. Dadurch ist auch die (bei den meisten modernen Boards) parallele On-Board Schnittstelle des Hauptrechners nicht durch unsere Experimente gefährdet. Im übrigen funktioniert das Programm sogar auf einem EuroPC mit 8086(!) CPU und 9.54MHz ;-).

Ist das Programm gestartet, hat man die Hauptmaske vor sich:

 
   
 

Die Maske beinhaltet zum einen das Hauptmenü und zum anderen die Statusanzeige bzw. das Trace Window, welches die Hex-Werte der geladenen Programm- bzw. Datendateien sowie die Hex-Werte des im angeschlossenen Chip vorhanden Programms und der Daten im EEPROM Bereich anzeigt. Mit den Pfeil-Oben und Pfeil-Unten Tasten kann man durch das Programm bzw. den Datenbereich scrollen.

Der Menüpunkt Datei ist sowohl zum Laden von Programm und Daten als auch zum Speichern von modifizierten oder aus dem Controller geladenen Daten und Programmen.

Der Menüpunkt Einstellungen:

 
   
 

In dieser Maske können einige Einstellungen vorgenommen werden, wie zum Beispiel die Parameter 'Codememory' und 'Datamemory', welche die Speichergröße des Flash- und EEPROM-Speichers des angeschlossenen Chips festlegen. Mit diesen Parametern kann man auch eine Zeitersparnis beim programmieren des Chips erreichen, indem man den Bereich gerade so groß wählt, daß Daten und Programm hinenpassen.
'Codedir' und 'Datadir' legen die Verzeichnisse fest, in denen sich Code und Daten befinden. 'Datenport' und 'Statusport' legen die Adresse der Centronics-Schnittstelle LPTn fest, wobei im Normalfall Statusport=Datenport+1 ist.
Der Parameter Progdelay legt die Taktgeschwindigkeit des SCK-Signals fest. Mit diesem Parameter läßt sich die Programmiergeschwindigkeit dem jeweiligen Rechner etwas anpassen, man muß allerdings testen, in wie weit der Controller sich mit der Geschwindigkeit fehlerfrei programmieren läßt.

Die Menüpunkte EEPROM und Flash-EPROM:

 
   
 

Diese beiden Masken sind analog zueinander aufgebaut, mit dem Unterschied, daß sich die erste mit dem Datenspeicher des Chips befasst (dem EEPROM) und die andere mit dem Programmspeicher (Flash-EPROM). Über 'Send FileBuffer' wird das geladene Programm / die geladenen Daten aus dem FileBuffer Bereich in den Chip geschrieben. 'Receive ChipBuffer' liest diese Daten aus dem Chip in den ChipBuffer Bereich. Nur der FileBuffer Bereich kann über 'Edit FileBuffer' bearbeitet werden, deshalb muß man vorher mit der Funktion 'ChipBuffer -> FileBuffer' den ChipBuffer Bereich in den FileBuffer Bereich übertragen. Dann kann das ausgelesene Programm / Daten editiert und / oder abgespeichert werden. Nach dem editieren kann der geänderte Bereich dann natürlich auch wieder mit 'Send FileBuffer' in den Chip zurückgeschrieben werden.

Die Chipfunktionen:

 
   
 

Über diesen Menüpunkt kann man einen Chip-Reset auslösen, was auch das darin gespeicherte Programm startet. Außerdem lassen sich sowohl der Flash-EPROM und der EEPROM Bereich löschen und die Lock-Bits des Chips setzen:

 
   
 

Nach der Einstellung der Lock Bits fragt das Programm beim verlassen der Maske, ob die Bits tatsächlich in den Controller übertragen werden sollen.

Abschließend ist zu ReuBurn noch zu sagen: Das Programm ist sicher noch sehr unvollständig und hat immer noch ein paar Fehler. Nachdem ich aber auf die RISC-Controller umgestiegen bin und es dort schon viele und bessere Programme gibt, hatte ich natürlich keine große Lust mehr, an ReuBurn weiterzuarbeiten. Aber die Grundfunktionen klappen und wer möchte, kann gerne daran weiterarbeiten. Programm und Quelltext gibt's im Download-Bereich.

 

Valid XHTML 1.0!

Valid CSS!

Besucher seit 16.04.2013:


Notice: Undefined variable: REMOTE_ADDR in /var/www/delta-pi.net/counter.inc.php on line 51

Notice: Undefined variable: found in /var/www/delta-pi.net/counter.inc.php on line 37
077432