Forum: Mikrocontroller und Digitale Elektronik Suche Compiler/IDE für AT89C51AC3


von krümeltee (Gast)


Lesenswert?

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.

von krümeltee (Gast)


Lesenswert?

Ganz vergessen, um das Programm auf dem Controller zu schieben, habe ich 
das Atmel Flip, das ist Spitze, da brauche ich nichts anderes.

von Carlos (Gast)


Angehängte Dateien:

Lesenswert?

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

von Ralf (Gast)


Lesenswert?

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

von E. B. (roquema) Benutzerseite


Lesenswert?

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."

von krümeltee (Gast)


Angehängte Dateien:

Lesenswert?

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 :)

von Matthias (Gast)


Lesenswert?

MIDE-51, einfache IDE für SDCC:
http://www.opcube.com/home.html#MIDE51

von Klaus (Gast)


Lesenswert?

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.

von krümeltee (Gast)


Angehängte Dateien:

Lesenswert?

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

von Klaus (Gast)


Lesenswert?

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!

von Nils S. (kruemeltee) Benutzerseite


Lesenswert?

@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.

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
Noch kein Account? Hier anmelden.