Hallo Zusammen, ich habe folgendes Problem, zu dem ich weder hier im Forum, noch bei avrfreaks.net und auch nicht in den div. Manuals eine Lösung gefunden habe: Ich möchte das AVR-Studio zusammen mit AVR-GCC nutzen, ansich offensichtlich keine große Sache, da dies wohl viele machen. Nun habe ich eine Installationsversion vom AVR-Studio 3.5 (?) sowie den AVR-GCC vom Nov. 2001. Und dem scheint wohl was zu fehlen, soweit ich das richtig verstehe. Auf jeden Fall compiliert diese Kombination nicht fehlerfrei, obwohl ich die Anleitung mit den gcctest-Sourcecodes haargenau ausgeführt habe. Danach bin ich darauf gestoßen, das bei avrfreaks.net eine neue Version des Compilers zu finden sei. Ein entsprechender Link führt auf die WINAVR-Seite. Sei's drum, WINAVR installiert: Es findet sich aber leider keine Anleitung, wie ich vom Programmers Notepad aus compiliere. Ich habe daher versucht, den hierin enthaltenen GCC für das AVR-Studio zu verwenden, was laut Readme zwar gehen soll, aber nicht ging :-( Ich kann nicht mehr! Ich versuche seit 8h ein laufendes System auf die Beine zu stellen und halte mich nicht für besonders dumm oder ungeschickt. Ich habe schon so einiges an Programmen installiert bekommen, aber diese Geschichte raubt mir die letzten Nerven. Also, bitte, wer kann mir weiterhelfen? danke und gruß bernd
Hmm, PN2 haben schon genügend Leute zum Aufruf des Compilers überreden können. Anyway, AVR Studio 3.x wird nicht länger von Atmel unterstützt. Nimm bitte 4.08.
Also, weiter gebracht hat mich daß jetzt noch nicht... AVR Studio 4.08 ist installiert, aber so wie's aussieht, kann ich da nur Assembler-Projekte mit starten. Eine Möglichkeit, den C-Compiler einzubinden, habe ich nicht gefunden. Mir ist es ja auch gar nicht so wichtig, ob ich nun 4.08 oder 3.x habe, schließlich haben einige wohl schon mit der Version 3.x programmiert. Nur ich brauche wohl eine Version des AVR-GCCC von AVRFreaks.net die jünger ist als 7.12.2001. Vielleicht kann mir jemand sagen, wo die auffindbar ist... gruß bernd
Hallo Bernd Schau da mal vorbei : http://www.kreatives-chaos.com/index.php?seite=avrgcc Die neueste Version von AVR-GCC hier : http://heanet.dl.sourceforge.net/sourceforge/winavr/WinAVR-20030913-bin-install.exe Viel Spass Toni
Danke Toni, doch hat leider nichts gebracht... WinAVR hatte ich ja schon, doch auch die Anleitung auf der von dir zitierten Seite führte mit dem dortigen Testprogramm nicht zu einer fehlerfreien Kompilierung. Derzeit beschwert sich der Compiler über eine undefinierte Referenz zur Funktion ionint (taucht in dem Testprogramm auf). Das sieht mir doch sehr nach nicht gesetzten Pfaden aus, aber ich habe ide Installation genau nach Anleitung durchgeführt. Von manuell anzulegenden Pfaden steht da nichts. gruß Bernd
Nein, eine undefined reference hat nichts mit irgengdwelchen nicht gesetzten Pfaden zu tun, sondern es bedeutet schlicht und einfach, daß Dein Program ionint referenziert, aber nicht definiert. Da die Standard-Makefiles allesamt mit -g in den Compiler-Optionen daherkommen, sollte Dir der Linker auch noch sagen, in welcher Zeile die Referenz auftaucht. Falls Du wirklich ionint geschrieben hast, vielleicht ein simpler Schreibfehler? Ansonsten: in avr-gcc und avr-libc hat sich seit der uralten Version, mit der Du bislang gearbeitet hast, einiges getan. Manch altes Programm benötigt da ein wenig Politur...
Hallo Jörg, ist mir schon klar, aber wenn die Funktion ionint nicht definiert ist, fehlt eine Datei, in der die Definition erfolgen sollte. Da es sich um ein kleines Testprogramm von der ersten der beiden von Toni zitierten Seiten handelt und Bestandteil einer Anleitung zur Installation von WinAVR ist, bin ich davon ausgegangen, daß alle benötigten Header inkludiert sind, aber evtl. nicht gefunden werden. Ein Schreibfehler ist es leider auch nicht, dort steht tatsächlich ionint(). Es ist übrigens richtig, der Linker sagt mir auch die Zeile. Ich habe eben gesehen, er wirft in Zusammenhang mit dem ionint auch noch eine Warnung aus. Wie auch immer, mir ist das Programm an sich ja nicht wichtig, ich will einfach nur ein Programmiersystem haben, was ich übrigens bisher nicht hatte. Dieses WE wollte ich halt eigentlich darauf verwenden, mir den Atmel vertrauter zu machen. Allerdings habe ich bis jetzt immer noch kein System, mit dem ich in c Programme schreiben, compilieren und übertragen kann. Ist doch alles sch... Ich weiß nicht, wenn ich eine Installationsdatei ausführe, davon bin ich bisher immer ausgegangen, habe ich entweder anschließend ein lauffähiges System oder eine genaue Anleitung, was noch zu machen ist. Weder bei AVR-Studio+AVR-GCC noch bei WinAVR war das der Fall. Das ist schon ziemlich frustriend. gruß bernd
> ist mir schon klar, aber wenn die Funktion ionint nicht definiert > ist, fehlt eine Datei, in der die Definition erfolgen sollte. Da es > sich um ein kleines Testprogramm von der ersten der beiden von Toni > zitierten Seiten handelt und Bestandteil einer Anleitung zur > Installation von WinAVR ist, bin ich davon ausgegangen, daß alle > benötigten Header inkludiert sind, ... Headerdateien enden auf .h, diese werden vom C-Präprozessor in Deine C-Quellen reingezogen. Du hast vermutlich (genau kann ich das nicht sagen, weil Dein Input etwas zu spärlich ist) in Deinem Makefile nur eine C-Datei angegeben, obwohl das Projekt aus mehreren besteht.
Hallo Jörg, Du hast schon recht, das meine Infos etwas spärlich sind, also, es ist so: Es gibt kein "Projekt", daß sich nicht kompilieren läßt, soweit bin ich ja noch gar nicht gekommen... Und ich hatte bisher auch noch keine funktionierende Entwicklungsumgebung auf meinem Rechner. Mein Ziel ist es, erst mal einen brauchbaren Editor + C-Compiler zu installieren. Dazu habe ich anfangs die Installationsdateien für AVR-Studio 3.56 und avrgcc20011121a.exe von einem Bekannten bekommen, der hiermit m.W. ein lauffähiges System installieren konnte. Nach der Installation (gemäß Anleitung "Installing and using AVR-GCC with AVR-Studio" von Eivind A. Sivertsen, stammt wohl von der AVR-Freaks-Seite) habe ich das Paket GCCtest von Volker Oth verwendet, um ein Test-Projekt anzulegen und zu kompilieren. Letzteres hat nicht funktioniert, ein Fehler war, das im makefile der Schalter "MCU = atmega8" nicht erkannt wurde, es gab aber noch weitere, die - soweit ich das verstehe - auf fehlende oder falsche Einstellung der Installation hinwiesen. Später habe ich dann rausgefunden, das sich die o.g. Anleitung auf avrgcc in der Version vom Dez. 2001 bezieht, in dem wohl auch der ELF2COFF-Konverter enthalten ist, was bei meiner Version nicht der Fall ist. Also habe ich mich auf die Suche nach der neusten Version des AVRGCC gemacht, alle Links hierzu führen aber auf die Seite vom WINAVR. Dieses habe ich dann Installiert , allerdings fehlte eine Beschreibung, wie mit dem Toolpaket zu verfahren sei. Der Versuch, das AVRGcc, daß in diesem Paket enthalten ist, mit AVR-Studio 3.56 zu verwenden schlug wiederum fehl. Dein erster Vorschlag hat mich zum AVR-Studio 4.08 geführt, der aber nur einen Assembler enthält und meines Wissens nach nicht die Einbindung eines (externen) C-Compileres ermöglicht. Schlielich gab es da noch den Hinweis von Toni auf eine erläuternde Seite zum WinAVR, die ich wiederum haarklein nachvollzogen habe. Auf dieser Seite gibt es ein kleines Beispielprogramm, der Quellcode im folgenden: #include <avr/io.h> int main(void) { unsigned char i; ionint(); /* Endlosschleife */ for (;;); return 0; } und hierauf bezieht sich mein aktuelles Problem, dass nämlich der Compiler dieses File (natürlich + makefile) nicht in ein Programm umsetzt, sondern sich über die fehlende Definition beschwert. Da nichts anderes in der Dokumentation stand, bin ich davon ausgegangen, daß dieser kurze Code ohne weiteres kompilierbar sein sollte... Gruß Bernd
Das wäre nur dann compilierbar, wenn es auch noch jemanden gibt, der die Funktion ionint() definiert. Ein Bestandteil der Bibliothek ist sie jedenfalls nicht. Warum hast Du nicht mit dem README von WinAVR selbst erstmal angefangen? avr-libc kommt mit einem simplen Demo-Programm, das findest Du unter WinAVR-Verzeichnis => examples => demo (wenn mich nicht alles täuscht). Kann sein, daß Du für den ATmega8 noch irgendwelche IO-Definitionen anpassen mußt (leider unterscheiden diese sich gelegentlich von AVR zu AVR, aber das liegt nicht am Compiler, sondern wird von Atmel so vorgegeben), aber ansonsten sollte das den Anspruch an ein minimales Projekt erfüllen. Außer dem Takt und der Stromversorgung muß man nur noch eine LED anlöten (Takt ist beim ATmega8 ja standardmäßig intern, also mußt Du Dich darum erstmal auch nicht kümmern). Zu Windows kann ich Dir nicht viel sagen, da ich selbst keins habe. Den Erlebnisberichten anderer nach scheint aber AvrSide ganz OK zu sein: http://www.avrside.fr.pl/eng/ind_eng.html Ja, AVR Studio 4.x hat kein API zur Einbindung von 3rd-party Compilern, so daß es als IDE nur für den mitgelieferten Assembler taugt. Betrachte es als Simulationstool. Ja, die aktuelle Windows-Distribution von AVR-GCC & Co. heißt WinAVR. Leider seit einem halben Jahr auch noch nicht wieder aktualisiert, was vor allem an beruflichem Streß Eric Weddingtons mit seinem Brötchengeber hängt.
zu ionint(): sehe ich auch so, ich bin nur davon ausgegangen, daß es ich um irgend eine Standardfunktionfunktion handelt, die aber dann während des Kompilierens nicht gefunden wird. Wie du schreibst, ist dem aber wohl nicht so. Die readme zu WinAVR habe ich natürlich zuerst gelesen, allerdings erklärt die jemanden wie mir, der mit make noch nicht viel zu tun hatte, nicht, wie ich make richtig einbinde. Es wird aber erläutert, wie man das AVR-Studio zusammen mit WinAVR nutzt (wenn auch nicht empfohlen). Die Anleitung hatte ich dann (erfolglos) versucht umzusetzen. Mittlerweile habe ich eine Lösung gefunden: Ich habe AVR-Studio 3.56 installiert und dazu die avrgcc-Version vom Nov. 2001 und anschließend das komplette avrgcc-Verzeichnis meines Kollegen, bei dem alles läuft über mein entsprechendes Verzeichnis kopiert. Jetzt kompiliert mein System endlich. Was es war, weis ich nun natürlich immer noch nicht, aber das ist mir mittlerweile auch egal. Danke trotzdem für alle Hinweise. gruß Bernd
Hmm, auf die Dauer wirst Du aber mit AVR Studio 3.x nicht mehr glücklich werden. Atmel wird Dir dafür keine Bugreports mehr entgegennehmen (während von mehreren Seiten berichtet worden ist, daß sie aktiv Bugs im 4.x beseitigen), und es hat mehr als nur einen Bug.
OK, das ist natürlich ein gutes Argument, aber ich bin froh, daß ich überhaupt erstmal loslegen kann. Zudem kann ich mich so noch mit meinem Kollegen austauschen, der ebenfalls mit dem Studio in der 3.x Version arbeitet. Ich hoffe halt, daß ich in Bälde vertrauter mit dem System werde, so daß mir dann ein Umstieg möglich (bzw. leichter) wird. Aufs erste wird es aber sicherlich reichen, zumindest, solange ich nicht mehr will, als das mein AVR "Hello World" per LED morst ;-)
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.