JTAG-Pins bei ATmega32 anderweitig nutzen

Gast #1913453
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
Gast #1913461
Lesenswert?

Im MCUCSR:
1
• Bit 7 – JTD: JTAG Interface Disable
2
When this bit is zero, the JTAG interface is enabled if the JTAGEN Fuse is programmed. If this
3
bit is one, the JTAG interface is disabled. In order to avoid unintentional disabling or enabling of
4
the JTAG interface, a timed sequence must be followed when changing this bit: The application
5
software must write this bit to the desired value twice within four cycles to change its value.
6
If the JTAG interface is left unconnected to other JTAG circuitry, the JTD bit should be set to
7
one. The reason for this is to avoid static current at the TDO pin in the JTAG interface.
Gast #1913896
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).
#1913923
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren