Hallo, ich arbeite nun schon seit einiger Zeit mit AVR Studio 4.13. Ich habe es irgendwie schon einmal geschafft eine .hex- Datei zu bekommen, aber nun schaffe ich das nicht mehr. Ich mache immer neues Projekt, und dann AVR GCC (ich habe den GCC Compiler installiert), trage den Programmnamen ein, und dann stelle ich noch bei AVRSimulator Tiny12 ein (für den Tiny soll das Programm sein). Nun tippe ich mein C- Programm in das Programmfenster in der Mitte ein, und klicke auf Compile. Da kommen dann unten im Nachrichtenfenster zwei grüne Punkte, und folgender Text: ------------------------------------------------------------------------ --- avr-gcc.exe -mmcu=attiny12 -Wall -gdwarf-2 -O0 -MD -MP -MT Ledeinb.o -MF dep/Ledeinb.o.d -c ../Ledeinb.c process_begin: CreateProcess(NULL, avr-gcc.exe -mmcu=attiny12 -Wall -gdwarf-2 -O0 -MD -MP -MT Ledeinb.o -MF dep/Ledeinb.o.d -c ../Ledeinb.c, ...) failed. make (e=2): Das System kann die angegebene Datei nicht finden. make: *** [Ledeinb.o] Error 2 Build succeeded with 0 Warnings... ------------------------------------------------------------------------ --- Da kommt ja eigentlich schon, dass irgendein Fehler aufgetreten ist, aber am Ende zeigt er an, das der Build ohne Warnungen verlaufen ist. Nun klicke ich auf Build, und dann kommt im Nachrichtenfenster folgende Fehlermeldung: (und vor der letzten Zeile ist ein roter Punkt) ------------------------------------------------------------------------ --- Loaded plugin STK500 Loaded plugin AVR GCC Loaded partfile: D:\Programme\AVR_Studio\PartDescriptionFiles\ATtiny12.xml gcc plug-in: Error: Object file not found on expected location C:\Dokumente und Einstellungen\Steffen Oesterwind\Eigene Dateien\default\Ledeinb.elf ------------------------------------------------------------------------ -- Was mache ich hier falsch??? Übrigends mein Programmcode: ------------------------------------------------------------------------ --- #include <avr/io.h> int main() { DDRD = ( 1 << PD3 ); PORTD = ( 1 << PD3 ); while( 1 ); } ------------------------------------------------------------------------ --- Wisst ihr, was ich falschmache, oder welche Einstellung noch nicht angepasst ist???? Würde mich über eine schnelle Rückmeldung freuen!!!! Gruß, Steffen
Aus iotn12.h : #ifndef _ASSEMBLER_ # warning "MCU not supported by the C compiler" #endif Der ATTiny12 kann bei WINAVR nur in ASM programmiert werden.
Hallo, wenn ich jetzt z.B. den ATmega 8 bei AVR Simulator einstelle, dann kommt die gleiche Fehlermeldung. Wenn ich den Tiny mit diesem Compiler nur in Assembler programmieren kann, welcher kostenlose Compiler unterstützt den Tiny in C??? Gruß, Steffen
Hast du auch im Makefile auf den mega8 umgeschaltet? Auf dem Tiny12 läuft überhaupt kein C, egal welchen Compiler du verwendest, da er kein SRAM hat.
>welcher kostenlose Compiler unterstützt den Tiny in C???
Keiner. Das liegt aber daran, dass C RAM braucht, das im Tiny12 nicht
vrohanden ist. Der hat nur 32 Register...
Es käme vermutlich nur ein anderer Controller infrage (Tiny13?, Tiny25,
Tiny45, Tiny85). Bei den genannten Controllern bin ich mir bicht sicher.
Die habe ich nur vorgeschlagen, weil sie die gleiche Anzahl an IOs
haben, wie der Tiny12.
Hallo, @ Thomas W. : Wie stellt man das Makefile um??? @ STK-500 Besitzer: Dann habe ich ein mittelgroßes Problem, da ich nun drei Tinys bei Reichelt bestellt habe, und nur ein paar C- Befehle kann. Ich weiß, das Gebettel ist nicht so toll, aber könnte jemand von euch mir ein Assembler- Programm schreiben, welches nach einem 0- Signal (wird durch Taster gegen Masse erzeugt) 5 andere Pins nacheinander auf 1 schaltet. Jeder Pin soll immer wieder ausgeschaltet werden, bevor der nächste auf 1 geht, also wie ein Lauflicht..... Das ganze soll nach Tastendruck nur einmal Durchlaufen. Wenn ihr Zeit und Lust hättet, währe es sehr nett, wenn ihr mir das Programm schreiben könntet. Ich habe nämlich ein Projekt mit den Tinys geplant, und auch das Zeugs darum schon alles auf sie abgestimmt, un wenn das jetzt nicht klappt, währe es schade. Vielen Dank schon einmal im Voraus. Gruß, Steffen
Na ja, so schwer ist das nun auch wieder nicht. Wenn du dich ranhältst, kriegst du das heute noch leicht hin. Den Anfang dazu findest du hier http://www.mikrocontroller.net/articles/AVR-Tutorial
Hallo, ich habe gerade eine ziemlich provisorische Anordnung mit meinem Steckbrett und dem Assemblercode vom Tutorial (der erste mit nur einer Portansteuerung) gemacht. Nun wollte ich die .hex- Datei auf meinen Controller mit PonyProg flashen (ich verwende den ersten ISP von der Seite: http://rumil.de/hardware/avrisp.html). Da kam aber immer nur Port nicht verfügbar. Ich habe aber meinen ISP -wie ich das sehe- richtig gebaut, und auch mit Spannung (5Volt)versorgt. Dennoch klappt es nicht :-(. An was kann das liegen???? Vielen Dank schon einmal im Voraus. Gruß, Steffen
Hallo, ich habe einen blöden Fehler gemacht, und zwar ist bei mir die Standarteinstellung in PonyProg auf Serielle Schnittstelle geschaltet gewesen. Also kurz auf Parallel umgeschalten, und nun kommt nicht mehr dass der Port nicht verfügbar sei, sonderen dass ein "Device" nicht erkannt wurde, oder sogar ganz fehlt. Wie ich das sehe habe ich alles korrekt aufgebaut. Der Tiny braucht zum Programmieren nur seine Spannungsversorgung, und muss dann am ISP angeschlossen werden, oder??? Brauche ich noch irgendeinen Quarz oder so was???? Vielen Dank schon im Voraus. Gruß, Steffen
Hallo, nun habe ich es doch noch geschafft! Mein PonyProg zeigt zwar noch an, dass das "Device" unbekannt, oder nicht angeschlossen ist, wenn ich dann aber auf Ignore klicke, flasht er das Programm doch noch auf den Mega8. Nun will ich ein paar kleine C- Programme mit AVR Studio 4.13 schreiben. allerdings zeigt er mir immernoch die oben geschriebene Fehlermeldung an. Habt ihr irgendwelchen Tips für mich, was ich noch versuchen könnte??? Vielen Dank schon einmal im Voraus!!! Gruß, Steffen
Steffen O. wrote: > Nun will ich ein paar kleine C- Programme mit AVR Studio 4.13 > schreiben. Dann nimm einen Controller, für den das unterstützt wird. Kostet ja nur 'n Appel und 'n Ei. Falls du durchaus einen ATtiny12 in C programmieren willst, kannst du dir Bruce Lightners Methode ansehen: http://www.nongnu.org/avr-libc/user-manual/FAQ.html#faq_tinyavr_c
Hast du ein komplett neues Projekt für den Mega8 angelegt? Sind die WinAVR-Verzeichnisse im Pfad? Wird das richtige make aufgerufen? (Falls es mehrere auf deinem PC gibt) Wenn du make im default-Ordner unter dem Projektordner (da sollte sich ein makefile befinden) in einem cmd-Fenster ("Dos-Box") aufrufst, welche Fehlermeldung kommt dann? Oliver
Diese Fehlermeldung meinst du? > process_begin: CreateProcess(NULL, avr-gcc.exe -mmcu=attiny12 -Wall > -gdwarf-2 -O0 -MD -MP -MT Ledeinb.o -MF dep/Ledeinb.o.d -c ../Ledeinb.c, > ...) failed. Sowas habe ich in Berichten über WinAVR und Vista gesehen. Wenn das bei dir möhlich ist, dann helfen vielleicht die Patches von Madwizard. Links gibt es im Artikel WinAVR
Hallo, ich meine folgende Fehlermeldung, denn nach der gehts nicht mehr weiter. Steffen O. wrote: > gcc plug-in: Error: Object file not found on expected location > C:\Dokumente und Einstellungen\Steffen Oesterwind\Eigene > Dateien\default\Ledeinb.elf > @ Stefan: Die Fehlermeldung, die du aufgeführt hast, ist sicher auch ein Grung dafür, dass es nicht funktioniert. Ich hab im Forum schon gesucht, aber nirgends steht eine Schritt für Schritt- Anleitung, wie man das Problem lösen kann. Habt ihr eine, oder wisst ihr, wo es eine gibt?? Vielen Dank schon einmal im Voraus. Gruß, Steffen
Steffen O. wrote: >> gcc plug-in: Error: Object file not found on expected location >> C:\Dokumente und Einstellungen\Steffen Oesterwind\Eigene ^ ^ ^ ^ >> Dateien\default\Ledeinb.elf Die Leerzeichen (und Sonderzeichen) im Pfad sind übel. Probiere ohen auszukommen, indem du deine Projekte woanders anlegst.
Hi, die Meldung "gcc plug-in: Error: Object file not found on expected location" ist nur ein Folgefehler. Der eigentliche Fehler ist der andere mit "CreateProcess ... failed". Meistens stimmt die PATH Variable dann nicht. CU
Hallo, FBI wrote: > Meistens stimmt die PATH Variable dann > nicht. Wie kann ich die dann wieder hinbiegen, dass es passt??? @ Stefan: Ich kann die Leerstellen im Pfadnamen nicht rausnehmen, da Dokumente und Einstellungen und Steffen Oesterwind Systemordner sind, und deswegen kann ich da die Namen nicht verändern. Ich bekomme keinen Ordner komplett ohne Leerstellen hin, da die Ordner IMMER in Dokumente und Einstellungen und Steffen Oesterwind sind. Vielen Dank schon einmal im Voraus. Gruß, Steffen
Bei aktuellen Versionen der Programme sollten Leerstellen im Pfad auch kein Problem mehr darstellen. Das war früher mal so (wobei "früher" zugegebenermaßen noch nicht allzu lange her ist...).
Hallo, nun habe ich es geschafft: Ich kann jetzt OHNE Probleme eine .hex- Datei erzeugen!!! Ich hab mich durch etliche Tutorials und Beiträge gewühlt, immermal wieder was eingestellt, und nun klappt es! Mein ISP (http://rumil.de/hardware/avrisp.html - Der erste auf der Seite) klappt auch, d.h. ich kann auf einen Mega8 Sachen schreiben, und diese auch wieder auslesen. Eine, bzw. zwei Sachen klappen jedoch nicht: Ich kann keine Lockbits und so was setzen, und ich kann den Mega nicht mehr löschen. D.h. ich habe nun in meiner Dummheit immer wieder neue Programme und so draufgeflasht, und jetzt läuft keins von denen :-(. An was kann es liegen, dass ich den Mega nicht mehr löschen kann, oder keine Lockbits setzten kann??? Gibt es da irgendwelche typischen Fehler??? Vielen Dank schon einmal im Voraus. Gruß, Steffen
Hallo, hat niemand schon Erfahrung mit solch einem Fehler??? Ich bin echt dankbar für jede Antwort, da ich nicht mehr weiter weiss. Vielen Dank schon einmal im Voraus. Gruß, Steffen
>Gibt es da irgendwelche typischen Fehler??? Ja, gibt es: 1) Reset Pin zum IO-Pin gefused. 2) Takt auf extern Clock gefused, aber kein Takt angeschlossen. 3) Takt auf extern crystal gefused, aber kein Quarz angeschlossen. 4) ISP Frequenz zu hoch im Verhältnis zum Takt. In allen diesen Fällen bekommst du keine Verbindung zum AVR mehr. Die Frage ist: WAS hast du gemacht ? Bei 1) hilft dir nur noch ein HV tauglicher Prommer. Bei 2) und 3) schliesst man halt das fehlende an. Bei 4) stellt man eine kleinere ISP Frequenz ein.
Hallo, an den Fuses habe ich noch nicht rumgespielt -geht ja gar nicht-. Wie kann man bei PonyProg eine kleinere ISP- Frequenz einstellen??? Wie gesagt, auf den Mega8 schreiben und lesen kann ich, nur nichts löschen, oder die Fuses umändern........... Gruß, Steffen
>an den Fuses habe ich noch nicht rumgespielt -geht ja gar nicht-. Jetzt vieleicht nicht mehr ? >Wie gesagt, auf den Mega8 schreiben und lesen kann ich, nur nichts >löschen, oder die Fuses umändern........... Wenn du nicht mehr löschen oder die Fuses ändern kannst, dann kannst du auch nicht mehr lesen und schreiben. Nichts sinnvolles jedenfalls. Gibts beim Pony einen Verify Knopf ? Also erst schreiben und dann vergleichen ob das geschriebene auch wirklich programmiert wurde ?
Hallo, PonyProg prüft automatisch, nachdem das Programm auf den Controller geflasht wurde, ob es mit dem Original identisch ist. Bei mir geht das Flashen, bzw. Lesen auch nicht auf Anhieb, sondern da kommt eine Fehlermeldung: Kein Device angeschlossen, oder Device unbekannt. Wenn ich dann auf Ignore klicke, schreibt/ließt er dann trotzdem, und dann kommt auch immer, dass es geklappt hat. Also wenn ich etwas auf den Controller geflasht habe, und anschliessend auf Lesen klicke, zeigt er mir das geschriebene wieder an. Das einzigste was nicht funktioniert, ist wie gesagt das Löschen, und das setzten/ einlesen von Fuses. Ich habe nun den oben genannten ISP- Adapter ausprobiert, und noch einen mit einem Parallelstecker, und 4 Widerständen, bei beiden das selbe Problem. Ich habe auch schon einen 2. Mega8 probiert, schon wieder das selbe Problem. Daher denke ich, es liegt am PC, bzw. an PonyProg. Weiss hier irgendjemand noch Tips, die ich einmal versuchen könnte??? Gruß, Steffen
>Bei mir geht das Flashen, bzw. Lesen auch nicht auf Anhieb, sondern da >kommt eine Fehlermeldung: Kein Device angeschlossen, oder Device >unbekannt. Irgendwie habe ich geahnt das du sowas antworten würdest ;) >Wenn ich dann auf Ignore klicke, schreibt/ließt er dann trotzdem, und >dann kommt auch immer, dass es geklappt hat. Ignore ist ne gute Idee. Der schreibt dann auf Teufel komm raus was rein. Er liest auch irgendwas. Nur nichts sinvolles !
Hallo, was würdest du mir jetzt raten zu tun??? Soll ich einen fertigen ISP kaufen, oder einen anderen nachbauen??? Also die Programme die bis jetzt geflasht wurden haben immer nicht funktioniert. Gibts es irgendwelche Tutorials zu der Sache??? Der ISP, den ich nachgebaut hatte, wurde auch in anderen Threads und so immer erwähnt, und daher dachte ich, der sei ordentlich! Ich würde mal mit 99% Sicherheit sagen, dass ich den ISP richtig aufgebaut habe, also ich denke nicht, dass es am Adapter liegt. Ich könnte mir noch vorstellen, dass die Minimalbeschaltung des Mega8 (VCC, ADCC an 5 Vol, GND, und alle ISP Pins an den Programmer angeschlossen, den RESET Pin noch mit einem 10k Ohm Widerstand an 5 Volt) nicht ausreicht, oder der ISP irgendwie den RESET Pin nicht auf Masse ziehen kann. Ich habe während des Lesens und Flashens schon am RESET Pin die Spannung gemessen, und da lagen immer 5 Volt an! Ich bin solangsam echt mit meinem Latein am Ende ;-). Gruß, Steffen
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.