Ich verwende das Amtel Studio 6 mit AVRISP mkll. Per default war ein Programm drauf, mit dem man per Taster auf dem EVO-Board 4 LED einzeln schalten kann Ich habe mir ein kleines Programm geschrieben (bzw. aus eurem Tutorial ausgeborgt... :-) ... ), dass zwei LED einschaltet und 2 ausschaltet und dies so lässt (um die Funktion zu prüfen). Das Problem: Wenn ich das Programm per Tools --> Device Programming --> Memories auf den µC brenne, dann Leuchten die 2 LED sofort, noch während des schreibvorganges wie Vorgesehen. Sobald der Schreibvorgang allerding zu Ende ist, ist das alte Programm, das vorher drauf war, wieder aktiv... (Meine LED gehen aus und ich kann sie wieder per Taster schalten). Dies kann ich beliebig oft wiederholen... Er übernimmt das neue Programm nicht. Wenn ich dann den Code verifizieren lassen ("verify") oder wieder einlesen ("read") dann läuft das neue Programm ebenfalls. Ist der Vorgang abgeschlossen, kommt das alte wieder... Bevor ich ausraste: Was um himmels willen habe ich falsch gemacht? Kann doch nicht so schwer sein. PS: Schaltung wurde mindestens 500mal geprüft, die ist in Ordnung Was um himmels willen habe ich falsch gemacht? Ich bedanke mich schonmal für eure Hinweise!
Wenn die LEDS beim Programmieren flackern, dann deutet das darauf hin, daß diese auf einer der Leitungen hängen, die SPI fürs Programmieren braucht. Es kann sein, dass der Programmierer mit der Last nicht klarkommt. -> Vor dem Programmieren dafür sorgen, daß die Leitungen nicht belastet oder von anderen Quellen getrieben werden, d.h. LED vor dem Programmieren rauszupfen und nach dem Programmieren wieder einsetzen.
Also wenn ich den Chip lösche und neu beschreibe dann ändert sich nichts an dem Verhalten... Stimmt, die Datenleitungen werden laut Schaltplan auch fürs programmieren verwendet. Jetzt weiß ich zunmindest warukm die Blinken... Ok, ich werde direkt mal versuchen, die LED's rauszuzupfen und nach dem programmieren wieder einzusetzten. Melde mich wieder. Muss ich irgentetwas an den Fuses ändern oder sind die von Werk aus schon richtig eingestellt? (Verwende den internen 1MHz Ozilator, Standardeinstellung.)
> Also wenn ich den Chip lösche und neu beschreibe dann ändert sich nichts > an dem Verhalten... Dann hat das ChipErase auch nicht funktioniert. > Muss ich irgentetwas an den Fuses ändern oder sind die von Werk aus > schon richtig eingestellt? (Verwende den internen 1MHz Ozilator, > Standardeinstellung.) für blinken reichen die 1MHz aus. -> Wenn der Prozessor frisch aus der Fertigung kommt, an den Fuses nichts ändern. Du wirst aber an den Fuses sowieso nichts ändern können, solange wie du keine funktionierebde Verbindung zw. Programmierer und Target hergestellt hast.
Kannst du denn die Device-ID auslesen? So kannst du mal testen, ob ISP überhaupt funktioniert. >Also wenn ich den Chip lösche und neu beschreibe dann ändert sich nichts >an dem Verhalten... Und du hast auch wirklich die richtige hex-Datei zum Brennen ausgewählt?
ID und Spannung sind auslesbar. Die richtige Hex-Datei? Er hat beim compilieren nur eine erzeugt und die habe ich genommen....?
OK, ich habe die Hex Datei überprüft, es ist die Richtige. Ich habe dann mal den Vorschlag ausprobiert, alle Perepherie abzustöpseln, den µC zu programmieren und dann die Teile alle wieder anzustöpselen. Und siehe: Alles geht auf einmal wie es soll! Gegenversuch: Alles angestöpselt lassen und (wieder angestöpselt) programmieren. Und siehe: Es geht nun weiterhin... Ich würde das gerne verstehen... kann es mir jemand erklären?
Hendrik schrieb: > Ich würde das gerne verstehen... kann es mir jemand erklären? Das ist genau der Punkt, ab dem hier nur noch Mist zu erwarten ist.
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.