Hallo,
ich habe vor Jahren einen Atmega16 so programmiert, daß er bei Anlegen
der Versorgungsspannung mit seiner Programmausführung startet.
Ich meine, der Volksmund nennt dies "Power-On-Reset".
Nun würde ich gern via JTAG etwas am Programm ändern, also sollte der
Programmstart unterbleiben.
Ich habe das Manual durchforstet, aber nirgends gefunden, wie man den
automatischen Start verhindern kann, wenn er mal installiert ist.
Selbst ein Reset bringt da wohl nichts, denn danach läuft das Programm
sofort an.
Leider habe ich meine Unterlagen nicht zur Hand.
Kann mir vielleicht jemand helfen und schreiben, wo im Manual so etwas
beschrieben ist.
Darum kümmert sich der JTAG-Programmer schon ganz alleine.
Dazu muß man diesen im stromlosen Zustand mit der Zielschaltung
verbinden. Wenn man dann die Zielschaltung unter Strom setzt, übernimmt
der JTAG mit der Programmiersoftware das Kommando.
Hallo, Rahul,
vielen Dank für Deine Antwort.
Daß JTAG den direkten Zugriff auf den Atmega16 erlaubt, erleichert mich
etwas. Leider kann ich es z.Zt. nicht ausprobieren, denn mein
Olimex-JTAG funktioniert im Augenblick nicht, jedenfalls leuchtet die
LED schon mal nicht. Ob es an der neuen Version von AVRStudio (4.12)
liegt, die keine Verbindung herstellen kann?
Aber noch eine Frage zum automatischen Programmstart: Ist das
hardwareseitig verursacht (wie z.B. beim Motorola xxxHC12, wo man einen
Pin definiert ansteuern mußte, um den automatischen Programmstart zu
erreichen), oder wird das softwareseitig erreicht?
Denn, wenn ich das mit dem JTAG nicht hinkriege, müßte ich mein Glück
mit TwinAVR probieren, wo nach meiner Erinnerung eine Fehlermeldung
kommt, wenn das Programm läuft.
Gruß
Egon
"ich habe vor Jahren einen Atmega16 so programmiert, daß er bei Anlegen
der Versorgungsspannung mit seiner Programmausführung startet."
Das kannst Du nicht programmieren, das ist automatisch so.
Nur CPUs mit einem Bootloader fragen einen Pin ab, z.B. die Philips
LPC2xxx-Serie.
Die einzige Möglichkeit, den Programmstart zu verhindern, ist den
Resetpin permanent auf Low zu halten.
"Nun würde ich gern via JTAG etwas am Programm ändern"
Irgendwie beschleicht mich das Gefühl, daß Du bisher noch garnichts mit
AVRs gemacht hast.
Der einfachste Weg etwas zu ändern ist nämlich, sich einfach die alten
Sourcen zu schnappen, die Änderungen zu machen, neu compilieren und
dann rüberbraten.
Ansonsten kannst Du ohne den Flash zu löschen nur 1-Bits auf 0 setzen,
wenn nicht die nötigen Fuses und Lockbits das generell verbieten.
Peter
> Das Prog was ich da drauf habe wurde mit Assamper> erstellt und wen der µC Strom bekommt wartet er bis der Taster 1> gedrück wird und läft erst dann.
Das hat aber nichts mit dem Original-Problem zu tun und ist
besten falls missverständlich.
> wartet er bis der Taster 1> gedrück wird und läft erst dann.
Der µC läuft ständig. Nur sagt ihm der erste Teil des Programmes
zu warten bis der Taster gedrückt wurde. Da läuft genauso ein
Programm ab. Wenn dann der Taster kommt, wird ein anderer Teil
des Programmes ausgeführt.