Tag, habe hier grade ein kleines Problem mit dem SimulAVR aufgestoebert. Grundlegend: Es werden Register an wohl ungueltigen Stellen festgelegt, was mit Meldungen wie memory.c:259: WARNING: **** Attempt to write invalid io reg: TWBR at 0x0020 quittiert wird. Ein Nachlesen in der iom16.h ergibt: TWBR liegt an 0x00, so steht es auch primaer im Datenblatt. Dummerweise dahinter eine zweite Zahl in Klammern: 0x20 - leider ohne Kommentar, was das bedeuten soll. Genauso mit allen anderen Registern, alle um 20H nach oben verschoben. Ist das normal? Falls nein, wie bringe ich meinem Compiler anderes bei? Falls ja, wie mache ich selbiges mit der simulavr/avr-gdb/ddd-Kette? Und: Wird das Programm in jedem Fall auf dem uC lauffaehig sein? Zeit bis Projektende wird leider langsam kritisch... Ach ja: Das Problem taucht genau 2x in Google auf - leider immer ohne Kommentar... Danke im Voraus, David PS: Nebenbei: Kann ich mit DDD den Status der SFRs anzeigen? Die Registerliste enthaelt nur die Rs, SREG, SP und PC...
Alle I/O-Register sind um 0x20 verschoben. An 00.1F liegen die Prozessorregister. I/O-Adresse 0x00 entspricht also der Speicheradresse 0x20.
Ah, das ist schon einmal gut zu wissen :) Danke Dir! Nur: Warum kennt der simulavr die Register dann nicht? Version ist 0.1.2.2. David
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.