Hallo zusammen ich bin gerade dabei ein kleines Projekt (ein Cocktailautomat) zu bauen. als Mikrocontroller benütze ich den 89C51AC3 von ATMEL. Bis jetzt habe ich die kostenlose Version von keil.4 benützt. Nur leider bin ich jetzt am Ende der Kostenlosen Version mit 2,8kB Code angekommen. Kennt jemand einen anderen Kostenlosen Compiler den ich nehmen könnte? ich weiß sonst nicht weiter habe schon versucht zu kürze, ist aber nicht viel drin gewesen. Ich hoffe auf eure hilfe.
habe gerade den sdcc heruntergeladen. habe ihn auch installiert nur jetzt eine dumme frage. Wie starte ich den? Finde da nix.
Danke komme trotzdem nicht weiter. Schreibe ich dannden Quell code im Editor und speichere ihn dann unter dem Pfad ab? was ist mit "cd bin" gemeint? wieso kann das nicht so leicht sein wie beim Keil. Oder kommt das mir nur am Anfang so kompliziert vor?
sdcc -IC:/sdcc/share/sdcc/include c:\sdcc\test.c ist der Befehl, mit dem du den compiliervorgang startest. Im letztem Teil steht der Pfad, an dem der Compiler seine Datei findet, hier C:\sdcc\test.c . Ändere den Pfad so, dass dein Programm gefunden werden kann, und versuche es nochmal. Robert
Du kannst auch eine IDE benutzen z.B.: http://mcu-programming.blogspot.com/2006/09/installing-mide-51-and-sdcc-and-for.html
brauch ich dazu nicht erstmal eine ausführbahre Anwendung? ich finde in dem Ordner sdcc nicht mal eine Anwendung in der ich etwas machen könnte. da muss es doch was geben oder sehe ich das falsch
Ich denke für dich ist die Komplettvariante die beste Lösung. Installier mal: http://www.opcube.com/software/midepack02518.exe
genau so was habe ich gesucht. Das sieht auf den ersten Blick so aus, als könnte ich es das verstehen. Vielen Danke dafür Falls noch fragen auftauchen melde ich mich wieder
Die Eva-Version von Raisonance? Alles in einem Paket vom Editor bis zum Compiler - inklusive hochwertiger Codegenerierung. http://raisonance.com/
gibt es eine alternative header datei für den at89C51AC3? die passende für den Controller ist nicht beim sdcc vorhanden. Habe versucht die von Keil zu nehmen. Da bringt der Compiler aber sehr viele Warnungen. Hat jemand einen Tipp welche datei ich da nehmen könnte oder was für möglichkeiten ich sonst habe.
Such mal nach keil2sdcc das ist ein perl script, was dir die Header Dateien umwandeln kann.
das sieht passend aus. Nur weiß ich nicht wie das gehen soll. Was muss ich dazu machen um aus der keil version die Sdcc version zu bekommen. Habe noch nie eine Pearl script verwendet und bin absolut ratlos
Schau doch einfach mit einem Dateiexplorer deiner Wahl im Include-Verzeichnis vom SDCC, was es noch so gibt. In den ersten Zeilen der Header steht auch meist, wofür die da sind. Ein Tip noch dazu: Beschäftige dich doch auch mal ein wenig mit der Welt der Kommandozeile, lerne, dass es eine große Welt von tollen Programmen gibt, die keine grafische Benutzeroberfläche bieten und nur auf der Kommandozeile ausgeführt werden, durch Parameter gesteuert werden und dann die tollsten Sachen für dich erledigen :) Und nebenbei: Kommst du nicht vielleicht günstig an ne Version des Keil Compilers? Meine Erfahrung, welche allerdings nur ein einziges Projekt einbezieht, hat mir gezeigt, dass der Keil wirklich um Welten besser ist als der SDCC. Allerdings hat auch der noch einen gewaltigen Rückstand zum GCC, d.h. man hat viel Spielraum für Assembler-Optimierung an den kritischen Stellen. Der 8051 hat einige Befehle und Fähigkeiten, welche in C schlecht abbildbar sind. Zusätzlich fehlen mir sowohl beim Keil als auch beim SDCC sehr viele Optimierungen, welche ich bei einem C Compiler der heutigen Zeit vorraussetze. Im ASM Listing fallen mir regelmäßig stellen auf, die der Compiler einfach anders hätte machen müssen :) Naja - GCC verwöhnt eben...
Die Welt der Gratis Compiler ist eher etwas fuer die erfahrenen Benutzer, weniger fuer Leute, die fuer jeden unbekannten Schritt die Mama an der Hand haben muessen. Ich geb zu, ich lass auch lieber ein paar hunder Euro springen und spar mir damit ein paar Tage Einarbeiten. :-)
ElektronikBastler schrieb: > Danke komme trotzdem nicht weiter. > > Schreibe ich dannden Quell code im Editor und speichere ihn dann unter > dem Pfad ab? > was ist mit "cd bin" gemeint? > > wieso kann das nicht so leicht sein wie beim Keil. > Oder kommt das mir nur am Anfang so kompliziert vor? Das ist doch ganz einfach. Das ist open source wuselkram. Das ist genauso Schrott wie der WinAVR. Sei nicht geizig, nimm Geld in die Hand und kauf dir was gescheites.
Na wenn das alles so kompliziert ist, würde ich vielleicht einen anderen uC benutzen, für die es komfortablere freie Entwicklungswerkzeuge gibt. Oder zwingt dich jemand ausgerechnet diesen uC benutzen? Trotzdem ist es hilfreich zu wissen, wie man mit Kommandozeilen-Tools umgeht.
Nur keine Panik! Nimm die: http://sourceforge.net/tracker/download.php?group_id=599&atid=100599&file_id=375799&aid=3009787 und pack sie in: C:\MIDE\sdcc\include\mcs51 Alles wird Gut :)
Matthias Larisch schrieb: > Zusätzlich fehlen mir sowohl beim Keil als auch > beim SDCC sehr viele Optimierungen, welche ich bei einem C Compiler der > heutigen Zeit vorraussetze. Im ASM Listing fallen mir regelmäßig stellen > auf, die der Compiler einfach anders hätte machen müssen :) Naja - GCC > verwöhnt eben... Welcher GCC verwöhnt Dich denn? Der AVR-GCC kann es jedenfalls nicht sein. Der erzeugt für die gleiche Applikation auf dem AVR deutlich größeren Code, als der C51 auf dem 8051. Die Optimierungen des Keil sind schon sehr clever, Hut ab. Da kann der AVR-GCC nur von träumen. Dessen Registerverschwendung brachte mich regelmäßig in Rage, bevor Atmel den Flash ordentlich gepimmt hat (40-Pinner: 128kB). Beim C51 sind dagegen 32kB schon richtig viel Holz. Natürlich muß man beim Keil das Small-Model benutzen und xdata/code Memory selber zuweisen. Das ist aber immer noch um Längen komfortabler, als bei AVR-GCC diese unsägliche PGM_SPACE-Krücke. Einfache Strings kriegt man ja noch gebacken, aber bei Arrays, Unions, Structs, Pointer habe ich aufgeben müssen und sie im SRAM gelassen. Peter
ElektronikBastler schrieb: > Danke komme trotzdem nicht weiter. > > Schreibe ich dannden Quell code im Editor und speichere ihn dann unter > dem Pfad ab? > was ist mit "cd bin" gemeint? > > wieso kann das nicht so leicht sein wie beim Keil. > Oder kommt das mir nur am Anfang so kompliziert vor? Das ist doch ganz einfach. Das ist open source wuselkram. Das ist genauso Schrott wie der WinAVR. Sei nicht geizig, nimm Geld in die Hand und kauf dir was gescheites. Peter Dannegger schrieb: > Natürlich muß man beim Keil das Small-Model benutzen und xdata/code > Memory selber zuweisen. Das ist aber immer noch um Längen komfortabler, > als bei AVR-GCC diese unsägliche PGM_SPACE-Krücke. Einfache Strings > kriegt man ja noch gebacken, aber bei Arrays, Unions, Structs, Pointer > habe ich aufgeben müssen und sie im SRAM gelassen. Das kann ich voll und ganz unterstützen. AVR-GCC ist die totale Krücke. Ich weiss auch nicht was Leute dazu treibt so ein Zeug auf die Menschheit loszulassen. Ich will mich schliesslich mit meinem Projekt beschäftigen und nicht mit den unzulänglichkeiten diverser Wuseltools.
hbl333 schrieb: > Das ist doch ganz einfach. > Das ist open source wuselkram. > Das ist genauso Schrott wie der WinAVR. Was hindert dich daran es zu verbessern? Nichts? Dann halt die ... und tue es!
Die harten Jungs muessen mit Opensource arbeiten und koennen sich dann bruesten 100 Euro gespart zu haben. Dass sie dafuer eine Woche rausgeblasen haben und jedes Projekt doppelt solange dauert gehoert zwar auch dazu, und wird unter "wir sind doch zaeh" abgelegt.
??? schrieb: > hbl333 schrieb: >> Das ist doch ganz einfach. >> Das ist open source wuselkram. >> Das ist genauso Schrott wie der WinAVR. > Was hindert dich daran es zu verbessern? Nichts? Dann halt die ... und > tue es! Warum soll ich den Schrott verbessern? Ich nehme Geld in die Hand und kaufe mir was gescheites. Was willste den aus diesem Müll und Dreck machen. Das sind einfach "Ladendiebstahl Tools". Die einen gehen in den Laden und klauen den Leuten die Sachen. Die Typen die solche Tools publizieren klauen die das kostbarste was Du hast, deine Zeit.
> Der AVR-GCC kann es jedenfalls nicht sein. > Der erzeugt für die gleiche Applikation auf dem AVR deutlich größeren > Code, als der C51 auf dem 8051. Kannst du an einem Beispiel konkretisieren? > Die Optimierungen des Keil sind schon sehr clever, Hut ab. Die haben auch nur das Drachenbuch sorgfältig durchgelesen. Du bezahlst einen Haufen Geld, für ein Produkt, dass du im Prinzip nur auf einen Rechner einsetzen kannst. Hinzu kommen die jährlich fälligen Updategebühren.
Ich will hier nicht den Eindruck erwecken, der AVR-GCC sei unbrauchbar. Er ist halt bloß nicht so effizient wie andere. Das kann man aber mit mehr Flash leicht ausgleichen. Und mit 16kB SRAM kann man auch ruhig Konstanten im RAM belassen. Warum ich den AVR-GCC benutze, liegt an der Lizenz. Ich habe einfach Angst, daß mich der Lizenzkram eines kommerziellen AVR-Compilers nervt. Wir haben z.B. Altium in der Firma und dessen Lizenz-Brimborium nervt tierisch. Es kann sich nicht automatisch eine freie Lizenz nehmen, sondern startet erstmal ohne Lizenz und man muß sie dann erst auswählen. Startet man es versehentlich ein 2. mal, will es dafür auch ne 2. Lizenz. Will man einen anderen PC benutzen (Labor/Büro/Werkstatt/Notebook), darf man nicht vergessen, Altium auf dem anderen PC zu schließen. Manchmal sind auch keine Lizenzen frei, weil ein PC 2 Lizenzen belegt, obwohl nur ein Altium offen ist. Dann muß derjenige erstmal seine Arbeit abspeichern, Altium schließen und neu öffnen. Peter
Vielen Dank für eure Hilfe.Ich habe mein Ziel erreicht und der Compiler funktioniert mit der header datei. was die Fragen an mich betreffen. 1. mir ist es fast egal wie gut oder schlecht der Compiler etwas macht. Hauptsache mein Mikrokontroller macht später das was ich Programmiert habe. Bin so wie so eher am Anfang meiner Programmierkünste somit fällt mir das auch gar nicht auf. Hatte das Programmieren ein bischen in der Schule und mach das jetzt Privat weiter. 2. Wie schon geschrieben verdiene ich damit kein Geld deswegen möchte ich auch keine 340 € für die Keil Software ausgeben. 3. den Controller nehme ich da wir diesen in der Schule hatten und ich mit diesem schon Erfahrungen habe. Ein Umstieg wäre mit sehr viel Aufwand verbunden und ich hätte auch keine passenden Unterlagen mehr. Aber ich möchte mich nochmal bedanken und wünsch eeuch allen Frohe Weihnachten. Gruß
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.