SFRs mit GCC falsch gesetzt?

Gast #284180
Lesenswert?
• ▲
▼
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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren