Hey Leute, ich bräuchte mal eure Hilfe. Ich habe mir ein Buch gekauft um mit C das Programmieren von Mikrocontrollern zu lernen. Der Code, den ich angehängt habe, steht so im Buch. Habe auch alles gemacht, was im Buch stand (glaub ich). Aber es funzt nicht. Nach verzweifelter google-suche bin ich bei euch gelandet. Ich bitte um eure Hilfe. :-) Vielen Dank mfd
Seuftz ... :-) ich nutze im Moment WinAVR- Programmers Notepad2. Du hast anscheint recht ... habe an der Makefile rumgestrickt und ... einen neuen Fehler bekommen. (alte ist weg)Ja, es sieht so aus, als würde es an meiner makefile liegen. Wäre lieb, wenn ihr mal über diese datei guckt... hänge sie mal an. Vielen Dank mfd
achso ... der neue fehler ist: > "make" extcoff make: *** No rule to make target `blink.o', needed by `blink.elf'. Stop. > Process Exit Code: 2 > Time Taken: 00:00
wenn du den ganz neun winavr-c (april2006) hast , ist dies ein winavr-bug.
@marius 1.) Ich glaube Dir nicht, dass Du dieses Beispiel genau so im Buch gefunden hast! Allenfals hast Du es aus dem Buch mit gaaaaaanz vielen Tipfehlern abgeschrieben! Zum Beispiel etwas ganz wichtiges: C unterscheidet zwischen GROSS und klein-Schreibung! 2.) Nimm das neuste WinAVR vom April und das AVR-Studio 4.12 mit dem neusten ServicePack 3! Als Anfänger würde ich vorerst die Finger vom Makefile lassen, AVR-Studio macht es für Dich! 3.) So funktioniert Dein Beispiel. Suche die 10 Unterschiede zu Deiner Version selber! ;o)) //-------------------------------------- #include <avr\io.h> volatile int i; int main (void) { DDRB=0xff; while (1) { for (i=0;i<0xf000;i++) { } PORTB++; } } //-------------------------------------- 4.) Bei Fragen: Lesen, lesen und nochmals lesen...! 5.) Der Weg ist lang und voller Stolpersteine. Dennoch viel Glück und lass Dich nicht so schnell entmuigen....
@Peter ich danke dir erstmal für die Hilfe. Ja, ich bin voll entmutigt. aber wirklich sehr. weil ich sitze an diesem blödem ding schon urig lange. bin anscheint zu blöd dafür! Doch, habe den text so aus einem buch abgeschrieben, aber auf groß und kleinschreibung nicht geachtet. genauso auf void main(void), wo eine leerzeile dabei war. sonst ist es dasselbe, wie aus dem buch. In meinem buch werden ein paar schritte beschrieben, die man machen muss, die ich auch denke gemacht zu haben bin mir ziemlich sicher. (makefile abändern, io.h und iom8.h kopieren, autoexec.bat einen path einfügen, unter tool make anlegen und in gcc2 auch einen pfad anlegen. funzt nicht. Jeztt hab ich es so gemacht wie du gesagt hast. habe alles runtergeschmissen, altes rückgängig gemacht und mir die april-version gedownloaded. dann habe ich nichts verändert, sondern einfach nur dein Programm eingefügt. Hat aber wieder Fehler angezeigt. no rule to make target ... und so weiter. dann habe ich entgegen deines rates die makefile in mein zielverzeichnis kopiert und in der makefile statt target meinen zielordner eingegebenen. jetzt spuckt er mir das aus, was ich als txt datei angehängt habe. außerdem legt er in dem zielverzeichnniss zwei neue ordner an. .dep und obj. mehr macht er nicht. ich bin am ende meines lateins ... was kann ich machen, das datt geht? Ich will nur, das ich es hinbekomme, das der pc einfach läuft und das ich sicher gehen kann, das es an meinem geschriebenem progi scheitert, denn dann kann ich mir meist selbst helfen. so wie jetzt steh ich ahnungslos und habe noch nicht mal einen ansatz! vielen dank marius
Nimm dir einen Rat zu Herzen: Hol dir von Atmel das AVR-Studio. Spiel auch noch das Servicepack 3 dort ein, und du bist das Problem des makefiles los. Du sagst dem AVR-Studio dann nur noch, dass du ein neues Projekt anfangen möchtest, wählst aus dass es C sein soll, legst Speicherort und Namen fest, wählst aus welchen Prozessor du haben möchtest und AVR-Studio macht den Rest. Es öffnet dir sogar gleich noch das Source-Code File, sodass du gleich drauflos programmieren kannst.
Um es nochmal ganz deutlich zu sagen: Dein Problem hat erst mal nichts mit der Programmiersprache C zu tun. Dein Problem ist die Bedienung der sog. Tool-Chain (also der Kette aus Compiler, Linker), die dafür sorgt dass letztendlich der Programmtext in ein tatsächliches Programm überführt wird. Dafür gibt es ein Hilfsmittel namens make, dass über eine Steuerdatei gesteuert wird. Und genau diese Steuerdatei ist dein jetziges Problem. Glücklicherweise kann man diese Steuerdatei auch mit einigen Vorgaben automatisch erstellen. Und genau das kann AVR-Studio für dich übernehmen. Warte erst mal ab, bis du den Debugger im AVR-Studio entdeckst. Spätestens dann wirst du AVR-Studio nicht mehr missen wollen.
@marius: Du hast übrigens immernoch das gleiche Problem wie am Anfang. Ich weiß nicht wieso aber AVR-Studio will immer ein hex-file oder .elf-file kreieren das genauso heisst wie das Projekt. Wenn du nun dein main-file Namen änderst, musst du das auch im Makefile ansagen. Du musst bei Target.elf(oder wie das heisst) den Namen des Projektes eingeben, also das was in der Fehlermeldung steht. Ich habe das Problem auch immer wenn ich einen Code von anderen Leuten ausprobieren möchte. Ich mache mir dann immer ein neues Projekt auf, kopiere alle Dateien in den Projektordner und sage im Makefile explizit, was er mir für ein elf-file bauen soll. Du musst natürlich auch alle C-Files mit angeben, damit er damit was anfangen kann.
Du hast anscheint recht ... habe an der Makefile rumgestrickt und ... warum bastelt ihr immer an der makefile rum, versteh ich nicht. ihr nehmt das programm mfile und beantwortet alle fragen, die ihr beantwortet haben damit der avr läuft und ab geht die post. es wird dann nicht mehr an das makefile rumgebastelt.
Hey, leute danke erstmal für die mühe .... mit avrstudio funzt es prächtig. was ich nicht verstehe ist, das es auch mit mfile nicht läuft und den selben fehler ausspuckt. Win2000? ich kann alles verstellen und veränder den fehler nicht. angefangen vom programmer bis hin zum debug-format. wobei es ziemlich sicher scheint, das es an der makeflie liegt, weil wenn ich sie rausnehme gibt er mir einen andern fehler an. ich gebe es jetzt an der stelle auf und freue mich einfach, das es unterm avrstudio läuft. vorher ging es ja nicht wegen meines programmes. ärgerlich ist es allemal ohne zu wissen, woran es scheitert, aufzugeben mit winavr zu programmieren. danke an euch alle, die hier gepostet haben! gruß marius
Möchte nochmal nachtragen: An der makefile liegt es doch nicht. habe die makefile aus AVRstudio für WinAVR benutzt. Das kam dabei raus: > "make.exe" program make.exe: *** No rule to make target `program'. Stop. > Process Exit Code: 2 > Time Taken: 00:00 gruß marius
> "make.exe" program make. exe: *** No rule to make target `obj/main.o', needed by `lauftest.elf'. Stop. > Process Exit Code: 2 > Time Taken: 00:00 das ist ein bug in der winavr-c-version april2006
Hey leute, ich wende mich nochmal an euch, weil ich wirklich gerne mit dem WinAVR GCC programmieren möchte, es aber nicht geht. Das Problem ist noch das alte. Das Problem sitzt vor dem PC. Die april-version gegen die davor ausgetauscht .. funzt nicht ... anderen Pc genommen .. funzt nicht ... der dumme Marius ist voll deprimiert! Wäre echt nett, wenn ihr mir helfen könntet. Ich meine, es arbeiten doch verdammt viele mit dem programm und es läuft ... das kann doch gar kein bug sein oder? MFG Marius
:-) :-) :-) Es läuft ... aber fragt mich bloß nicht, was falsch war! :-) @detlev: Ja, mein sourcefile endete immer auf .c Was ich jetzt gemacht habe ist einfach alles runtergeschmissen (zum 4. mal) und dann eine ältere Version installiert. Dann einen neun Ordner angelegt (der anders heißt, als der vorherige wo der Fehler immer aufgetreten ist ... ) über den mfile die makefile reingespeichert, io.h eingefügt, das programm von Peter im pn2 eingefügt, unter blink.c abgespeichert und es läuft wie am schnürchen! :-) Bin sowas von glücklich. das schlimme ist, das ich wirklich nicht weis, was ich genau falsch gemacht habe. War es die neue version? glaub ich nicht unbedingt. oder lag es daran, das ich den alten ordner immer weiter verwendet habe ... (habe aber immer die neuen datein über den alten gespeichert) oder ob ich einfach nur ständig was falsch eingetippt habe. ich habe keine große ahnung... aber es läuft .... Danke für eure Bemühungen .... Gruß Marius
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.