www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Komptbl-modus für Atmega103 beim 128er bei WinAVR aus? Wie?


Autor: Dirk K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallole !,..

Ich simuliere mit WinAVR den Atmega128. Die Ports DDTF und DDTG lassen
sich allerdings nicht ansprechen. Es hagelt sofort Fehlermeldungen beim
kompilieren, wenn ich auch nur den Begriff "portf" oder "portg" im
Quelltext benutze. Habe gelesen, das der Atmega128 einen
"Kompatibilitätsmodus" ( als Standardeinstellung ) zum Atmega103
besitzt. Kann es sein das man dem Compiler oder dem WinAVR erst
mitteilen muss das "er" einen "echten" 128er und keinen emulierten
103er vor sich hat ? vielleicht Fusebits setzen ? Kann man die auch
über eine Zeile im Quelltext setzen ? Benutzt wird seltsamerweise
"m128def.inc" in meinem Quelltext,.. allerdings bleiben "portg" und
"portf" trotzdem "gesperrt". Kann man hier in WinAVR eventuell
"anpassen" ??? ....

Hat hier jemand vielleicht einen kleinen Tip für mich ?


 Liebe Grüße,
              Dirk

Autor: Dirk K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry hab´ mich verschrieben ,..

 Nicht WinAVR ist gemeint sondern AVR STUDIO 4 ,....

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was gibt es denn für Fehlermeldungen?

Autor: Dirk K. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christof,


Hab´ Dir ein Bild eingefügt, das die Simulation im "laufenden" AVR
Studio zeigt,.... ( vielleicht sagt Dir das mehr ) ( portf und portg
werden nicht aufgerufen )

sobald ich aber z.B. " out portf,r25 " schreibe,... passiert
folgendes :
_______________________________________________________________
Building project...
Including  'C:\Programme\Atmel\AVR
Tools\AvrAssembler\AppNotes\m128def.inc'
>> error : Illegal argument type or count << Hier liegt das
"Problem"
Assembly complete with 1 error
__________________________________________________________________

sonst macht die Simulation alles mit,.... ( z.B. " out portd,r25 ")
wird problemlos ausgeführt .... und auch ausgegeben ...

 Woran liegt´s ?

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe mir mal die m128def.inc angeschaut. Das Problem liegt darin,
dass PORTF und PORTG nicht mehr im I/O Register Adreßraum liegen
(0x00-0x3F) und somit nicht mit in/out erreichbar sind. Sie liegen im
"Memory Mapped I/O" Adreßraum, somit musst du darauf zugreifen wie
auf normales SRAM. Schau dir die Datei am besten mal selbst an.

Autor: Dirk K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christof,

Hey, vielen Dank für die schnelle Hilfe ! :)

genial !

Bin erst seit Anfang dieser Woche am "assemblieren" und hab´
warscheinlich noch einen haufen AVR-Stolpersteine vor mir,... ist alles
noch sehr "neu" für mich,..


Lieben Gruß,
            Dirk

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, für mich ja auch, bin auch noch nicht lange dabei und arbeite
erstmal mit nem ATMEGA 162, da der etwas kleiner ist, aber auch
Features wie z.B. externes MEM-Interface besitzt.

Die Kunst liegt also im Lesen von Datenblättern und systematischer
Fehlersuche. Wenn er also PORTF an dieser Stelle nicht haben möchte,
schaue ich auch mal nach, ob PORTF überhaupt definiert ist, und wenn
ja, dann wie. Und schon hat man den Fehler gefunden.

Autor: Dirk K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christof,

Bin dummerweise gleich vom Fusebit ausgegangen, da ich in der PDF von
ATMEL von einer "Standardeinstellung" der Atmega128 MC´s gelesen
hatte, die diese Pinkompatibel zum atmega103er machen soll,.. (
Werkseinstellung )... und das hatte prima zu den "gesperrten" Ports
(F,G) gepasst,.. ( auch in der Doku in diesem Zusammenhang genannt )
War wohl eine Sackgasse ;)

Gruß,
       Dirk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.