habe Probleme mit WINAVR

Gast #39803
Lesenswert?
• ▲
▼
Hallo,
ich habe mir die neueste WINAVR-Version (vom 23.04.2003)  runtergeladen 
und installiert. Ich möchte mit PN2 C-Programme
erstellen und einen ATmega128 im STK500/501-Board von Atmel 
programmieren. Bloß wie mache ich jetzt weiter ? Ich habe versucht 
Beispielprogramme zu benutzen und ein makefile zu benutzen, kriege es 
aber einfach nicht hin. Was mir fehlt ist ein einfaches funktionierendes 
C-Programm, wie LEDx einschalten oder blinken lassen (das demo.c von 
WINAVR funktioniert z.B. nicht mit ATmega128) ,ein Beispielmakefile und 
eine Anleitung wie ich damit den MC über ISP programmieren kann.
Kann mir da vielleicht jemand weiterhelfen ?
Gast #39804
Lesenswert?
• ▲
▼
Naja, wenn Du Microcontroller programmieren können willst,
solltest Du IMNSHO eigentlich in der Lage sein, das simple
demo.c der avr-libc auch für einen ATmega128 anzupassen.  Außer
ein paar Namen, die beim m128 anders sind als bei den kleineren
Controllern, ist da wohl nicht viel zu ändern...  Ganz ehrlich,
wenn Du das nichtmal schaffst, wie bekommst Du dann ein eigenes
Projekt auf die Füße?  Hier scheiterst Du ja nicht an WinAVR
oder GCC-Eigenheiten, sondern am simplen Verständnis für die
AVR-Controller selbst.

Außerdem, hast Du denn die Doku zu diesem Beispiel wenigstens
mal gelesen?  Eigentlich ist da alles haarklein auseinandergenommen...

Was Du natürlich unbedingt haben solltest, ist eine ausgedruckte
(liest sich einfacher nach) und eine Online-Version (es sucht
sich einfacher darin und Du hast Querverweise im PDF) des
Atmel-Datenblattes für den ATmega128.  Alle Namen von IO-Registern
in <avr/io.h> sind so, wie sie das Datenblatt beschreibt.

Ein Makefile an sich ist dabei, das führt bis zum iHex File.
avrdude gab's noch nicht, als wir das Demo integriert haben,
sonst wäre wohl auch mein ursprüngliches "make program"
dringeblieben.  Ein allgemeines Beispiel-Makefile mit der
Einbindung von avrdude liegt WinAVR allerdings auch bei, Du
mußt nur noch die Namen Deiner eigenen Quelldatei(en) eintragen.

Caveat emptor: die LDFLAGS in Erics Beispiel binden die
Gleitkommaversion von printf() mit ein, damit ist selbst
das simpelste Progrämmchen einige Kilobyte groß.  Auf einem
m128 stört das zwar nicht weiter, aber Du brauchst es natürlich
auch nicht, als kannst Du vor alle LDFLAGS-Zeilen getrost
ein # schreiben.
Gast #39805
Lesenswert?
• ▲
▼
p.s.: Beim ATmega128 bitte die LED nicht ohne Vorwiderstand
betreiben.  Dessen Ausgangsstufen sind selbst gegen GND deutlich
stromergiebiger als die all seiner Vorgänger, so daß man sich
(anders als bei jenen) jenseits der zulässigen Grenzdaten
bewegen würde.  Habe ich in der Doku auch nochmal drauf
hingewiesen...
Gast #39806
Lesenswert?
• ▲
▼
Hallo,
in der Doku ist schon alles genau beschrieben, das Problem was ich habe 
liegt vielmehr darin, dass der Inhalt der files welche man damit erzeugt 
nicht mit dem listing in der Doku übereinstimmt. Ich bin genau nach der 
Anleitung vorgegangen, das mit dem makefile erzeugte demo.hex stimmt 
nicht mit dem in der Doku abgedruckten überein. Ich kann nicht 
ausschließen dass ich was falsch mache, aber ich habe es immerhin 
mehrfach probiert mit dem gleichen Ergebnis.
(die demo.hex die ich erhalte habe ist angehängt)

Da es an dieser Stelle schon Unstimmigkeiten gab und ich gerade erst 
anfange mich in dieses Thema einzuarbeiten habe ich noch gar nicht 
versucht das demo.c auf den ATmega128 passend umzuschreiben.

Gruß Thomas
Angehängte Dateien:

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.