PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C-Compiler für PIC uC



fluffy2003
11.09.03, 12:42
Hallo zusammen,

bin schon ne ganze Weile auf der Suche nach einem C-Compiler für Microchip's PIC Microcontroller Familie. (für Linux versteht sich)

Könnt ihr mir Infos geben? Wo gibs sowas? Welche Erfahrungen habt ihr damit gemacht usw...

Vielen Dank
Thomas

Azrae1
11.09.03, 15:35
Leider hab ich selber noch keine erfahrungen mit PICs oder AVRs, will mir aber auch bald nen AVR(Atmega) zulegen und hab daher schon ein bischen rumgesucht

PonyProg (http://www.lancos.com/prog.html)

sollte angeblich recht gut sein, gibt es für windows und linux,

sonst würde ich einen gcc suchen, für AVrs gibts mal einen, also wird es auch einen für PICs geben

mfg Azrael

Avic
11.09.03, 16:13
Hallo,

da gibt es ein paar, sind aber in der Free-Version alle mit irgendwelchen Einschränkungen versehen. Für nen kleinen PIC z.B. 16F84 reichts aber.
http://www.picant.com/c2c/c.html
http://www.htsoft.com/products/piclite/piclite.html

Ansonsten kann ich Dir auch nur wärmstens den AVR empfehlen, sind billiger als PIC´s, GCC als Complier, viele Code-Beispiele im Netz...

Eine gute Einführung in Sachen AVR + GCC findest Du hier:
http://www.linuxfocus.org/Deutsch/March2002/article231.shtml

auch zu empfehlen:
http://www.mikrocontroller.net/articles/c/
http://www.avrfreaks.net/

Grüsse

stefan-tiger
14.03.06, 19:42
Hat jemand was um mit Linux (und Windows) einen PIC18 per C zu Prorgammieren und nen Downloader?

Caracasa
15.03.06, 10:59
Unter http://www.gnupic.org/ ist eine grosse Liste mit vielen Programmen für PIC/Linux. Dann hab ich noch http://gputils.sourceforge.net/ gefunden.

Kennst du http://www.sprut.de/ schon? Sehr gute Seite!

slime
29.03.06, 15:48
hi,

sowie ich das momentan sehe kommt man - zumindest bei der pic18 familie - nicht um den mcc18 herrum. und den gibt es halt nur für windows.
das ist aber, finde ich, nich weiter tragisch; schliesslich bekommst du mit mplab auch eine brauchbare entwicklungsumgebung dazu.

das problem bei den nicht orginal compilern ist immer die fehlende unterstützung für die features des chips. ne library für die SPI schnittstelle bekommst du evtl. mit, aber z.B. für USB auf den 18fx5x0 chips sieht es da echt schlecht aus.

@stefan-tiger: meinst du mit downloader einen bootloader für den chip?
wenn ja, wird dir mit sicherheit bei sprut geholfen. ich nutze z.B. den orginal bootloader von Microchip, das ist bisher der einizige den ich kenne, der auch usb kann.

btw: sucht mal bei google nach 'ICD2 nachbau', so ein gerät ist wirklich super zum debuggen! (aber auch nur unter windows mit mplab).

stefan-tiger
03.04.06, 17:19
Ich such immernoch: Einen C-Kompiler und einen Downloader (Software für den Programer). Natürlich für Linux.

Ich habe hier eine Platine mit nem PIC18 un den IIC-PROG Prorgamer (serielle Schnittstelle).

Azrae1
05.04.06, 12:13
http://piklab.sourceforge.net/
ich würde aber die cvs nehmen.
http://sdcc.sourceforge.net/
hab ich aber noch nicht getestet

mehr kann ich auch nicht dazu sagen

mfg Azrael

stefan-tiger
05.04.06, 12:21
http://piklab.sourceforge.net/
ich würde aber die cvs nehmen.
http://sdcc.sourceforge.net/
hab ich aber noch nicht getestet

mehr kann ich auch nicht dazu sagen

mfg Azrael

"Work is in progress on supporting the Motorola 68HC08 as well as Microchip PIC16 and PIC18 series."

und http://piklab.sourceforge.net/devices.php

lassen vermuten, daß PIC18 unte rLinux derzeit nicht machbar ist.

Ist aber weniger schlimm, denn wir nehemen jetzt doch nen PIC16F.

Mal sehn wie weit ich damit komm.

stefan-tiger
05.04.06, 12:25
Wegen dem Download-Prorgamm: Mein Prorgammer besteht nur aus einem RS232 Port, nem Kondensator, Widerstand und LED.

Das Ding nennt sich irgendwie "icprg" oder "iic-prog". Welches Prorgamm kann ich dafür verwenden?

EDIT: scheint das hier zu sein: http://www.jdm.homepage.dk/newpic0.htm

Falls das nicht geht, mus sich mit ein ICD2 ausleihen.

stefan-tiger
26.04.07, 18:31
Verwendet jemand den JDM?

Ich habe die Vermutung, daß manche RS232-Schnittstellen nicht genug Spannung ausgeben, weil er bei vielen (incl. mir) nicht geht.

jay-t
26.04.07, 20:12
Ich hab den RCD Brenner nachgebaut, das ist ein verbesserter JDM.
http://feng3.cool.ne.jp/en/rcd.html

Der Elko der an den MCLR Pin angeschlossen ist, hat 470 uF. Und die Spannung kann
mit einem Poti eingestellt werden.

Picprog hat aber beim Brennen Probleme. Durch rumspielen kam ich auf einen etwas
kruden Würgaround: Ich starte picprog durch Tastaturkamikaze mehrmals schnell hintereinander.
Dann geht es irgendwann. :ugly:

Deine Vermutung mit der zur geringen Spannung scheint zu stimmen. Warum es aber
geht wenn das Brennprogramm mehrmals gestartet wird, weiß ich nicht.

Beim anderen PC (Windows) geht das Brennen beim ersten mal.
Ich denke das es an den Schnittstellen liegt.

stefan-tiger
01.05.07, 18:30
Ich hab was "gefunden" (hätte es auch viel früher schon finden können, wenn ich mal richtig gesucht hätte):

Warum geht der JDM (oder andere) Programmer manchmal nicht richtig?
http://www.holger-klabunde.de/pichelp.htm#pipo

Welchen C-Compiler kann man unter Linux für PICs nehmen?
http://sdcc.sourceforge.net/

Welche IDE kann man unter Linux (KDE) für PICs nehmen?
Assembler only: http://pikdev.free.fr/
Assembler, C etc.: http://piklab.sourceforge.net/

Ich expermimentiere gerade mit piklab und dem sdcc. Bin bis jetzt zufrieden, auch wenn man "Spagetthi-Code" machen muss, da der sdcc nicht mehrere Dateien aufeinemal bearbeiten kann und somit #defines die eigenlich Mehrfachincludierung von Header-Dateien verhindern soll einfach nicht geht. Evtl. ist das auch dem Linker seine "schuld".
Habe pic16f870 und 877 hier, kann aber leider nicht sagen wie die Prorgamme drauf laufen, da ich sie ja noch nicht draufbekommen.

jay-t
02.05.07, 22:38
Die teuren Brenner von Microchip oder anderen Firmen können mehr als die
DIY Teile. Das ist klar. Aber die haben dann ihre eigene Brennsoftware.

Gibt es da auch professionelle Brenner, die man mit Linux verwenden kann?

~Gh05t~
04.05.07, 16:19
Ja, die gibt es. Der Microchip ICD1 bzw. ICD2 wird recht breit unterstützt, das schöne ist, dass man damit sogar InCircuit-debuggen kann (Piklab behauptet das zu können).

Das Teil ist zwar recht teuer, man kann sich aber auch relativ leicht selber ein recht brauchbares Gerät bauen das fast eine identische Funktionalität hat.
Zwei Bauanleitungen findest du hier:

http://www.harald-sattler.de/html/body_icd2_usb.htm
http://home.vrweb.de/~lotharstolz/stolz.de.be/icd/main.html

Der erste ist mit Pseudo-USB Anschluss (mit FTDI USB-RS232-Wandler). Wenn du keinen Seriellen Port dafür frei hast bzw. keine externe Spannungsquelle willst ist das evtl. nicht schlecht, ist aber möglicherweise ein wenig langsamer als die direkte Verwendung von RS232.

Aber wo wir gerade beim Thema Linux und PICs sind hätte ich auch mal eine Frage: Die neueren 18Fx5x PICs haben ja ein USB-Interface... gibt es unter linux eine Möglichkeit das zu nutzen? Gibts da Treiber für? Oder ist das MS-Usern vorbehalten?

Gruß

Lukas

Pete
24.05.07, 01:28
Ich expermimentiere gerade mit piklab und dem sdcc. Bin bis jetzt zufrieden, auch wenn man "Spagetthi-Code" machen muss, da der sdcc nicht mehrere Dateien aufeinemal bearbeiten kann und somit #defines die eigenlich Mehrfachincludierung von Header-Dateien verhindern soll einfach nicht geht. Evtl. ist das auch dem Linker seine "schuld".


Ich sitze auch gerade an piklab und sdcc, nur habe ich folgendes Problem, egal welchen PIC ich einstelle, wenn ich versuche dein simples Programm zu kompilieren (nur mit einer leeren main) bekomme ich den Fehler:

sdcc -mpic14 -p12f675 -V -Wl-c -I/home/pete/Documents/test/ -otest.hex test.o
message: using default linker script "/usr/share/gputils/lkr/12f675.lkr"
error: linker script has no definition that matches the type of section "data_test"

Hat einer eine Ahnung was das soll?

EDIT: Problem gelöst :)
http://piklab.sourceforge.net/wiki/index.php/Problem_with_sdcc

Gruß
Pete

Pete
24.05.07, 10:11
Hallo,

Hab doch noch eine Frage, was benutzt ihr zum Brennen?

Ich überlege ob ich mir ein PICkit 1 oder 2 hole (bei 2 muss ich allerdings erstmal eins mit Firmware 1.x finden). ICD 1 und 2 sind mir zu teuer, oder doch lieber etwas selber bauen...?
Ich würde mich über Meinungen freuen. :)

Gruß
Pete

Pete
26.05.07, 11:45
Hi,

Ich habe mir jetzt das PICkit 1 geholt und bin zufrieden. Ich benutzte Piklab und den Hi-Tech PICC-Lite Compiler und ich muß sagen es funktioniert prima. :)
Ich habe zuerst den SDCC Compiler probiert, aber mit dem gab es Probleme, machmal hat er zwar kompiliert, aber der erzeugte Code funktionierte auf dem PIC nicht (auch ganz einfache Beispiele nicht) Aber egal der Hi-Tech PICC-Lite funktioniert ja... :)

Gruß
Pete