Hallo,
ich habe den AT89C51AC3 mit einem Board vor kurzem zum Einsteigen
bekommen. Vorher habe ich ein wenig mit AVRs rumgespielt, aber auch
nicht viel.
Bisher Programmiere ich den Controller mit Keil, aber da habe ich ja die
Einschränkung bei der Codegröße.
Nun suche ich einen Compiler oder besser noch eine Komplette IDE für
Windows für diesen Controller.
Da das ja ein "normaler" 8051 ist, müsste der sdcc das ja ordentlich
machen.
Leider konnte ich nichts zu sdcc und genau meinem Controller finden,
aber die Header-Datei von Keil lässt sich doch sicher für den sdcc
anpassen, oder? Ich habe für den Controller auch noch eine extra, von
dem, von dem ich das Board habe, selbst gebastelte Header-Datei
bekommen. Daher denke ich, das geht mit anderen Compilern auch.
Ist das viel Aufwand?
Einen kostenlosen Simulator, ähnlich komfortabel wie der von Keil würde
ich auch noch recht gut finden, muss aber nicht sein. Ich spiele im
Moment mit dem edsim51 herum, der sieht recht umfangreich aus, ist aber
gewöhnungsbedürftig. Wichtig ist mir mehr das Innenleben des Controllers
zu beobachten, als irgendwelche Pins oder wie beim Edsim51 die ganze
Hardware die man dort "anschliessen" kann.
Wie ihr seht, ich bin weder ein Code-Schnorrer noch einer, der selbst zu
Faul zum Suchen ist, aber da ich gerade erst mit Mikrocontrollern
beginne mich zu beschäftigen ist das alles noch recht schwer zu
umspannen. Ich hoffe ihr könnt mir da etwas gutes Empfehlen.
Es muss nicht der sdcc sein, hauptsache es ist kostenlos und mit dem
Compiler kann ich alle Funktionen des Controllers ansprechen.
Hallo krümeltee,
nimm die IDE µC/51 von Wickenhäuser (www.wickenhaeuser.de).
Damit haben wir seit einiger Zeit gute Erfahrungen gemacht.
Anbei eine Kurzanleitung, die wir mal im Netz gefunden haben.
Carlos
Einen (guten) freien Simulator zu finden, wird schwierig. Ich habe den
Keil Simulator eigentlich immer dazu verwendet, mir die Ergebnisse von
Berechnungen anzeigen zu lassen, ohne dass ich gleich flashen musste.
Ansonsten bringt ein Simulator eh nicht viel, da man bei Portklimpereien
immer ne Hardware dran hat, von der man lesen will, und bereits bei nem
Display oder ner Tastatur hört man auf, die Ports nach der erwarteten
Antwort von LCD/Tastatur zu setzen. Für solche Sachen flasht man dann
eben mal kurz und nimmt bei Bedarf MCUs mit echter Debugschnittstelle.
SDCC ist wie du sagst schon mal eine freie Möglichkeit, der Wickenhäuser
Compiler kostet etwa 100€, in der Demo sind es immerhin 8KB, die man
compilieren kann. Die IDE vom Wickenhäuser ist... naja, sagen wir...
gewöhnungsbedürftig.
Wobei man als IDE ja evtl. Eclipse verwenden könnte?
Ralf
SDCC ist der kostenlose Compiler für 8051er.
Suche hier im Forum danach, da findest Du einiges.
Editor nach deinem Geschmack verwenden, dann Makefile aufrufen und damit
compilieren...
Siehe: Beitrag "Ein Editor für SDCC."
Also ich habe nun Programmers Notepad so eingerichtet, dass ich ein
Projekt habe, welches ich nun einfach immer als "Template" für andere
verwende. Dort kann ich nun per STRG-M make all aufrufen, das ist sehr
praktisch.
>Einen (guten) freien Simulator zu finden, wird schwierig. Ich habe den>Keil Simulator eigentlich immer dazu verwendet, mir die Ergebnisse von>Berechnungen anzeigen zu lassen, ohne dass ich gleich flashen musste.
Als Simulator verwende ich nun wohl den Keil und den Edsim51 parallel
und genau dafür brauche ich ihn ja auch.
>Ansonsten bringt ein Simulator eh nicht viel, da man bei Portklimpereien>immer ne Hardware dran hat,
Sowas testet man dann direkt an der Hardware, da hilft ein Simulator
herzlich wenig bzw. ist es so aufwendig, dass ich genauso die Hardware
dranpacken kann.
Im Anhang mal eine Beispiel-Header-Datei von einem ähnlichen Controller
wie meinem. Da werde ich dann einfach die Header-Datei, die ich zu Keil
bekommen habe, für den sdcc anpassen und in den include/mcs51-Pfad
packen. Die "normale" 8051.h ist für die meisten kleinen Anwendungen
ausreichend, aber warum an Möglichkeiten sparen, wenn auch mehr geht ;)
>nimm die IDE µC/51 von Wickenhäuser (www.wickenhaeuser.de).>Damit haben wir seit einiger Zeit gute Erfahrungen gemacht.
Ich habe diese zu Anfangs auch gezeigt bekommen und mich für Keil
entschieden, da das doch komfortabler ist. Was mich vorallem stört, ist
wenn man immer mehrere Programme offen haben muss um zu compilieren
usw., mit Programmers Notepad und Flip sinds nur zwei und keine
Konsole...
Die IDE von Wickenhäuser sieht aus, als wär die Entwicklung bei Windows
95 stehen geblieben (was natürlich nicht heissen soll, dass sie schlecht
ist!!!) und dann noch die Codegrößenbegrenzung. 8kb ist viel, aber wenn
man mal ein Weilchen rumbastelt und die Projekte größer werden, will ich
nicht schon wieder umstellen müssen.
Also war ich schon auf dem richtigen Weg, vielen Dank für eure Tips,
wenn euch noch ein paar Kniffe einfallen um manche Sachen zu
vereinfachen, bin ich immer offen für Vorschläge :)
Wie wäre es mit Progstudio 2007.
Ist im moment noch ein reiner Assembler aber ist eine sehr gute
Entwicklungsumgebung.
Es soll demnächst auch eine Version mit C-Compiler herauskommen.
Du kannst es zu Ausprobieren kostenlos herunterladen mit der
Einschränkung auf 2 KB.
Reicht aber zum Kennenlernen völlig aus und Vollversion kostet auch net
so viel.
Hier mal der Link zum herunterladen.
http://www.progshop.com/versand/software/prog-studio/index.html
Es wir dir bestimmt gefallen schau es dir einfach mal an so fern es du
noch nicht kennst.
Auch wenns noch so toll aussieht, kann ich damit nicht viel Anfangen.
2KB ist für den Anfang einiges, aber ich will nicht zwischendrin
umsteigen müssen, weil mal ein Projekt größer wird.
Ich habe jetzt den Header für den AT89C51AC3 für SDCC geschrieben. Er
ist im Anhang. Das original dazu stammt von Atmel, aber gab es nur für
den AC2. Also habe ich den verändert. Steht auch im Kopf mit drin.
Der gehört nach $(SDCC-Pfad)\include\mcs51\t89c51ac3.h
Also wenn dir das nicht für den Anfang ausreicht kann dir keiner helfen.
Hast Du das ProgStudio überhaupt getestet?
Ausserdem bei der Vollversion kannst Du dann die volle 64Kb benutzen und
das für ein sehr günstigen Preis.
Und Umsteigen musst Du auch nicht.
Ausser du hast mit Assembler nichts am hut und nur in C Proggen willst.
Für deine ersten paar kleine Projekte wird es reichen.
Meiner Erfahrung nach sind die Kosetenlosen Produkte viel zu
unausgereift wenig Auswahl der Include Dateien verschiedener
Prozessoren.
Man Ärgert sich weil wirklich nichts zusammen passt.
Das Handling ist wesentlich umständlicher bis man da mal einige
Programme gefunden und getestet hat.
Fazit:
Wenn Du wirklich kein Geld für ein Ordentliches Produkt zum entwickeln
ausgeben willst dann lass lieber die Finger davon.
Oder Du schlägst dich durch die ganzen, im Netz zu findenden, C- und
Assembler-compiler sowie Simulatoren und Debugger.
Viel Spass dabei!
@Klaus,
ob ich das nun in Assembler oder in C mache, kommt immer auf die Größe
an, im Moment gehe ich gerade das Datenblatt durch und schaue mir alles
an, das mache ich ausschliesslich in Assembler. So bekommt man einfach
mehr vom Controller selber mit.
Sobald etwas funktioniert probiere ich das auch in C (das geht dann
recht flott, C kann ich bereits, das ist dann nur noch umsetzen des
Assembler-Codes).
Wenn der Funktionsumfang gut ist, hätte ich auch kein Problem damit für
Assemblerprogrammierung eine extra Umgebung zu verwenden und da hast du
natürlich recht, dass die Testversion für die Anfänge reicht, das habe
ich doch genauso mehrmals schon gesagt/geschrieben.
> Meiner Erfahrung nach sind die Kosetenlosen Produkte viel zu> unausgereift wenig Auswahl der Include Dateien verschiedener> Prozessoren.
Das habe ich schon gemerkt, aber der Header für den Controller war in
relativ kurzer Zeit aus einem sehr ähnlichen zusammengebastelt.
> Man Ärgert sich weil wirklich nichts zusammen passt.
??? Was soll denn dort nicht zusammenpassen? Ich will schliesslich
selber programmieren und nicht irgendwelchen fertigen Funktionen von
irgendwem verwenden (ala Bascom)...
Fazit: ca. eine Woche einarbeitung und ich habe mit SDCC einen sehr
schönen Compiler gefunden und mit Programmers Notepad einen sehr guten
Editor. Mide schaue ich mir gerade an, das gefällt mir auch gut und ja
ich habe mir ProgStudio angeschaut. Knappe 80 Euro für einen
ordentlichen Compiler ist wirklich nicht viel, aber dennoch genug Geld,
wo ich es mir zweimal überlege ob ich das für einen Assembler ausgebe
oder einen Assembler und C-Compiler kostenlos bekommen kann und ich
glaube kaum, dass wenn da ein C-Compiler mit dabei ist, es auch nur 80
Euro kostet.
Dein zweiter Beitrag hört sich entweder so an, als ob du dich beleidigt
fühlst, dass mir dein Vorschlag nicht gefällt oder es ist einfach nur
Werbung.
Ich werde mich da auf keine weitere Diskussion einlassen, das wird nur
zur Schlammschlacht. Ich fragte nach kostenloser Software und werde
angeblökt, wenn ich kostenpflichtige nicht verwenden will.
Einen schönen Abend noch.