Gute Erklärung - da kann man SprinterSB nur zustimmen!![]()
@Zeroeightfifteen
Versuch doch einfach mal den avr-gcc bzw. WinAVR. Die sind freie Software und du vertust dir nix, wenn er dir nicht zusagt. Zudem kannst du den wie gesagt mit verschiedenen Oberflächen verwenden und bist unabhängig vom Betriebssystem (sowohl was Compiler als auch was Progger (avrdude) angeht).
Andere AVR-C-Compiler (Keil, IAR, ...) liegen jenseits der Portokasse und sind teilweise selbst für kleine Firmen unbezahlbar.
avr-gcc compiliert Standard-C. Wenn du später auf einen anderen Compiler umsteigen willst, kannst du deine Quellen mit kleinem Aufwand dorthin mitnehmen -- vorausgesetzt, der neue Compiler ist selber auch kein Sonderlocken-C. Arbeit machen Portierungen von Dingen, die nicht im C-Standard spezifiziert sind, wie etwa Interrupt-Programmierung.
Das Interface für avr-gcc ist die Kommandozeile einer shell/Eingabeaufforderung, aber es gibt wie gesagt IDEs, die um avr-gcc herum ein Framework deiner Wahl schaffen.
avr-gcc ist zwar frei (und sogar kostenlos), was aber nicht heissen soll, daß er nicht leistungsfähig ist. Er macht guten Code, erlaubt dir einen Blick in den generierten Assembler, unterstützt unterschiedliche Debug-Formate und Optimierungsstufen und unterstützt den *kompletten* Sprachumfang von C! Du hast die Wahl zwischen Standards wie ANSI, ISO-C89, ISO-C99, GNU-C mit Spracherweiterungen usw.
Bleibt noch die Frage, was du unter "gut" verstehst...
Oft wird darunter verstanden, mit Kenntnissen für einen Tretroller einen Ferrari fahren zu wollen![]()
In dem Maße, in dem man so ein komplexes Programm einsetzen will, muss man sich auch damit auseinandersetzen, gleiches gilt für die Hardware (AVR). Der Versuch, durch Rumclicken und Nichtlesen von Dokumentationen und Handbüchern Zeit zu sparen, ist oft Zeitveschwendung und häufige Frustrationsquelle.
Disclaimer: none. Sue me.
Gute Erklärung - da kann man SprinterSB nur zustimmen!![]()
Was aber noch von keinem erwaehnt wurde:
Der GCC-Compiler duerfte der C-Compiler sein, der auf den meisten Plattformen existiert und fuer die meisten Plattformen code erzeugen kann... mir ist zumindest kein anderer Compiler bekannt, der von Haus aus Code fuer MIPS,ARM,AVR,X86, und und und erzeugen kann. Zudem ist er der Standardcompiler fuer Linux-Systeme. Also warum irgendwas ClosedSource nutzen, wenn man den heiligen Gral der OpenSource Bewegung haben kann?!?!?
Gruss,
SIGINT
ich probiere gerade AVR Studio aus. doch wenn ich nun einige includes habe dann hängt sich AVR Studio immer auf.
#include <stdlib.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
diese habe ich aus einem Beispielprogramm.
so weit ich das verstanden habe nimmt der include Befehl diese *.h datein aus den external dependencies.
was genau machen diese Datein und wo bekomme ich diese her?
edit:
nun habe ich noch gleich eine Frage.
wie kann ich mein Programm auf den Mega übertragen?
gibt es da keine Möglichkeit dies über AVR Studio zu übertragen oder muss ich das mit PonyProg machen?
Bei neueren avr-gcc-Versionen gibt es die avr/signal.h nicht mehr. Womöglich ist AStudio irritiert. Man sollte immer erst avr-gcc installieren und erst danach AStudio. Eigentlich sind diese Header keine external dependencies sondern dem avr-gcc bekannt Standard-Includes. Dein Projekt verwendet diese Header ist aber nicht davon abhängig (im Sinne von make).
Disclaimer: none. Sue me.
Lesezeichen