mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik JTAG Liste, Zugriff auf Register


Autor: Murphy Spider (student-f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an alle,

ich hoffe, dass ich die Antwort auf meine Frage im Forum nicht übersehen 
habe. Daher hier ein Versuch schlauer zu werden :-)

Ich benutze seit einigen Tagen den JTAG ICE MKII für die AVRS (Des 
Weiteren das STK500 und STK503!; sowie AVR-Studio mit AVR-GCC).

Da ich ja bekanntlich den JTAG-Adapter fürs On-Chip-Debuggen etc. nutzen 
wollte und banale Probs aufgetaucht sind, hier ggf. eine Hilfe von euch!

Nachdem ich schließlich  vor lauter Verzweifelung das sehr magere Manual 
für den JTAG-Adapter gelesen habe, bin ich auf folgende 
(sinngemäße)Aussage gestoßen. "Das Auslesen von Status etc(z.B USART- 
STatus) kann nicht mit Hilfe des JTAG-Adapters geschehen." Daher die 
Frage, wo kriege ich eine Liste her, wo alle auslesbaren Register etc. 
aufgelistet sind ? Oder verstehe ich das magere Manual falsch und ich 
kann doch "alles" auslesen ?


Vielen Dank für eure Mithilfe.

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

Bewertung
0 lesenswert
nicht lesenswert
Du kannst alles auslesen, was man auslesen kann, ohne dass sich durch
das Lesen der Zustand des ICs verändert.  Damit kann man beispielsweise
kein UDR lesen -- dadurch würde das Zeichen als ,,abgeholt'' markiert
und der UART-Puffer wieder freigegeben.

Welche IO-Register genau ausgelesen werden können, steht in den
IO-Bitmaps im XML-File.  Da du den STK503 erwähnst, hier mal als
Beispiel die ATmega1280.xml:
<!--Bit 0 in byte 0 is I/O location, bit 7 in byte 7 is I/O location 63-->
      <ucRead>0xFF,0xFF,0xFF,0xFF,0xFF,0x3D,0xB9,0xF8</ucRead>
      <ucWrite>0xFF,0xFF,0x1F,0xE0,0xFF,0x1D,0xA9,0xF8</ucWrite>
...
<!--Bit 0 in byte 0 is extended I/O location, bit 7 in byte 7 is I/O location 63-->
      <ucExtRead>0x73,0xFF,0x3F,0xFF,0xF7,0x3F,0xF7,0x3F,0xF7,0x3F,0x5F,0x3F,0x37,0x37,0x37,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,
0x00,0x00,0xF7, 0x3F, 0x36,0x00</ucExtRead>
      <ucExtWrite>0x73,0xFF,0x3F,0xF8,0xF7,0x3F,0xF7,0x3F,0xF7,0x3F,0x5F,0x2F,0x36,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F
,0x00,0x00,0xF7, 0x3F, 0x36,0x00</ucExtWrite>

Um's zu verdeutlichen, die ucRead-Bitmap enthält folgende IO-Register
nicht :

. 0x29 - reserved
. 0x2E - SPDR
. 0x2F - reserved
. 0x31 - OCDR
. 0x32 - reserved
. 0x35 - MCUCR
. 0x38...0x3A - reserved

Beim Schreiben gibt's noch ein paar Register mehr, die reserviert
sind, und im extended-IO-Bereich noch mehr.

Autor: Murphy Spider (student-f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wow, das ging ja flott. Danke dir! Damit kann ich dann schon was 
anfangen.

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.