www.mikrocontroller.net

Forum: Compiler & IDEs jtag im makefile ausschalten


Autor: Fredrik Hailer (freddy0815)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo!!

ich mach gerade meine ersten schritte mit winavr. ums zu testen hab ich
für mein atmega32 das einfachste prog der welt geschrieben.
zuerst hab ich alle ports auf high gesetzt und anschließend auf low.

beim testen hatte ich dann PC2, PC3, PC5 immer auf high und PC4 immer
auf low.

im datenblatt des atmega32 hab ich gesehn, dass das die pins fürs jtag
interface sind. mir ist aber nicht ganz klar, warum jtag überhaupt
aktiv ist.

liegt das am makefile? (hab das ausm sample-ordner der neusten winavr
version genommen - anhang)

muss ich im makefile einfach die zeile/zeilen:

DEBUG_BACKEND = avarice
JTAG_DEV = /dev/com1

auskommentieren?? mir sagt das überhaupt nix.

hoff ihr könnt mir weiterhelfen!!

danke schon mal
freddy0815

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> mir ist aber nicht ganz klar, warum jtag überhaupt
> aktiv ist.

Vermutlich, weil du es nicht ausgeschaltet hast.

> liegt das am makefile? (hab das ausm sample-ordner der neusten
> winavr version genommen - anhang)

Nein. Es liegt daran, daß beim ATmega32 ab Werk JTAG aktiviert ist. Du
mußt es über die JTAGEN-Fuse abschalten, wenn du es nicht willst.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alternativ kann man es in der Applikation ausschalten, indem man das
JTD-Bit in MCUCSR setzt.  Der hier gewünschte Effekt wird damit
gleichermaßen erreicht, allerdings ist dieses Verfahren nicht so
sicher wie das Abklemmen der JTAGEN-Fuse, da man unmittelbar nach
einem Reset noch eine Chance hat, via JTAG ans Target zu kommen (und
somit die Lock-Bits umgehen kann).

Autor: Fredrik Hailer (freddy0815)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hat geklappt! vielen dank!

Autor: kai (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo.

ich habe auch so ein problem.

ich habe schon viel versucht
zum beispiel

int main()
{
 MCUCSR|=(1<<JTD);
....
oder auch

int main()
{
 MCUCSR=0x80;
....

wie und wo muss ich das JTC-Bit setzen um JTAG abzuschalten?

ich wäre euch für ein paar tips sehr dankbar

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.