Habe mich bereits durch Datenblätter und Inet gewühlt, aber leider immer noch keine Antwort gefunden :( Nun, folgendes Problem: Ich habe hier einen ATMega16, kann aber keinen anderen Prozessortypen verwenden. Ich habe sämtliche Eingänge belegt, bis zum letzten, brauche aber noch etwa zwei Eingänge. Platzmässig ist es auf der Platine sehr eng (da Grösse vorgegeben), weshalb ein 74HC244 ausscheidet. Die Idee ist jetzt folgende: Ist es möglich, die vier Pins des JTAG-Interfaces für zwei Funktionen zu verwenden, d.h: ich programmiere den Prozessor via JTAG-Interface. Sobald der Prozessor dann gestartet wird, der Prog-Adapter also auch entfernt worden ist, steuere ich per Software die vier Pins weiteren Funktionen zu. Mit dem einen Pin schalte ich eine Status-LED, mit einem weiteren steuere ich einen Ausgang, an den ein externes Gerät angeschlossen ist. Meine Frage ist also, ob es möglich ist, die vier Pins TDI, TDO, TMS und TCK für zwei Funktionen zu verwenden, ohne dass sie sich gegenseitig in ihrer Funktion beeinträchtigen? Könnte man beispielsweise mittels irgendeiner Erkennungsmethode (Prüfung des TDI auf High-Impuls oder sowas zur Funktionszuteilung als JTAG-Interface, wenn nicht, Zuteilung von TMS, TCK als Ein-/Ausgang für weitere Funktionen? Mag ein bisschen verworren geschrieben sein, aber ich hoffe, ihr versteht, was ich meine :)
Namtam wrote: > Die Idee ist jetzt folgende: Ist es möglich, die vier Pins des > JTAG-Interfaces für zwei Funktionen zu verwenden, d.h: ich programmiere > den Prozessor via JTAG-Interface. Sobald der Prozessor dann gestartet > wird, der Prog-Adapter also auch entfernt worden ist, steuere ich per > Software die vier Pins weiteren Funktionen zu. Du musst lediglich am Anfang Deines Programms das JTAG-Interface deaktivieren. Das geht über das Bit JTD im MCUCSR.
Klingt simpel.. Ist es dann auch möglich, diese Deaktivierung wieder aufzuheben? Oder wäre dann der Prozessor praktisch OTP?
Das geht du musst jedesmal wenn du das Ding brauchst es neu initialisieren.
Namtam wrote: > Ist es dann auch möglich, diese Deaktivierung wieder aufzuheben? Oder > wäre dann der Prozessor praktisch OTP? Solange das JTAG nicht per Fuse abgeschaltet ist, sollte das problemlos gehen. Und wirklich "OTP" ist ein AVR eigentlich nie, es gibt immer irgendeinen Weg, ihn erneut zu programmieren...
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.