Hallo,
ich habe vor, mich von den AVRs etwas zu distanzieren. Diese habe ich
immer mit Bascom AVR programmiert. Einen anderen µC, z.b. PIC kann ich
nicht mit diesem Compiler programmieren. Ich suche deshalb einen
Compiler für Philips, PIC und andere µC, der nahe an BASIC/Bascom AVR
ist. Es besteht aber auch die Möglichkeit, dass ich die Sprache C oder
C++ erlerne. Visual C++ 2010 habe ich auf dem PC, aber damit kann man ja
leider nicht µC Programmieren.
Welchen Compiler, den es zum kostenlosen Download gibt, könnt Ihr mir
empfehlen?
Grüße!
Thomas_S schrieb:> Welchen Compiler, den es zum kostenlosen Download gibt, könnt Ihr mir> empfehlen?
Den, der zum jeweiligen Prozessor/Controller passt. Einen
Universalcompiler gibt es nicht.
Die Compiler sind immer spezifisch für den Prozessor-Typ
aufgebaut, der freie GCC hat halt dann die passenden
"submodule" wie ich es mal nennen möchte ist aber nicht
Code begrenzt.
Die µC-Hersteller bieten auf ihren Internetseiten entweder
eigene Produkte an, oder "kastrierte", äh, Codebegrenzte
Produkte diverser Hersteller an.
Programmiersprache ist meist C.
Ich kenne z.B. Keils µVision, Codebegrenzt kostet es nichts,
die Vollversion kostet richtig Geld, ist es aber bei professioneller
Anwendung wert. Auch andere Anbieter haben gute Produkte, die
abhängig persönlicher Vorlieben durchaus unterschiedlich bewertet
werden.
Meine Empfehlung:
Anforderungen aufschreiben
Dazu passenden µC aussuchen bzw. den von dem man glaubt er passt.
Bei den Herstellern schauen was es an Support (nicht nur Compiler)
gibt z.B. auch IDE, Programmer
Bei nicht Gefallen Hersteller wechseln!
Projekt mit HW und SW beginnen.
Ich habe mich zwar derzeit etwas auf die Atmegas eingeschossen,
MSP430 (da gibt es neuerdings was mit FeRAM), 8051-Derivate
oder auch PIC kommen zu Einsatz, wenn es Sinn macht.
Selbst Exoten (Microelectronic Marin) oder Oldies wie RCA1802
sind mir geläufig.
Kai S. schrieb:> Ich wurde C lernen, da gibt es fuer eigentlich jeden uP einen Compiler> fuer.
Dann kommst du in den Genuss des GCC, den es für n>>1 Architekturen
gibt. PIC und 80C51 ausgeschlossen, dafür gibt's den SDCC.
http://gcc.gnu.org/install/specific.html
Rufus Τ. Firefly schrieb:> Thomas_S schrieb:>> Welchen Compiler, den es zum kostenlosen Download gibt, könnt Ihr mir>> empfehlen?>> Den, der zum jeweiligen Prozessor/Controller passt. Einen> Universalcompiler gibt es nicht.
Hallo,
vorallem PIC und Philips.
Grüße!
John schrieb:> Thomas_S schrieb:>> ich habe vor, mich von den AVRs etwas zu distanzieren>> Warum? Was können die anderen denn, was die AVRs nicht können?
Ich habe ein Buch geschenkt bekommen, da steht so einiges über die PICs,
also dachte ich mir..'wieso nimmst du nicht mal PICs?'
Und die Philips möchte ich nehmen, weil es eine ROM-less Reihe gibt.
Grüße!
Thomas_S schrieb:> Und die Philips möchte ich nehmen, weil es eine ROM-less Reihe gibt.
Was glaubst Du, was "die Philips" sind? Philips stellt sehr
unterschiedliche Controller her, welche mit MCS51-Kern, welche mit
ARM7-Kern und verschiedene mit neueren ARM-Kernen aus der
Cortex-M-Reihe. Wie es übrigens auch andere Hersteller machen, Atmel
z.B. baut auch Controller mit MCS51-Kern, die 8-Bit-AVRs, die
32-Bit-AVR32-Reihe und welche mit ARM7- und ARM9-Kern.
Und was bringt Dir eine "ROM-less"-Variante?
Thomas_S schrieb:> Mehr Programmspeicher durch beliebig großen EPROM/EEPROM.
Wer speichert heute noch das Programm in einem EEPROM? Alles und jeder
verwendet Flash-Speicher. EPROM will eh keiner mehr haben.
Thomas_S schrieb:> Mehr Programmspeicher durch beliebig großen EPROM/EEPROM.
Beliebig groß? Mehr als der Controller adressieren kann wirds wohl kaum
werden.
Thomas_S schrieb:> John schrieb:>> Thomas_S schrieb:>>> ich habe vor, mich von den AVRs etwas zu distanzieren>>>> Warum? Was können die anderen denn, was die AVRs nicht können?>> Ich habe ein Buch geschenkt bekommen, da steht so einiges über die PICs,> also dachte ich mir..'wieso nimmst du nicht mal PICs?'> Und die Philips möchte ich nehmen, weil es eine ROM-less Reihe gibt.> Grüße!
Für die PICs findest Du alles auf der Microchip-Webseite. Die
Lite-Versionen der Compiler sind kostenlos, können jedoch ein paar
Optimierungen nicht. Das dürfte Dir aber egal sein. Als Programmer
nimmst Du ein PicKIT 3, das ist noch erschwinglich und für fast alle
aktuellen PICs von 8 Bit bis hin zu den großen 32 Bit MIPS PIC32
verwendbar.
fchk
Meika schrieb:> Thomas_S schrieb:>> Mehr Programmspeicher durch beliebig großen EPROM/EEPROM.>> Beliebig groß? Mehr als der Controller adressieren kann wirds wohl kaum> werden.
Ja, das ist mir klar. ich muss mich wohl in Zukunft deutlicher
ausdrücken.
Frank K. schrieb:> Thomas_S schrieb:>> John schrieb:>>> Thomas_S schrieb:>>>> ich habe vor, mich von den AVRs etwas zu distanzieren>>>>>> Warum? Was können die anderen denn, was die AVRs nicht können?>>>> Ich habe ein Buch geschenkt bekommen, da steht so einiges über die PICs,>> also dachte ich mir..'wieso nimmst du nicht mal PICs?'>> Und die Philips möchte ich nehmen, weil es eine ROM-less Reihe gibt.>> Grüße!>> Für die PICs findest Du alles auf der Microchip-Webseite. Die> Lite-Versionen der Compiler sind kostenlos, können jedoch ein paar> Optimierungen nicht. Das dürfte Dir aber egal sein. Als Programmer> nimmst Du ein PicKIT 3, das ist noch erschwinglich und für fast alle> aktuellen PICs von 8 Bit bis hin zu den großen 32 Bit MIPS PIC32> verwendbar.>> fchk
Danke!
ich habe jetzt erstmal MPLAB genommen, mal gucken, wie ich damit zu
recht komme.
Rufus Τ. Firefly schrieb:> Größer als der gesamte Adressraum geht dank /bank> switching/ auch.
Nein. Bank switching nutzt den Adressraum mehrfach, aber es vergrößert
ihn nicht.
Meika schrieb:> Rufus Τ. Firefly schrieb:>> Größer als der gesamte Adressraum geht dank /bank>> switching/ auch.>> Nein. Bank switching nutzt den Adressraum mehrfach, aber es vergrößert> ihn nicht.
Habe ich was anderes geschrieben?
Thomas_S schrieb:>> Und was bringt Dir eine "ROM-less"-Variante?> Mehr Programmspeicher durch beliebig großen EPROM/EEPROM.
Und 16 Ports sind weg (bei 64K).
mfg.
Thomas Eckmann schrieb:> Und 16 Ports sind weg (bei 64K).
Bei meiner Zählweise sind das 2 Ports.
Man kann dann aber Reichlich Ports in den Adressraum mappen.
Thomas_S schrieb:> Und die Philips möchte ich nehmen, weil es eine ROM-less Reihe gibt.
Philips? Wie alt ist Deine Referenz? Die Halbleitersparte heißt schon
lange NXP. Und was heißt ROM-less? Willst Du ein externes Flash
anschließen, oder was hast Du vor?
Letztlich sind die µC im Hobby- und semiprofessionellen Bereich
inzwischen alle so gut (PIC, AVR, ARM, MSP430, 8051-Derivate, HC16, um
mal ein paar 16-Bitter zu nennen - na gut, 8051 ist 8 Bit), dass eher
persönliche Vorliebe und Entwicklungsumgebung entscheidend sind als
harte Kriterien.
Im professionellen Bereich kommen dann noch ein paar Kriterien dazu
(Preis, Verfügbarkeit, Temperaturbereich, verfügbare Gehäuse,
Stromaufnahme, bestehende Erfahrung, ggf. Kundenforderungen).
Wenn Du umsteigen willst, kannst Du das tun - aber stecke Deine Energie
lieber in neue Projektideen als in den Umstieg zwischen zwei
µC-Architekturen.
Thomas_S schrieb:> Hallo,> MPLAB ist C, oder?
MPLAB ist IDE+Debugger für alle PIC-Architekturen, der C-Compiler für
jede einzelne Architektur kommt extra.
fchk
Thomas_S schrieb:> Welchen Compiler, den es zum kostenlosen Download gibt, könnt Ihr mir> empfehlen?
Ja, das ist immer so eine Sache. Mittlerweile gibt es aber für alles und
jedes C-Compiler, professionell und Freeware. Die professionellen sind
Ready to Start, da muß man sich um nichts kümmern, kann sofort mit
seinen Zielvorgaben beginnen. Dafür auch schweineteuer.
Ich selbst arbeite mit dem SDCC für 8051. Kostet nichts, ist
unlimitiert, aber man muß sich um jeden Krempel selbst kümmern, was
ordentlich Zeit verschlingt. Die gesamte Compilerdoku mit allen
Funktionen und Besonderheiten. Als Bedienoberfläche habe ich mir
kürzlich Geany aus dem Netz geladen. Auch gut.
So, und da hab ich dann einen schönen speziellen 8051, den SAB80C517A.
Für den hat der Compiler keine Libraries, die muß ich mir mühevoll
selbst schreiben, wenn überhaupt. Z.B. ist ein schönes Feature im 80C517
die 32-bit-Hardware-MDU, die um 1-2 Zehnerpotenzen schneller rechnet als
Software. Wenn man es braucht bzw. möchte, darf man da vieles am
Compiler selbst neu schreiben bzw. anpassen. Z.B. die
Floating-Point-Library. Denn viele spezielle Dinge hat Freeware nicht.
Allerdings lernt man viel daraus. Beim teuren Keil ist das mit drin, man
kann sofort starten...
Mein schöner 80C517 rechnet also mit dem Freeware-Compiler erst mal
langsam wie ein Krüppel, ein Standard-8051. Bis ich die Library selbst
geändert habe. Das fehlerhafte und unvollständige Registerfile
(Includefile) habe ich mal korrigiert und ergänzt. Alleine das waren 2
Tage Arbeit. Und so ähnlich ist es auch bei den anderen 1000
verschiedenen 8051-ern. Aber gut, für 80-90% der Anwendungen reicht auch
das.