Hallo an alle, ich hab da mal eine Frage: Ich programmiere meinen ATmega32 über JTAG. Ich würde das auch gerne so beibehalten, allerdings nach dem Programmieren diese PINs als IOs verwenden. Ist das möglich? Ich dachte da an soetwas wie: JTAG softwareseitig zu beginn meines Programms deaktivieren und die Pins dann als normale IOs programmieren. Geht das? Ist dann das flashen über JTAG nachwievor möglich? Danke für hoffentlich hilfreiche Beiträge! M.
Ich nochmal: Eigentlich kann ich meine Frage etwas vereinfachen: Natürlich kann man JTAG deaktivieren (JTD Bit im MCUCR Register). Meine Frage ist eigentlich, ob ich mich damit für immer aussperren, oder ob das Programmieren über JTAG dann noch möglich ist. Danke. M.
Hi >Meine Frage ist eigentlich, ob ich mich damit für immer aussperren, Nein >oder ob das Programmieren über JTAG dann noch möglich ist. Ja. MfG Spess
Warum eigentlich nicht? Solange das Fusebit zum Disablen nicht gesetzt wird hat der Controller nach dem Reset ja keine Ahnung wenn das JTAG-Interface etwas von im will. Zitat "nSRST muss nicht zwingend an /RESET des AVR gelegt werden; wenn er fehlt, kann das JTAG ICE eine schlafende CPU nicht wecken oder mit einem Controller arbeiten, dessen JTAG-Schnittstelle von der Software außer Betrieb genommen worden ist (Bit JTD im Register MCUCSR)" aus: http://www.mikrocontroller.net/articles/JTAG
Danke für die antworten. Ich habe JTAG jetzt softwareseitig deaktiviert und kann die IO Pins nutzen. Dummerweise funktioniert nun eben das Flashen nicht mehr. Genau das habe ich befürchtet. Der Flashvorgang bricht ab mit der Meldung: "The tool has been disconnected". Reset ist angeschlossen. hm hm hm... mist... hmmm. M.
Resetleitung evtl. in der Schaltung relativ niederohmig auf VCC gelegt, so das der Programmer keinen Reset auslösen kann?
Sieht man den Reset den der Programmer am Device verursachen soll? Sowas wie Statusled flackern o.ä.?
Chefkoch schrieb: > Resetleitung evtl. in der Schaltung relativ niederohmig auf VCC gelegt, > so das der Programmer keinen Reset auslösen kann? Nein. Mirco Controller schrieb: > Sieht man den Reset den der Programmer am Device verursachen soll? > Sowas wie Statusled flackern o.ä.? Leider nicht. Habe den jtag ice 3 von Atmeal.
Du könntest das JTAG erst nach einer Sekunde abschalten, dann kannst du direkt nach dem Reset noch normal Flashen.
Svenska schrieb: > Du könntest das JTAG erst nach einer Sekunde abschalten, dann > kannst du > direkt nach dem Reset noch normal Flashen. Das versteh ich jetzt nicht?
Moritz D. schrieb: > Svenska schrieb: >> Du könntest das JTAG erst nach einer Sekunde abschalten, dann >> kannst du >> direkt nach dem Reset noch normal Flashen. > > Das versteh ich jetzt nicht? 1.) Eventuell braucht der JTAG Vorgang etwas Zeit, die du ihm geben solltest bis du JTAG deaktivierst. 2.) Wenn du mit JTAG debugen möchtest, ist es keine gute Idee JTAG per Software im Debuglauf zu deaktivieren. 3.) Solltest du bedenken, dass die an das JTAG angeschlossenen IO-Komponenten Einfluss auf die JTAG-Signallage haben.
Hi Sieh mal in deine Hilfe zum JTAGICE3: JTAGICE3->Software Integration->Debug options Debug options ... Use external reset If your target application disables the JTAG interface, the external reset must be pulled low during programming. Selecting this option avoids repeatedly being asked whether to use the external reset. MfG Spess
spess53 schrieb: > If your target application disables the JTAG interface, the external > reset must be pulled low during programming. Selecting this option > avoids repeatedly being asked whether to use the external reset. > > MfG Spess Tatsächlich half es, den externen Reset von Hand gedrückt zu halten. Danke für diesen Hinweis! Jetzt muss ich diese option nur noch finden. Danke.
Hi
>Jetzt muss ich diese option nur noch finden.
Sieh mal unter Debug->Options and Settings... nach.
MfG Spess
Also diese option verhindert nur, dass ich jedes mal gefragt werde. Ich versteh das jetzt so: Wenn meine software JTAG deaktiviert, so muss ich beim programmieren Reset manuell drücken. Damit muss ich leben, richtig? Wann soll man reset loslassen? Vielen Dank M.
Hi, normalerweise sollte der Programmer Reset die ganze Zeit low halten. (sofern das richtig eingestellt ist) Schau dir evt. mal mit dem Oszi an was beim Programmieren mit dem Reset-Pin passiert.
Hi >normalerweise sollte der Programmer Reset die ganze Zeit low halten. >(sofern das richtig eingestellt ist) Es geht um JTAG-Debugging. Da ist ein RESET normalerweise nicht notwendig. >Also diese option verhindert nur, dass ich jedes mal gefragt werde. So verstehe ich Selecting this option avoids repeatedly being asked whether to use the external reset. auch. >Wenn meine software JTAG deaktiviert, so muss ich beim programmieren >Reset manuell drücken. Damit muss ich leben, richtig? Ist wohl der Preis für die 4 Pins. >Wann soll man reset loslassen? Spätesten wenn der Debugger anfängt das Programm zu laden hat er die Kontrolle über den AVR. MfG Spess
Super. Danke für die hilfsbereitschaft, ich hab's jetzt verstanden und mit manuellem Reset drücken funktioniert das flashen auch. Beste grüße, M.
spess53 schrieb: >> Wann soll man reset loslassen? > > Spätesten wenn der Debugger anfängt das Programm zu laden hat er die > Kontrolle über den AVR. Andererseits ist es auch völlig egal, man kann das auch die ganze Zeit über (beispielsweise mit einem Jumper) auf low klemmen. Erst, wenn das Programm wieder arbeiten soll, muss man (logischerweise) den /RESET-Anschluss wieder freigeben.
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.