mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik JTAG-Pins bei ATmega32 anderweitig nutzen


Autor: ... Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich habe folgendes Problem. Ich habe eine Hardware mit einem ATmega32. 
Die Hardware wird über JTAG programmiert (SPI wird wo anders benutzt und 
ist nicht herausgeführt). Da ich keine freien Pins mehr habe, bleiben 
nur JTAG-Pins, die sonst im Programm ja nix tun. Ist es möglich den 
ATmega über JTAG zu programmieren (JTAGEN-Fuse ist programmiert) und zur 
Laufzeit die JTAG-Pins als I/Os umzukonfigurieren?

Gruß

Andi

Autor: Drehwurm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im MCUCSR:
• Bit 7 – JTD: JTAG Interface Disable
When this bit is zero, the JTAG interface is enabled if the JTAGEN Fuse is programmed. If this
bit is one, the JTAG interface is disabled. In order to avoid unintentional disabling or enabling of
the JTAG interface, a timed sequence must be followed when changing this bit: The application
software must write this bit to the desired value twice within four cycles to change its value.
If the JTAG interface is left unconnected to other JTAG circuitry, the JTD bit should be set to
one. The reason for this is to avoid static current at the TDO pin in the JTAG interface.

Autor: ... Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Drehwurm

Danke, das habe ich auch gelesen. Die Frage ist, wenn ich das mache (das 
Bit JTD auf 1 setzen), kann ich dann die Hardware noch programmieren? 
Der Text sagt ja, hats schon jemand probiert? Ich würde ungerne eine 
funktionsfähige Baugruppe in den Sand setzen (habe nicht so viele zur 
Verfügung).

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... Andi schrieb:

> Danke, das habe ich auch gelesen. Die Frage ist, wenn ich das mache (das
> Bit JTD auf 1 setzen), kann ich dann die Hardware noch programmieren?

Mit HVP und ISP ja, mit JTAG nein.

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich denke es geht, da dieses Bit nur in Software gesetzt bzw. gelöscht 
wird und nicht fest in den µC geschrieben wird. Während man den µC im 
Resetstatus hält sollte alles wieder beim alten sein. Ich würde eine 
Resetroutine schreiben die erst nach ein paar Sekunden JTAG ausschaltet 
so kann man wenn man will nach einem Reset gleich per JTAG 
losprogrammieren.

Ich schalte beim JTAG auch immer übers Programm aus und bei den Fuses 
ist es mir noch nicht aufgefallen.

Autor: ... Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten, dann werde ich es wohl ausprobieren müssen.

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.