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