JTAG Liste, Zugriff auf Register

OP #1001864
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.
Moderator Persönliche Seite
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:
1
<!--Bit 0 in byte 0 is I/O location, bit 7 in byte 7 is I/O location 63-->
2
      <ucRead>0xFF,0xFF,0xFF,0xFF,0xFF,0x3D,0xB9,0xF8</ucRead>
3
      <ucWrite>0xFF,0xFF,0x1F,0xE0,0xFF,0x1D,0xA9,0xF8</ucWrite>
4
...
5
<!--Bit 0 in byte 0 is extended I/O location, bit 7 in byte 7 is I/O location 63-->
6
      <ucExtRead>0x73,0xFF,0x3F,0xFF,0xF7,0x3F,0xF7,0x3F,0xF7,0x3F,0x5F,0x3F,0x37,0x37,0x37,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F,
7
0x00,0x00,0xF7, 0x3F, 0x36,0x00</ucExtRead>
8
      <ucExtWrite>0x73,0xFF,0x3F,0xF8,0xF7,0x3F,0xF7,0x3F,0xF7,0x3F,0x5F,0x2F,0x36,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F
9
,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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.