Hallo zusammen, ich weiß es sind schon einige Posts zu diesem Thema. Für ein Jugend Forscht Projekt suche ich einen passenden C Compiler. Ich verwende den PIC 16F876 in meinem Projekt. Hab schon mehrere Compiler ausprobiert und hab mich letztendlich für den CCS entschieden. Doch als ich ihn kaufen wollt fand ich ihn 1. nicht mehr billig (125$ Compiler + Buch 15 $ + 40 $ Versand -> ca. 140 Euro 2. langer Lieferzeit. Gibt es keine günstigere Studentenversion oder kann man die Ware auch in einem anderen Shop beziehen. Falls ihr mir einen anderen Compiler vorschlägt, dann wäre es mir wichtig, dass es dazu auch ein passendes Buch oder Hilfestellung im Internet angeboten wird, da ich ein absoluter Neuling in C bin. Habe lediglich in Assembler programmiert. mfg Lukas
schau dir mal SDCC an (http://sdcc.sf.net), steht unter der GPL, und die sdcc-users Mailingliste ist recht hilfreich. Buch dafür gibt es meines Wissens nicht, ein "normales" C-Buch ist sowieso sinnvoller. /Ernst
Hallo Ernst, den SDCC hab ich auch schon ausprobiert. Wollte mir aber keine HEX-Datei erstellen. Kann der Quelltext nur im Editor geschrieben werden, oder gibt es da auch was übersichtlicheres?
Dann könnt ich den Quelltext in MPLAB schreiben.Hier erstelle ich dann mein C-File und der SDCC erstellt mir dann aus dieser Datei mein HEX-File??? Stimmt das so?
Kenn MPLAB nicht, aber wenn das eine Möglichkeit bietet einen externen Compiler einzubinden, sollte da auch sdcc gehen. Ansonsten gibts sicher auch für windows eine Menge Text-Editoren mit Syntaxhervorhebung für C. Schlimmstenfalls geht dafür auch der Visual-C editor. und ja, sdcc erzeugt aus deinem .c file ein .hex file, und zusätzlich mehrere "Zwischenfiles", in denen du den ASM-Code anschauen kannst. (Sollte man auch ab und an machen, der Optimierer greift manchmal ziemlich daneben) Ich nutz den SDCC mit den neueren 16bit-PICs (pic18f2550 u.ä). Wie gut der für die 14bitter ist, kann ich nicht beurteilen. /Ernst
Ist der SDCC für den Einstieg empfehlenswert? Wo finde ich im Internt Lektüren? Hab den Compiler mal installiert, blicke aber nicht mehr durch. Die mitgelieferten Handbücher helfen mir auch nicht weiter. Wie kann ich nun aus meiner c-Datei eine hex-Datei erstellen? mfg Lukas
z.B.: main.c file:
1 | #include <pic16f84a.h> |
2 | void main() { |
3 | TRISB=0xFF; |
4 | while (1) { |
5 | PORTB++; |
6 | }
|
7 | }
|
Kompilieren mit: sdcc -mpic14 -p16f84a --opt-code-size main.c (Später macht da natüerlich ein Makefile Sinn) ergibt ein main.hex file: :020000040000FA :0400000000000C28C8 :06000A00FF3083168600A2 :0A0010008312860A0828080005285C :00000001FF und ein main.asm file: (Nur ein Ausschnitt) _main ;Function start ; 2 exit points ; .line 3; "main.c" TRISB=0xFF; MOVLW 0xff BSF STATUS,5 MOVWF _TRISB 00106_DS ; .line 5; "main.c" PORTB++; BCF STATUS,5 INCF _PORTB,F GOTO 00106_DS RETURN ; exit point of _main Hier sieht man übrigens auch eine Stelle, die der Optimierer besser hätte machen können: BCF STATUS,5 Wäre natürlich nicht in jedem Schleifendurchlauf nötig, würde einmal vor der Schleife reichen. /Ernst
MPLAB ist ja eigentlich nur eine IDE in dem man diverse Compiler und Assambler einbinden kann. Wie zb.: CCS, IAR, PICC usw... Achja.. gäbe es nicht vl einen kompatiblen PIC aus der PIC18F Reihe? Dafür gäbe es den C18.Dieser ist frei erhältlich.
AChja... beachte auch die Errata. denn im MSSP-Modul steckt ein Wurm ;-)
Ist beim neuen MPLAB nicht sogar nen CCS Compiler dabei? Ich weiß jetzt aber nicht welche PICs unterstützt werden oder ob es irgendwelche beschränkungen gibt.
Nana der PCB-Compiler von CCS ist dabei. Der ist für die die Baseline-PICs. Hier kannst du nachsehen welche das sind: http://www.ccsinfo.com/devices.php?page=devices
Hallo, wie wäre es damit: http://www.mikroelektronika.co.yu/english/product/compilers/mikroc/index.htm ? MfG
Hallo Lukas, ich hatte vor wenigen Wochen auch das "tolle" Erlebnis mich mit PICs zu beschäftigen. Da ich bisher andere Controller immer in C programmiert habe, wollte ich natürlich auch einen C-Compiler für den zu verwendenden PIC. Leider (ich muss) verwende ich einen sehr kleinen PIC (12F683), so dass der CCS Compiler ausfiel. Bei der Suche nach Alternativen fand ich den CC5X Compiler. Ich arbeite seitdem mit MPLAB und der CC5X Compiler lässt sich sehr einfach integrieren. Dies heißt nun, dass ich in dieser Entwicklungsumgebung mein C-Quellcode erstelle, diesen auch in C debuggen kann und direkt meine Zielapllikation programmieren kann. Mit einem kleinen Trick kannst du auch größeren Quellcode erzeugen (ist in Freeware auf 1kB hex-file beschränkt). Eine ausführliche Anleitung zum Compiler mit dem "C-Befehlssatz" (kein ANSI C) ist als PDF verfügbar. Ich hoffe ich konnte dir helfen und wünsch dir viel Spass beim (Jugend) forschen.
Hallo zusammen, Danke erstmals für die zahlreichen Antworten. Ich werde den MikroC Compiler einsetzen. Es ist ein Demo mit einer 2K Beschränkung. Konnte sonst keine weiteren Einschränkungen feststellen. Die 2K werden aber mehr als gut für mein Projekt ausreichen. mfg Lukas
Ich hab vor einiger Zeit mal was an nem PIC16f877 gemacht und hatte da den PICC Compiler mit MPLAB. Das ging recht gut. Wende dich doch mal direkt an die Hersteller. Die sind, wenn es um studentische Arbeit oder auch so was wie "Jugend Forscht" geht, nach meiner Erfahrung sehr großzügig.
Hallo Lukas, ich möchte dir die MikroC IDE nicht ausreden aber einfach mal meine Meinung dazu abgeben. Bevor ich den CC5X Compiler mit MPLAB IDE benutzte (siehe obiges posting), stieß ich auch auf die MikroC IDE. Jedoch hatte ich einige Probleme mit der IDE an sich, mit dem (dürftigen) Debugger und das Programmieren (der Zielapllikation) funktionierte auch nur über ein externes Programm. Deshalb bin ich bei MPLAB mit CC5X compiler gelandet und bin zufrieden. Die Vorteile dieser Kombination hatte ich oben schon aufgeführt. Trotzdem viel Erfolg
Hi Lukas, Den CC5X Compiler nutze ich auch( in MPLAB). Kann ich Dir nur empfehlen. Einige Hilfestellungen findest Du auf www.cc5x.de. Ob der Compiler deinen PIC unterstützt, erfährst Du, indem Du nach einem passenden Headerfile für deinen PIC im Headerordner suchst. Bei einem 16Fxxx sollte es da eigentlich keine Probleme geben.
Lukas, der CC5X Compiler hat auch mir bereits mehrfach gute Dienste geleistet. Produziert stabilen Code. Hatte den 16F877 eingesetzt. Der MicroC ist noch ziemlich neu. Von den Jungs habe ich mal das EasyPic Board gekauft. Das ist gut. Aber jetzt machen die wohl in IDE Software. Da werden sich sicherlich noch ein paar Bugs finden.
Hallo, ich hab auch mit dem CC5X angefangen und finde ihn nach wie vor den besten Compiler. Auch die Integrierung in Editoren (Visual Studio, MPLAB) ist ziemlich einfach. Der Vorteil des mikroC ist die wirklich umfangreiche Bibliothekensammlung, allerdings lässt die Handhabung und das Design der Entwicklungsumgebung zu wünschen übrig. Da sind die noch Jahre hinten. Wenn ich einen Compiler kaufen würde, dann den CC5X (bin bisher mit dem Free-Editions ausgekommen und versuche mich jetzt mal mit AVR-GCC). Grüße,
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.