Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » P8000 Code 97 » Themenansicht

Autor Thread - Seiten: -1-
000
27.11.2014, 16:07 Uhr
kaiOr

Avatar von kaiOr

Hallo,

hier mal wieder ein doofer P8000-Fehler zu Protokoll:

Steckten mindestens 2x 1MB RAM, dann hing bei sa.diags der MMU-Test mit "97". Der DRAM-Test verlief dagegen fehlerfrei.

!---------------------------------------------
Testschritt 97 (0312 'S')
Test, ob CODE-MMU beim Limit-Test Trap erzeugt
---------------------------------------------!
...böhmische Dörfer

Die Belegung anderer Steckplätze mit RAM brachte keine Änderung, der Tausch mit anderen RAM-Karten ebenso.
Gab ich zwei RAM-Karten die selbe ID (so dass ich effektiv nur 1MB statt 2MB hatte) lief der MMU-Test fehlerfrei, d.h. an erhöhter Last auf dem Bus schien es auch nicht zu liegen.
Hing ich mit meinem Tastkopf auf A19 oder A20 oder A21 der MMU, dann lief der Test überraschend fehlerfrei. o_O Selbiges wenn ich 22pF zwischen eine der drei Adressleitungen und Masse setzte.
In die Selektierung auf den RAM-Karten ist A19 nicht involviert, also konnte das nicht wirklich ein gelöstes Timing-Problem sein, blieb nur noch Problem mit CODE-MMU oder Treiber im Adressbus. Ein zusätzlicher Abblockkondensator an MMU und Treiber hatte keinen Effekt. Nach Tausch vom Treiber (3D22 -> DL541D) war Ruhe.

MfG
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
27.11.2014, 20:31 Uhr
holm

Avatar von holm

Ja sowas ist wirklich häßlich. Du hättest Dir maximal die Singale auf dem Oszi nach Pegel angucken können, aber selbst das muß Nichts bringen. Glückwunsch auf alle Fälle..

Gruß,
Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
28.11.2014, 09:03 Uhr
constanze czech

Avatar von constanze czech

wow!
--
biete 3-Raum-Computer 96m², Dusche, WC, Zentralheizung, Ferritkerngrill...(nicht ganz) ruhige Wohnlage....zum Zeitwert...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
15.12.2014, 15:59 Uhr
kaiOr

Avatar von kaiOr

Noch ein doofer Effekt der kein Hardwarefehler ist:


Quellcode:
U880-Softwaremonitor Version 3.1 - Press RETURN
>X
U8000-Softwaremonitor Version 3.1 - Press NMI
O D
BOOTING FROM HARD DISK
> boot
Boot
:
md(0,16000)wega



P8000 WEGA
Single-User Mode
#1 dd if=/dev/mem of=/dev/null
NMI (memory)
panic: parity

LED auf der RAM-Karte leuchtet auch. Was habe ich falsch gemacht?
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
15.12.2014, 16:08 Uhr
holm

Avatar von holm

Warum meinst Du das ein angezeigter Parity Fehler der auch NMI auslöst, keine Hardwarefehler ist? Weil der Speichertest durchlief?
Vielleicht hast du ein Problem mit dem Refresh..Enricos Karte leif mit WEGA obwohl kein Refresh statt fand.. allerdings hat die auch keinen Parity Test.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
15.12.2014, 16:17 Uhr
Enrico
Default Group and Edit


So löscht man also bei Unixoiden den RAM?
hhhm, komisch.
Das Betriebsystem sollte wegen der MMUs vor solchen Scherzen eigentlich verschont bleiben.
Eigentlich kann es doch nur Paritäts-Fehler geben, wenn da wirklich was kaputt ist, egal was man macht.
Oder ist der Rechner einfach nur warmgelaufen, und der Fehler zufällig
zur passenden Zeit durch die Erwärmung aufgetreten?
Ich hatte schon mal Paritätsfehler durch Wärme.
--
MFG
Enrico

Dieser Beitrag wurde am 15.12.2014 um 16:18 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
15.12.2014, 16:26 Uhr
kaiOr

Avatar von kaiOr

"dd if=/dev/mem of=/dev/null" liest nur den RAM-Inhalt und gibt ihn ins Nirvana aus, das ist nichts Böses.

In meinem Szenario lese ich aber wohl Speicherbereiche die nie initialisiert wurden und deshalb auch kein passendes Parity-Bit im RAM steht (sondern Zufallsdaten). Hätte ich beim Start vom U8000-Softwaremonitor "NMI" gedrückt oder erst "T" gemacht kommt kein Fehler. Das das aber Voraussetzung ist habe ich auch erst gemerkt nachdem ich sinnlos eine Stunde mit dem Oszi rumgesucht und verglichen habe.

MfG

Dieser Beitrag wurde am 15.12.2014 um 16:27 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
15.12.2014, 17:21 Uhr
Enrico
Default Group and Edit


Ich dachte NULL heisst = löschen.

Dann ist das klar.
Ohne dass der RAM beschrieben wurde, muss das lesen schief gehen.

Der RAM-Test läuft doch aber beim Einschalten immer durch.

Toll finde ich die panische Meldung.
Fast so schon wie "Guru Meditation" vom Amiga.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
15.12.2014, 17:43 Uhr
holm

Avatar von holm

Enrico die Panic gibts bei jedem Unix und zwar immer genau dann, wenn der Kern einen Fehler nicht handeln kann weil z.B: ein Gerät nicht richtig funktioniert wie hier z.B: der RAM.

dd ist ein Programm, das mit if das Inputfile (hier den RAM) und mit of das outputfile (hier Mülleimer) gesagt bekommt und zwischen Beiden kopiert. Logischerweise ist das in diesem Falle ein Lesevorgang.

@kai: normale user sollten keine zugriff auf /dev/mem haben und root sollte wissen was er tut.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
15.12.2014, 17:53 Uhr
kaiOr

Avatar von kaiOr

Root wusste in dem Fall leider nicht, dass er nur "zertifizierten" Datenmüll lesen darf, um keine Panik zu verursachen.

Enricos RAM-Karte habe ich noch garnicht aufgebaut, mir fehlen noch die SIMMs und das SMD-Futter. Da müsste der Fehler ja ausbleiben.

Dieser Beitrag wurde am 15.12.2014 um 17:56 Uhr von kaiOr editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
010
15.12.2014, 17:58 Uhr
holm

Avatar von holm

Mit zertifiziert hat das nichts zu tun, Du liest ja mit /dev/mem auch gemappten Process Space anderer User
was deshalb normalen Usern verboten ist.
...außerdem hast Du der MMU ins Handwerk gepfuscht und nicht initialisierte Speicherbereiche gelesen.

Gruß,

Holm
--
float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v;
{s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+
(r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&&
(A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;}
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
011
15.12.2014, 18:08 Uhr
Enrico
Default Group and Edit


Ja, Holm, DD hatte ich auch schon mal in der Hand (auf der PDP)
Trotzdem dachte ich jetzt, was nach NULL geht, gelöscht wird.
Ist ja nur rein und raus, und nicht verschieben.
War auf die Schnelle falsch gedacht.
Müsste also umgekehrt sein, um den RAM zu löschen.
Sollte man mal mit der Platte probieren.

Kai, Du musst kein SMD nehmen.
--
MFG
Enrico

Dieser Beitrag wurde am 15.12.2014 um 18:10 Uhr von Enrico editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek