Im Datenblatt des ATmeag324P auf Seite 274 steht. Das wenn ich das JTD Bit im MCUCR Register setzten will ich folgendes tuen. "The application software must write this bit to the desired value twice within four cycles to change its value." Nun versuch ich folgendes Optimierung ist natürlich ausgeschaltet. (Das JTD Bit ist Bit Nummer 7 im MCUSR Register deshalb 0x80) u8 temp; temp=MCUSR; temp=temp|0x80; MCUSR=temp; MCUSR=temp; MCUSR=temp; MCUSR=temp; Ich will damit erreichen dass ich die JTAG Pins als I/O Pins nutzen kann. Flashen tue ich das ganze mit meinem DragonBoard über JTAG. Das Bit wird aber nicht gesetzt. Hat Jemand vieleicht erfahrung mit dem Problem
Timur wrote: > Nun versuch ich folgendes Optimierung ist natürlich ausgeschaltet. Was daran ,,natürlich'' sein soll, darfst du noch erklären. Fährst du ,,natürlich'' dein Auto mit angezogener Handbremse, damit es nicht so schnell fährt? Genau das ist jedenfalls dein Problem. Ohne Optimierung generiert der Compiler Code, der so schnarchlahm ist, dass die 4-Zyklen- Bedingung nicht eingehalten wird. Wenn's partout ohne Optimierung sein muss: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=76590#553836
Ah ok danke ich werde das gleich mal probieren. Die Optimierung hatte ich ausgeschaltet weil ich angst hatte das diese Codeschnippsel dann wegoptimiert wird
Timur wrote: > Die Optimierung hatte ich ausgeschaltet weil ich angst hatte das diese > Codeschnippsel dann wegoptimiert wird Zugriffe auf IO-Register werden nie weg optimiert. Daher ist es auch eine sichere Bank, zum Debuggen einfach ein
1 | PORTB = 42; |
irgendwo einzubauen, da man an dieser Stelle immer einen Breakpoint setzen kann.
Vielen Dank für den Tipp Den alten Codeschnippsel den ich nur zum debuggen aufgebläht hatte habe ich jetzt durch diesen erstzt und die Optimierung im GCC auf Os gestellt jetzt funkt es. ************* MCUCR |= (1<<JTD); MCUCR |= (1<<JTD); *************
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.