Hi, in letzter Zeit hatte ich immer mal Probleme beim Schreiben von Fuse-Bits mit PonyProg2.07c. Damit war dann ein ATMega8 auf dem SPI- Ohr taub. Leider besitze ich aber kein STK500, um den Mega8 über den parallelen Programmiermodus zurückzusetzen. Deshalb habe ich mir die Schaltung von Gunter Baabe "ParProg2" nachgebaut. Funktioniert super ! Da ich aber auch noch eine sinnvolle Verwendung für einen AT90S4433 suche, habe ich mal versucht, das Programm entsprechend umzuschreiben. Leider erfolglos. Der Target- Mega8 wurde nicht zurückgesetzt. Hat jemand ein paar Hinweise? Einen Verdrahtungsfehler schließe ich aus, da ich die gleiche Versuchsschaltung wie beim vorherigen Ausbau mit einem Mega8 als Source verwendet habe. Nur die beiden Ausgänge für die Spannungsversorgung des Targets und dem 12V- Reset habe ich auf PortC verschoben -> werden nun für die XTAL- Eingänge benötigt. Den 12V- Reset- Impuls konnte ich nach der Tastenbetätigung mit den Oszi sehen. Raik
Hallo Raik, schön, dass mein Programm auch bei Dir funktioniert. Lade einfach von www.e-lab.de die Demo runter. Den Source-File hast Du ja. Du musst nur die Zeile "Device = mega8" zu "Device = 90S4433" ändern, bei den "Var Declarations" die neuen Ports angeben und kompilieren. Falls es noch Probleme gibt: melde Dich im E-LAB Forum an. Da schaue ich täglich rein. Gruß Gunter
Hallo Gunter, erst einmal danke für Deine Hinweise. So einfach war es dann doch nicht. Zusätzlich mußten noch die Werte für StackSize / FrameSize verringert werden. Andernfalls brachte der Compiler Fehlermeldungen. Die genaue Bedeutung der beiden Werte und der Wert für SysTick ist mir noch nicht klar. Auch das Handbuch vom Compiler brachte mich nicht weiter. Jedenfalls funzt aber das Programm "ParProg2_AT90S4433" jetzt. Warum mein zuvor geschriebenes Programm nicht läuft, ist mir aber auch noch nicht klar. Grüße Raik
Hallo Raik, die Erklärung Stack/Frame und Systick findest Du in DocuCompiler.pdf im Kapitel 17. Der Systick ist i.A. unkritisch und kann auf 10ms stehen bleiben. Stack/Frame liegen im internen Ram. Da der Mega8 1k hat, konnte ich da relativ grosszügig sein. Ist bei dieser Mini-Applikation auch recht unkritisch, führt bei Überlauf aber zu extrem schwer zu findenden Fehlern. Also nur soweit notwendig reduzieren und dann ggf. im Simulator testen! Gruß Gunter
Hi, auf die einfachsten Dinge kommt man zuletzt. Es war lediglich der Reset- Interruptvektor nicht definiert. Jetzt läuft das Programm FuseReset1.1 ohne Probleme. @Gunter Nochmals danke für die Infos. Grüße Raik
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.