Hallo! Dies ist der erste Versuch meines Lebens in einem Forum. Bin sehr gespannt, wie das ausgeht. Es geht um eine Sache, die mich schon fast ein Jahr beschäftigt. Um Folgendes: Ich habe ein Gerät, an dem ich gerne etwas ändern würde. Dieses Gerät arbeitet mit einem Mikroprozessor vom Typ Motorola MC68HC11A1. Um die gewünschte Änderung zu bewirken, muss ich im EEPROM des Prozessors einige wenige Speicherstellen löschen und neu programmieren. Welche Speicherstellen das sind und wohin sie geändert werden müssen, das weiß ich. Als Radio- und Fernsehtechniker habe ich einige Hardwarekenntnisse, aber so gut wie keine über Programme, über`s Programmieren und wenig über PC`s. Also habe ich mir als erstes über den Prozessor ein Buch gekauft: "Michael Rose: Mikroprozessor MC6811 - Architektur und Applikation". Leider verstehe ich von dem Inhalt aber höchstens 20 Prozent. Zum Buch gehörig ist eine unbestückte Platine, die laut Buch, wenn sie fertig ist, einen Emulator für den Prozessor darstellt, worunter ich eine Art Minimalumgebung verstehe, die für ihn nötig ist. Die erforderlichen Teile habe ich mir beschafft und das Ganze aufgebaut. Dort findet sich der Prozessor selbst, ein RAM, ein Demultiplexer, ein IC mit nur ein paar Gattern drin, ein Quarz mit 8,0 MHz, ein Schnittstellen-IC, eine 9-Pin-Buchse zur Verbindung mit einem PC, ein Reset-Taster und ein paar passive Bauteile. Von der fertigen Platine kann man davon ausgehen, dass sie funktioniert. Weiterhin gehört zum Buch eine Diskette mit ca. 1,4 MB Dateien, mit denen es möglich sein soll, über einen PC Kontakt mit dem Emulator aufzunehmen und dort verschiedene Dinge zu bewirken. Bis dahin ohne betriebsbereiten PC, habe ich meinen nur aus Souvenir-Gründen aufbewahrten alten MP 386 aus dem Jahr 1989 vom Dachboden geholt und diesen erstmal selbst betriebsbereit gemacht. Danach habe ich den Emulator mit dem PC verbunden und es nach einigem Probieren mit dem Verbindungskabel tatsächlich geschafft, einen ersten Kontakt herzustellen. Das macht sich dadurch bemerkbar, dass nach Aufrufen des Programms "HC11.exe" am PC kurz darauf auf dem Monitor die Meldung erscheint "Treiber installiert", laut Buch eine Art Quittung dafür, dass ein kleines Betriebssystem im RAM des Prozessors auf der Emulatorplatine abgelegt wurde. Das Erfolgserlebnis war sensationell. Danach war es mit einigen im Buch beschriebenen Befehlen möglich, aus dem Adressbereich des MC68HC11 Speicheradressen auszulesen und, wenn es sich um RAM-Speicher handelt, diese auch zu verändern. So konnte ich z.B. die EEPROM-Stellen, die ich verändern möchte, ausfindig machen. Leider ist eine Veränderung des EEPROM-Speichers auf diese Weise nicht möglich, da, wenn ich das Buch richtig verstehe, dazu im 68HC11 ein Programm abgearbeitet werden muss. Hier hört es mit meinem Verstehen leider auf. Auf der Diskette ist ein weiteres Programm ("X68C11"), das laut Buch zur Assemblierung dient, was wiederum zum Programmieren des Prozessors von großer Bedeutung sein soll. Jedoch ist dieses Programm auf dem alten PC nicht lauffähig, da sein Arbeitsspeicher mit 2 MB zu klein ist. Also habe ich mir einen anderen gebrauchten PC gekauft (mit Pentium 3 Prozessor aus dem Jahr 2001) wobei mir wichtig war, dass er eine 9-Pin serielle Steckverbindung hat. Auf diesem ist zwar das Programm X68C11 lauffähig, aber leider klappt mit diesem PC noch nicht einmal die prinzipielle Kontaktaufnahme mit dem Emulator, die mit der Meldung "Treiber installiert" (siehe oben) endet. Die Funktion des seriellen 9-Pin-Anschlusses des PC habe ich mit einer seriellen Maus getestet: das funktioniert. Das ist jetzt der Punkt, an dem mir nichts mehr einfällt. Ich habe zwei Probleme, die mir momentan unlösbar erscheinen: Erstens geht es darum, eine Verbindung zwischen dem neueren PC und dem Emulator herzustellen, was mit dem alten PC weiterhin funktioniert. Zweitens darum, im nächsten Schritt EEPROM-Stellen zu löschen und neu zu programmieren. Falls es jemand geschafft hat, bis hierhin mit dem Lesen durchzuhalten - erstmal herzlichen Dank dafür. Mein Ziel ist es, EEPROM-Adressen im MC68HC11 zu löschen und neu zu programmieren. Auf welchem Weg das erreicht wird, ist von geringer Bedeutung. Was ich an Voraussetzungen habe, habe ich geschildert. Für jede Form von Hilfe bin ich äußerst dankbar. Wenn sich das Ziel hierdurch erreichen lässt, bedanke ich mich mit einer Spende von 50 Euro an eine gemeinnützige Organisation. Freundliche Grüße Manfred
Hallo Manfred, ich weiss zwar, man soll den zweiten Schritt nicht vor dem ersten machen, aber bei der Programmierung des EEPROMs kann ich etwas weiterhelfen. Unter http://www.datasheetpro.com/5087_download_M68HC11RMAD_datasheet.html findest du ab Seite 51 eine Beschreibung des EEPROMs auf dem 68HC11 und ab Seite 54 Routinen zum Programmieren und Loeschen. Du hast schon richtig erkannt, das die Programmierung nur ueber ein Programm auf dem 68HC11 selber erfolgen kann, so komfortabel wie bei den AVRs ist das noch nicht. Dietmar
Hallo Dietmar, Danke für Deinen Tip. Ich habe mir das gesamte Datenblatt heruntergeladen und angesehen, muss aber jetzt erstmal sehen, dass ich die Kontaktaufnahme mit dem PC irgendwie bewerkstelligt bekomme. Hierzu hoffe ich darauf, dass sich noch jemand meldet, der mir in diesem Punkt weiterhelfen kann Gruß Manfred
Hi, wenn das Programm auf dem einem Rechner funktioniert und auf dem manderem nicht, liegt das mit sehr hoher Warscheinlichkeit an der Schnittstelle oder deren Parametern. Rein prinzipiell kann man das auch ändern. Das ist aber vom Betriebssystem abhängig. Villeicht könntest du mal schreiben, welches System du auf dem Rechner betreibst und welche Parametereinstellung die Schnittstelle hat. Gruss Robert
Hallo Robert, Danke für Deine Antwort. Ich habe das Betriebssystem Windows 2000, die Einstellung der Schnittstelle "COM 1" entspricht dem Standard. Ich habe bei der Konfiguration bereits andere Einstellungen versucht und den FIFO-Puffer ausgeschaltet. Alles ohne Erfolg. Es ist verwirrenderweise auch nicht so, dass es gar nicht funktioniert. Ich habe bemerkt, dass in dem Moment, in dem die Kontaktaufnahme der Emulatorplatine mit dem alten PC erfolgreich erfolgt, die Stromaufnahme der Emulatorplatine von 23 mA auf 27 mA ansteigt. Diesen Anstieg des Stromes gibt es auch beim Betrieb mit dem neueren PC, allerdings immer nur (und jetzt wird es ganz verwirrend!!!) beim zweiten (!!!) Aufruf des Programmes, ohnd dass ich zwischendurch die "Reset"-Taste des Emulators betätige. Es scheint sich also generell etwas auf der Emulatorplatine zu verändern. Dennoch kommt die Meldung "Verbindung unterbrochen", so dass ein Weiterarbeiten nicht möglich ist. Gruß Manfred
Servus! Eventuell funktioniert diese Software (WP11) auch mit Deinem Board: http://www.tec-i.com/WP11.htm Alternativ kannst Du auch die Schaltung aus dieser AN verwenden: http://www.ele.uri.edu/courses/ele205/Application-notes/AN1010.pdf Viel Erfolg! Mosh
Hallo Mosh, ich bin fassungslos. Nach monatelangen Versuchen sieht es jetzt so aus, als wäre ich einen großen Schritt weitergekommen. Ich habe "WP11" heruntergeladen und meine Emulatorplatine mit dem neueren PC (dem mit Windows 2000) verbunden. WP11 ließ sich problemlos installieren. Meine Platine lässt sich problemlos initialisieren, der "Communications Test" wird mit der Meldung "Communications are o.k." beantwortet. Es ist mir gelungen, den EEPROM-Inhalt anzusehen und zu löschen. Auch einzelne Speicherstellen neu zu programmieren, scheint geklappt zu haben. Was mir momentan noch etwas Probleme bereitet, ist die Tatsache, dass sich das EEPROM nur zusammen mit dem Konfigurationsregister löschen lässt. Das ist nicht meine Absicht, da ich das Config Reg unangetastet lassen bzw. nach dem Löschen wieder genauso programmieren muss, wie es vorher war. Ich bin mir aber ziemlich sicher, dass das noch irgendwie hinzubekommen ist. Erstmal Herzlichen Dank für Deine Hilfe. Dass am Ende so schnell gehen würde, hätte ich niemals gedacht Wenn ich den letzten Schritt auch noch hinbekomme, bin ich bereit für die versprochene Spende an eine gemeinnützige Organisation. Wenn Du eine hast, die Dir am Herzen liegt, kannst Du sie mir nennen. Wenn ich den allerletzten Schritt auch noch hinbekommen habe, dann melde ich mich noch einmal. Nochmal Danke und herzliche Grüße Manfred
Hallo allen, die mein Problem zur Kenntnis genommen haben und die versucht haben zu helfen bzw. geholfen haben! Das Problem ist gelöst. Ich möchte mich herzlich bei allen bedanken, die daran mitgewirkt haben. In der nächsten Woche werde ich die versprochene Spende überweisen. Herzliche Grüße Manfred
Hallo Manfred! Freut mich, wenn ich Dir helfen konnte! Spende bitte an: http://www.lebenshilfe-traunstein.de Danke und Gruß, Mosh
Hallo Mosh, wie versprochen habe ich gerade eine Online-Spende in Höhe von 50,00 Euro an die Lebenshilfe Traunstein überwiesen bzw. die Lastschrift komplett ausgefüllt und abgeschickt. Beantwortet wurde die Spende auch schon mit einer kurzen "Danke"-E-Mail. Falls Du an einer Bestätigung interessiert bist, kannst Du mir eine E-Mail-Adresse (meine: teletubby@unitybox.de) zukommen lassen, an die ich die Mail von der Lebenshilfe weiterleiten könnte. Oder die Spendenquittung, die mir in Aussicht gestellt wurde. Die "Danke"-E-Mail hier als Dateianhang einzubauen, scheint nicht zu funktionieren. Auch den verbliebenen Rest des Problems nach Anwendung des Programmes WP11 ( die Sache mit dem Konfigurationsregister) habe ich gelöst. Habe nämlich bemerkt, dass das Config-Reg. nur ein Byte lang ist. Dessen Inhalt wird beim Einlesen des Prozessorinhaltes mit WP11 an einer separaten Stelle angezeigt. Beim Löschen des EEPROMS wird dieses Register mit gelöscht. Man muss sich also nur den vorherigen Wert (in meinem Fall: $0D) merken, da es später bei der Neuprogrammierung die Möglichkeit gibt, ihn an selber separater Stelle wieder einzugeben. Also: Nochmal Herzlichen Dank und noch einen schöne Sonntagabend! Manfred
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.