Hallo! Habe ein Problem mit einem 89C2051. Ich muss die Programmierung des Prozessors anhand von 16 verschiedenen Adressen verifizieren. Das heißt ich soll auslesen was bei der jeweiligen Adresse hinterlegt ist. Nun zu meinem Problem: 1. Wie spreche ich den Prozessor an der auf einer Platine verbaut ist? Hab zugriff auf RXD,TXD usw. 2. Wie bring ich den Prozessor dazu mir seinen Inhalt an den jeweiligen Adressen zu verraten? 3. Welche Befehle muss ich, wie einsetzen, was für Schnittstellen muss ich nutzen? Hab von der Programmierung von den Dingern keine Ahnung. Danke schonmal für jegliche Hilfe
Carsten Dücker wrote: > Habe ein Problem mit einem 89C2051. > Ich muss die Programmierung des Prozessors anhand von 16 verschiedenen > Adressen verifizieren. > Das heißt ich soll auslesen was bei der jeweiligen Adresse hinterlegt > ist. Dann mußt Du ihn auslöten und in ein Programmiergerät stecken und hoffen, daß er nicht gelockt ist. Der, den man in der Schaltung programmieren/lesen kann, heißt AT89S2051. Peter
MOVC A, @A+DPTR Damit kannst du in einer Testroutine bestimmte Speicherstellen testen/auslesen. Dazu musst du die Testroutine allerdings einbauen und der AT89C2051 darf nicht gesperrt sein!
Wenn das ein fremder AT89C2051 ist, du genug Geld zahlst ist auch das kein Problem: www.semiresearch.com
Wir Programmieren bei uns im Haus selbst. Danach wird der eingebaut und das ganze Board getestet bevor das Board freigegeben wird. Allerdings soll der µP vorher auf Programmierung verifiziert werden.
Hi, im Normalfall wird doch schon direkt nach dem Programmieren verglichen, ob diese Erfolgreich war. Somit wurde ich, wenn überhaupt nur eine kleine Routine vorsehen, mit der man die Versionsnummer auslesen kann. Klappt dies ist der Chip programmiert. Desweiteren kann nicht jeder den Chip auslesen. MfG Frank
Das wird nur mit zusätzlichen Code im µC gehen der auf ein Kommando über die Schnittstelle die angeforderten Daten sendet. Das problem dabei ist nur das dieses Kommando auch von anderen genutzt werden kann. Würde eher vorschlagen das nach dem Programmieren ein Verify gemacht wird, bevor der µC in die Schaltung eingebaut wird.
Das mit dem Kommando sollte kein Problem sein. Nur wie sieht sowas aus? Muss ich da über eine serielle Schnittstelle auf das Board zugreifen und dann eine Befehl senden und dann auslesen das der Prozessor zurück gibt? Wenn ja welches Protokoll wird da verwendet? Oder ist das Programmabhängig? Mir fehlt da etwas der durchblick.
Das ist ganz und gar programmabhängig. Wenn tatsächlich das "Verify" des verwendeten Programmiergerätes nicht ausreicht - und das würde gegen das Programmiergerät sprechen - muß in die Firmware des 89C2051, von der hoffentlich der Quellcode vorliegt, eine Testroutine eingebaut werden. Beispielsweise, falls noch ein unbenutzter Pin vorhanden ist, beim Prohrammstart / Reset den Zustand dieses Pins abfragen, dementsprechend eine Testroutine anspringen, die mit dem erwähnten MOVC-Befehl diese Speicheradressen liest, die serielle Schnittstelle initialisiert und diese Werte nacheinander ausgibt, ggf. auch als Prüfsumme, d.h. zu einem Byte zusammengerechnet. Ein PC am seriellen Port mit Terminalprogramm kann dann diesen Wert anzeigen.
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.