Hallo Ich habe den Controller ATXmega128A1U und möchte in meinem Programm die Pins verwenden, welche eigentlich für das JTag verwendet werden. Es gibt ja irgendwie die Möglichkeit dies über defines zu machen, so dass ich letztendlich nur noch die elf Datei programmieren muss. Ich habe hierzu schon folgenden Beitrag gefunden: Beitrag "Suche ein Beispiel Fuse Bits für Xmega" Ich habe den code 1 zu 1 kopiert. Aber ich erhalte folgende Fehlermeldung: unknown field 'byte' specified in initializer Was mache ich falsch? Liegt es vielleicht am neueren Atmel Studio (6.1)? Der Post ist ja auch schon älter. Gruß Matthias
Matthias Frank schrieb: > Pins verwenden, welche eigentlich für das JTag verwendet werden. Warum mit den Fuses herumhacken, was spricht gegen:
1 | CCP = CCP_IOREG_gc; |
2 | MCUCR = MCU_JTAGD_bm; |
als Teil der MCU-Initialisierung?
'MCUCR' undeclared (first use in this function) erhalte ich hier als Fehler. Was genau bewirkst du eigentlich in der ersten Zeile?
Matthias Frank schrieb: > 'MCUCR' undeclared (first use in this function) > erhalte ich hier als Fehler. Sorry, MCU_MCUCR oder MCU.MCUCR muss es heißen. > Was genau bewirkst du eigentlich in der ersten Zeile? Lies dir einfach die Beschreibung von JTAGD durch und dort die Hinweise auf den configuration change protection (CCP) Mechanismus.
> Lies dir einfach die Beschreibung von JTAGD durch und dort die Hinweise > auf den configuration change protection (CCP) Mechanismus. ah ok. ja hab es gefunden :P Also die Pins scheinen sich jetzt ansprechen zu lassen. Danke schonmal :P Wenn ich aber beim Programmieren die Fuses auslese, ist das entsprechende Bit noch gesetzt. Das ist in dem Fall normal oder? Der Controller setzt wahrscheinlich jedes mal wenn ich ihn neu starte das entsprechende bit neu anstatt es zu speichern?
:
Bearbeitet durch User
Matthias Frank schrieb: > Das ist in dem Fall normal oder? Ja. > Der Controller setzt wahrscheinlich > jedes mal wenn ich ihn neu starte das entsprechende bit neu anstatt es > zu speichern? Richtig. Die Fuse würde JTAG dauerhaft abklemmen, mit dem JTAGD-Bit wird es nur während der Programmlaufzeit deaktiviert. Du könntest damit folglich immer noch über JTAG programmieren, wenn den den Controller im Reset hälst (denn dann kann er das JTAGD-Bit ja nicht setzen).
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.