Hallo Ich möchte via ISP einen ATTiny2313 mit C programmieren. Ich habe mir bisher das Ponyprog2000 installiert um ein erzeugtest *.hex File via ISP in den Controller zu schieben. Als Compiler und C-Quellcode Eingabe habe ich mir das WinAVR-Paket ( WinAVR-20060421-install.exe) installiert. Darin enthalten ist: AVR Insight; MFile und Programmers Notepad. Mit dem Programmers Notepad habe ich auch schon einen Quelltext erzeugt aber weiß nun nicht weiter. Auf http://winavr.sourceforge.net/helpme.html ist eine Anleitung wie man das Programmers Notepad einstellt. Auf Seite 10 soll man das make.exe Tool einbinden aber ich bin mir nicht sicher ob ich das richtig mache. Ich habe es so eingestellt wie in der Anleitung aber wie geht es weiter? Müssen die neuen Eingaben irgendwo erscheinen ? Ich habe dann den Beispielquelltext eingegeben und habe die Übungsfehler entfernt. Ich kann dann auch mit dem Befehl: Tools-Make All den Quelltext überprüfen. Wie aber erzeuge ich jetzt ein HEX File das ich übertragen kann. Benötige ich noch AVR-Studio oder ? Alles was in der Anleitung ab Seite 15 kommt verstehe ich überhaupt nicht mehr. Ich weiß auch nicht wo oder wie ich den Befehl "Make Coff" oder "Make Extcoff" ausführe. Bitte um Hilfe. Was muss ich einstellen damit ich mein Maschinencode zum übertragen bekomme. Gruß Ram99
Ich bekomme jetzt diese Meldung wenn ich auf "make all" gehe: -------- begin -------- avr-gcc (GCC) 3.4.6 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. make.exe: *** No rule to make target `OBJ/main.o', needed by `test1.elf'. Stop. > Process Exit Code: 2 > Time Taken: 00:00 Wenn ich auf "make programm" gehe kommt: > "make.exe" program make.exe: *** No rule to make target `OBJ/main.o', needed by `test1.elf'. Stop. > Process Exit Code: 2 > Time Taken: 00:00 Bitte helft mir Ram99
Dein Makefile ist passt nicht zum Projekt. Ich schätze deine .c Datei heißt nicht main.c. In dem Makefile sind irgendwo alle Sourcen (.c) gelistet die zu dem Projekt gehören. Da steht vermutlich 'main.c'. Ändere diesen Eintrag ab und dann sollte es gehen. Ansonsten würde ich vorschlagen das du die *.c Dateien und das Makefile als .zip Archiv postest. Das 'Quelltext überprüfen' mit 'make all' ist mir nicht ganz klar. Denn wenn das geht sollte dabei ein hex-file herauskommen. Ein ganz anderer Ansatz wäre für alles AVRstudio (SP3) zu verwenden. Das unterstützt nämlich den gcc der WinAVR Installation und du brauchst kein Makefile schreiben/ändern. Einfach unter 'Project->New project' den 'AVR GCC' auswählen und einen Projektname eingeben. Als Ordner kannst du deinen Testordner angeben. Die 'Create initial file' und 'Create folder' Geschichte solltest du dann aber abwählen. Mit der rechten Maustaste kannst du dann jeweils links bei 'Source files' und 'Header files' die vorhandenen Dateien hinzufügen. Anschließend einmal F7 drücken und fertig. Wenn du Probleme hast das hex-File in den AVR zu bekommen, solltest du angeben welchen Programmieradapter du verwendest. - Michael
Danke für deine Hilfe. Probiere ich später gleich aus. Findest du das es mit AVRStudio einfacher wird oder ? Das mit dem Makefile verstehe ich eh nicht richtig aber habe bisher auch nur Erfahrung mit dem Keil μVision/51 Compiler. Ist es dann auch noch möglich mit dem AVRStudio und GCC in C zu programmieren. Habe ein bisschen im Netz gesucht und immer nur Infos über Assembler und AVRStudio gefunden. Kann ich auch AVRStudio 4.12 mit SP4 benutzen oder soll ich nach dem SP3 suchen ? Was hat es den mit dem 'Create initial file' auf sich. Das passiert wenn ich das anwähle ? Gruß Ram99
> Das mit dem Makefile verstehe ich eh nicht richtig
Dann ist es mit AVRStudio sicher einfacher. AVRStudio erstellt das
Makefile jeweils automatisch, es sei denn, man sagt ihm, es soll ein
externes Makefile verwenden. Das bedeutet einerseits, dass man die
Optionen über AVRStudio einfach eingeben kann (Drop-Down-Listen, man
muss sich nicht um die richtige Schreibung kümmern), andererseits ist es
weniger flexibel, weil man auf einige Optionen (die man als Anfänger
i.d.R. aber eher weniger benötigt) nicht so direkt zugreifen kann.
Daneben hat AVRStudio den Vorteil, dass man eine komplette IDE mit
Simulator usw. hat und nicht zwischen unterschiedlichen Programmen
hin-und-herschalten muss. Ich habe zwar schon mal gehört, dass AVRStudio
fehlerhafte Makefiles erstellt hat, habe das Problem aber selber noch
nicht gehabt. Aber auch die automatische Makefile-Erstellung erfordert
einige Einstellungen in AVRStudio (Controllertyp, Frequenz...). Ganz von
selbst geht das da auch nicht.
Ist es auch möglich in C zu programmieren mit dem AVRStudio ? Kann ich auch AVRStudio 4.12 mit SP4 benutzen oder soll ich nach dem SP3 suchen ? Was hat es den mit dem 'Create initial file' auf sich. Das passiert wenn ich das anwähle ? Danke für eure Hilfe :) Gruß Ram99
> Aber auch die automatische Makefile-Erstellung erfordert > einige Einstellungen in AVRStudio (Controllertyp, Frequenz...). Genau, daran habe ich nicht gedacht: Unter den Configuration settings muß der Controller und seine Frequenz eingestellt werden. Die Optimierungsstufe steht standardmäßig auf -O0. Da solltest du -Os auswählen. Der Rest müßte dann aber passen. Das AVRstudio erkennt die gcc Installation und kann dann neben der Assemblerprogrammierung auch für C verwendet werden. Gibt es schon SP4 ? Dann drauf damit ;). Mit 'create initial file' wird automatisch eine leere Datei angelegt und dem Projekt hinzugefügt. - Michael
Also, mit dem Programmer Notepad und GCC habe ich es jetzt hinbekommen. Der Fehler war wie "let" es oben beschrieben hat. Ich habe mir jetzt AVRStudio 4.12 SP4 installiert und ein neues Projekt erstellt. 1.)Als Projekt Typ habe ich en AVR GCC ausgewählt. 2.)Als Projekt Name habe ich "Test" ausgewählt und habe keine Hacken bei "Create Initial file" und "Create folder" angewählt. 3.)Als Debug platform habe ich "AVR Simulator" und als Device "ATtiny2313" ausgewählt. 4.)Danach bin ich um mein Quelltext einzugeben in der Spalte "AVR GCC" auf "Source File -> Create New Source file und habe Test.c gewählt. 5.)Nun habe ich meinen C Code eingegeben und bin danach auf "Projekt Options" und habe den ATtiny2313 mit 4 MHz und Optimization "0s" ausgewählt. Den Rest habe ich nicht verändert. 6.)Wenn ich nun kompiliere funktioniert alles ohne Probleme. Nur bei Message bekomme ich einen roten Punkt mit der Angabe: "Object file does not exist". Unten ist ein Auszug. Loaded plugin STK500 Loaded plugin AVR GCC Loaded partfile: C:\Programme\Atmel\AVR Tools\PartDescriptionFiles\ATtiny2313.xml gcc plug-in: Created and added C:\Dokumente und Einstellungen\Ram99\Desktop\Downloads\test.c to the project gcc plug-in: Output directory C:\Dokumente und Einstellungen\Ram99\Desktop\Downloads\default\ does not exist gcc plug-in: Created directory C:\Dokumente und Einstellungen\Ram99\Desktop\Downloads\default\ Object file does not exist: AVR Simulator: Please wait while configuring simulator... AVR Simulator: ATtiny2313 Configured OK Loaded objectfile: C:\Dokumente und Einstellungen\Ram99\Desktop\Downloads\default\Test.elf Loaded objectfile: C:\Dokumente und Einstellungen\Ram99\Desktop\Downloads\default\Test.elf In Ponyprog kann ich dann die erzeugte *.hex einlesen. Zum übertrageb bin ich noch nicht gekommen da ich mir esrt ein ISP Programmer aufbauen muss. Habe ich sonst alles richtig gemacht oder muss man noch irgendwo anderst was einstellen damit das File dann auch später im Controller arbeitet? Gruß Ram99
"C:\Dokumente und Einstellungen\Ram99\Desktop\Downloads\test.c" Leg das mal irgendwo hin, wo keine Leerzeichen im Pfadnamen auftauchen. Entwicklungswerkzeuge reagieren manchmal auf solche Dinge allergisch.
@ Karl heinz Buchegger Hej, du hattest Recht. Ich habe den Pfad geändert und seitdem läuft es ohne Probleme. Danke für den Tipp. @all Großes Lob an die Mitglieder hier. Kommt nicht oft vor das man so schnell gute Hilfe in einem Forum bekommt. Jetzt muss nur noch meine Anmeldung funktionieren (warte schon 24h auf Passwort) dann bin ich auch Mitglied :) Ram99
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.