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.
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.
Hi, wow, das ging ja flott. Danke dir! Damit kann ich dann schon was anfangen.
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.