Wie kann ich am Besten einen Fehler finden?

Gast #472218
Lesenswert?

Hallo,
wie kann ich hardwaremäßig am Besten einen Fehler finden?

Ich habe einen ATmega128 und einen NIC und ein JTAG ICE mk2.
Der NIC reagiert auf mein funktionsfähiges Programm nicht so wie er soll 
:-(

Bringt es was wenn ich mit Hilfe des AVRStudio an jeder Leitung zum NIC 
eine "1" rausschicken? Wenn ja, soll ich gleichzeitig mit dem Messgerät 
auf dem Board messen ob an dem Ausgang am NIC wirklich eine 1 ist, oder 
kann ich so was kaputt machen?

Wie geht man da am Besten vor?

Wenn ich nur mit dem Meßgerät messe, weiß ich ja nicht, ob es nicht am 
ATmega liegen könnte.

Gruß, Stefanie
Gast #472298
Lesenswert?

Stefanie,
die uebliche Vorgehensweise ist nachzumessen was den sein soll. Ein 
Oszilloskop sollte man schon haben, sonst wirds etwas schwierig.

Dann sollte man sich einen Pin am Controller freilassen, den man zum 
Fehlerfinden benuetzt. Dort kann man eine LED oder so anschliessen 
und/oder Pulse rauslassen. Die Pulse auf das Oszilloskop.
Wenn unklar ist ob ein code ausgefuehrt wird, kann man vor dem code die 
LED anzuenden, und nachher wieder abloeschen, oder anzuenden und stehen 
bleiben. Wenn man nun diesen LED trick vom Anfang des Programmes her 
einfuehrt kann man testen, was vom code denn ausgefuehrt wird und was 
nicht.
Am Besten man entwickelt das Programm mit gleichzeitiger Fehlersuche.
Es ist durchaus nicht ungewoehnlich, dass man einige Zeit am 
Fehlersuchen ist. Sprich Stunden, Tage, je nach komplexitaet.
Ab einer gewissen komplexitaet lohnt es sich auch, den Controller ueber 
die Serielle Schnittstelle mit dem PC kommunizieren zu lassen, dann kann 
man Werte zur Laufzeit auslesen, allenfalls veraendern.

rene
#472318
Lesenswert?

Was ist der NIC ?

http://de.wikipedia.org/wiki/Network_Information_Center


Um etwas dazu sagen, sollte man schon genauer beschreiben, worum es 
überhaupt geht. Mit ner "1" wird man wohl nicht weit kommen.

Für Hardwareprobleme aller Art ist mindestens der Schaltplan ein Muß.

Woher willst Du überhaupt wissen, daß das Programm funktionsfähig sei ?

Das weiß man doch immer erst hinterher, wenn alles funktioniert.



Peter
Gast #472410
Lesenswert?

Sorry, wenn ich mich so undeutlich ausgedrückt habe.
Ich habe einen RTL8019 als NIC.
Auf genau der gleichen Hardware lief schon mein Programm -> Code ist 
funktionsfähig

Dann wurde der NIC nicht mehr erkannt und nun habe ich ihn ausgetauscht. 
Leider funktioniert die Hardware jetzt trotzdem nicht und ich wollte 
wissen, wie ich am besten Testen kann, woran es liegt.
#472888
Lesenswert?

Meistens haben ja Ethernet-Controller irgendwelche Adressen, die sich 
wie RAM verhalten.

Also schreibe Dir ein Testprogramm, welches dort verschiedene Daten 
einschreibt und wieder zurück liest, z.B. über die UART.

Damit kannst Du dann sehen, ob der Chip überhaupt angesprochen wird bzw. 
kannst diese Zugriffe mit nem Oszi verfolgen.


Das ist ja ein riesen SMD-Flatschen, da würde ich erstmal mit ner Lupe 
und nen Durchgansprüfer alle Lötstellen prüfen.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren