www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie kann ich am Besten einen Fehler finden?


Autor: Stefanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: rene (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
NIC? Network interface adapter? Meine Glaskugel ist zur Reparatur, die 
hat von den vielen undefinierten Abkürzungen einen Sprung bekommen.

Autor: Stefanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jörn Paschedag (jonnyp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Knacks.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.