Forum: PC-Programmierung Compiler für µP.


von Thomas_S (Gast)


Lesenswert?

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!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Kai S. (zigzeg)


Lesenswert?

Ich wurde C lernen, da gibt es fuer eigentlich jeden uP einen Compiler 
fuer.

von Alter Hase (Gast)


Lesenswert?

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.

von Lukas K. (carrotindustries)


Lesenswert?

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

von Thomas_S (Gast)


Lesenswert?

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!

von John (Gast)


Lesenswert?

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?

von BT (Gast)


Lesenswert?

Hallo,

wenn Du weiterhin in VisualStudio bleiben möchtest, dann gibt es auch 
diese alternative:
http://www.ghielectronics.com/catalog/product/133

Grüße.

von Thomas_S (Gast)


Lesenswert?

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!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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?

von Thomas_S (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Und was bringt Dir eine "ROM-less"-Variante?

Mehr Programmspeicher durch beliebig großen EPROM/EEPROM.

von Lukas K. (carrotindustries)


Lesenswert?

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.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Ich nehme am liebsten Flash-E-EPROMs ;-)

von Meika (Gast)


Lesenswert?

Thomas_S schrieb:
> Mehr Programmspeicher durch beliebig großen EPROM/EEPROM.

Beliebig groß? Mehr als der Controller adressieren kann wirds wohl kaum 
werden.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Meika schrieb:
> Beliebig groß?

Beliebig groß. Größer als der gesamte Adressraum geht dank /bank 
switching/ auch.

von Frank K. (fchk)


Lesenswert?

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

von Thomas_S (Gast)


Lesenswert?

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.

von Thomas_S (Gast)


Lesenswert?

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.

von Meika (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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?

von Meika (Gast)


Lesenswert?

Ja.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Ich kann keine Stelle finden, wo Rufus etwas von einer Vergrößerung des
Adressraums des Prozessors geschrieben hätte.

von Thomas_S (Gast)


Lesenswert?

Hallo,
MPLAB ist C, oder?

von Thomas E. (thomase)


Lesenswert?

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.

von Skua C. (skua)


Lesenswert?

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.

von Max G. (l0wside) Benutzerseite


Lesenswert?

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.

von Frank K. (fchk)


Lesenswert?

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

von Wilhelm F. (Gast)


Lesenswert?

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.

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.