Forum: Mikrocontroller und Digitale Elektronik Umstieg PIC auf AVR oder Linux


von Ungewiss (Gast)


Lesenswert?

Hallo Zusammen,

besitzte zur Zeit ein PIC-USB Demoboard und ein PICKit3 und
diversen Kleinkram.

Hab also so ca. 100€ für PICs ausgegeben, die verloren gehen könnten.

Jetzt die Frage ob sich ein Umstieg auf AVR oder embedded LINUX lohnt?
Bitte keine Antwort ala AVR ist sowieso das Beste und PIC scheiße.

Die Motivation der Frage ist folgendes:
1. AVR Zubehör ist günstiger
2. Tutorials und Bücher zu AVR scheinen umfangreicher vorhanden zu sein.

3. Embedded Linux find ich toll weils Linux ist, hier weiß ich aber auch 
nicht wie es um den Support steht.

Vielen Dank für Antworten!

von Floh (Gast)


Lesenswert?

Ungewiss schrieb:
> 1. AVR Zubehör ist günstiger

Wenn du bereits einen Progger hast, den du weiter benutzen kannst, hast 
du hier beim Umstieg keinen Vorteil.

> 2. Tutorials und Bücher zu AVR scheinen umfangreicher vorhanden zu sein.

Man findet auch sehr viel zu PICs im Internet, und wenn die Grundlagen 
schon da sind...
:-)

von Peter D. (peda)


Lesenswert?

Du kannst beides haben: AVR32 + Linux

Aber im Ernst, was willst Du machen?

Standard AVRs und Linux haben völlig unterschiedliche und unvereinbare 
Einsatzgebiete.

AVR ist für harte Echtzeitsteuerungen und wenig Datenschaufeln.
Linux sind eher gemächliche Sachen (Webserver, Filesysteme usw.)


Peter

von Jens (Gast)


Lesenswert?

Warum willst du umsteigen? Mit PICkit 3 und Demoboard hast du doch schon 
die wichtigsten Sachen. Dazu vielleicht noch ein passendes Breadboard 
und ein paar Bauteile zum probieren, mehr braucht es für den Anfang 
nicht.

AVR und PIC sind etwa gleichwertig, was die Leistung angeht, doch für 
embedded LINUX brauchst du sicher was leistungsfähigeres, wie ARM M7 . 
Gibt es übrigens auch was vergleichbares von Microchip, den PIC32.

Ansonsten kann ich dir nicht objektiv zu einem bestimten Typ raten. 
Selbst nutze ich PICs und komme damit sehr gut klar. Der Umstieg auf 
AVRs wird nicht viel bringen, außer einen neuen Programmer, neues 
Demoboard, etc. Der Wechsel zu Linux ist sicher interessant, doch dazu 
müste man mehr über deine geplanten Projekte wissen.

von Hc Z. (mizch)


Lesenswert?

Ungewiss schrieb:
> Die Motivation der Frage ist folgendes:
> 1. AVR Zubehör ist günstiger
> 2. Tutorials und Bücher zu AVR scheinen umfangreicher vorhanden zu sein.

Das ist das Eine.  Es gilt für 8-Bit-AVRs.  Dann:

> 3. Embedded Linux find ich toll weils Linux ist,

Tja, das ist aber das Andere, und zwar weil es nur für die 32-Bitter 
gilt.  Da treffen Deine ersten 2 Punkte von oben aber nicht zu.  Die 
beiden Familien (8 und 32 Bit) musst Du völlig getrennt betrachten. 
Wenn es Dir um embedded Linux geht, treffen 1 und 2 am ehesten auf ARM 
zu.  Linux auf 8-Bit-AVR ist nicht.

von (prx) A. K. (prx)


Lesenswert?

Wenn du von den 8-Bit PICs weg willst, dann schau doch mal bei den PIC24 
vorbei. Der PICKit3 ist m.W. dafür auch einsetzbar und die Teile sind 
recht interessant. Compiler gibt's wie üblich von Microchip, arbeitet 
auf GCC Basis.

von Matthias (Gast)


Lesenswert?

>Wenn du von den 8-Bit PICs weg willst, dann schau doch mal bei den PIC24
>vorbei. Der PICKit3 ist m.W. dafür auch einsetzbar und die Teile sind
>recht interessant. Compiler gibt's wie üblich von Microchip, arbeitet
>auf GCC Basis.

Das einzig schöne an den PIC24 / dsPIC33 sind die 16-bit.
Aber dann kommt das mit den IRQs und die schön langen Errata Sheets.
(Gut, XMEGA Errata ist inzwischen genau so lang...)
Der GCC für die 16-bit PICs ist ganz brauchbar (GCC eben).

Was ich an den PICs allerdings überhaupt nicht mag, ist die ICD Debug
Geschichte. Vor allem die Oberfläche beim AVR-Studio für's Debuggen 
finde
ich um Welten besser als beim MPLAB. (Um fair zu sein: Wenn die Leute 
von Atmel nicht wieder einen kleinen Bug irgendwo reingebaut haben, der 
für
böse Überraschungen sorgt - kommt aber nur bei sehr neuen Controllern 
oder
allgem. vielleicht pro Schaltjahr einmal vor)

>3. Embedded Linux find ich toll weils Linux ist, hier weiß ich aber auch
>nicht wie es um den Support steht.

Sehe ich genau so. Der Haken ist, dass man das erste zum Laufen bringen 
muss. Das mit dem Cross Compiling und den ganzen Abhängigkeiten bei den
Libs ist nicht ohne. Wenn man nicht gerade einen X86 kompatible CPU hat 
und einfach eine Distribution nehmen kann (z.B. Zenwalk, Suse, etc.).

Letztlich musst Du selber entscheiden, ob es Dir nochmal 100 Euro wert 
ist, was für die AVRs zu kaufen. Der Dragon kann ja inzwischen (fast)
alles, was der teure JTAG-ICE MK-2 auch kann.

von (prx) A. K. (prx)


Lesenswert?

Matthias schrieb:

> Das einzig schöne an den PIC24 / dsPIC33 sind die 16-bit.

Schön auch, dass man bei konstanten Daten keine Verrenkungen wegen 
speziellem Adressraum machen muss. Beim Bitbanging sind sie auch nicht 
übel.

> Aber dann kommt das mit den IRQs und die schön langen Errata Sheets.
> (Gut, XMEGA Errata ist inzwischen genau so lang...)

Ja, ist hässlich. Aber die Erratas mancher PIC18 sind auch nicht ohne 
und wohl alle 32-Bitter sind damit ebenso reich bestückt. Wobei sich die 
PIC24 leider auch durch CPU Erratas auszeichnen - etwas, das bei ARMs 
keine wesentliche Rolle spielt.

Nur die klassischen AVRs kommen weitgehend ohne längere Errataliste aus. 
Muss wohl so sein, dass Atmel diese alten AVRs erst in der weitgehend 
fehlerbereinigten Version öffentlich machte, Microchip hingegen die 
Betaversion als erste Produktversion verkaufte und den Bugfix dann unter 
einer neuen Nummer mit neuen Features und dementsprechend neuen Bugs 
(z.B. PIC18F258/2580/2585) nachlegte.

von Ungewiss (Gast)


Lesenswert?

Moin Moin,

erstmal Danke für die Antworten.
Welche Projekte kommen werden weiß ich noch nicht wirklich.
Meine nächsten Ziele wären LCDs zum Laufen zu bringen und mir ein
BUS-System oder ähnliches anzueignen.
Intressant find ich zum Beispiel das NET-IO-Board von Pollin.

Zum Thema embedded Linux, da hab ich auch mehr an sowas wie das 
Bifferboard gedacht und nicht mehr an die 8 Bitter.

Zu PIC und Inet: Also viel kenne/find ich nicht sprut, heitor, holgi ja 
und dann wars das schon. Schwierig find ich auch immer das umgemodle 
wegen den verschiednenen PICs.
Hab mich da jetzt mal auf die 18F2550 und 18f4550 eingeschossen hoffe 
das passt dann auch.

VG

von Frank K. (fchk)


Lesenswert?

Was willst DU mit dem Umstieg erreichen? Einfach nur was anderes 
kennenlernen? Oder reicht Dir die Leistung nicht mehr?

Wenn Dir die Leistung nicht mehr reicht, gibt es zwei Updatepfade:
1. PIC24/dsPIC30/dPIC33/PIC32 - wegen den Tools, die Du teilweise schon 
hast

2. ARM Cortex M3, weil Du dann eine Handvoll Hersteller (Atmel, EFM, 
NXP, STM, TI, Toshiba) hast, die entsprechende Chips produzieren und die 
Du mit einem Werkzeugsatz bearbeiten kannst.

fchk

von Ungewiss (Gast)


Lesenswert?

Nein,
mir geht es da wie ganz oben genannt bei den AVRs hauptsächlich um den 
Preis und den Support incl. Tutorial und Musterprojekte.

NET-IO  ca. 15€ Vergleichsteil bei PIC 60€

von Jens (Gast)


Lesenswert?

Ungewiss schrieb:
> NET-IO  ca. 15€ Vergleichsteil bei PIC 60€

Der Vergleich hinkt etwas. Abgesehen davon, dass die fertige Platine bei 
Pollin (Restpostenhändler) auch schon 28€ kostet, sind die 49US$ bei 
Microchip nicht wirklich viel mehr. Zumal das Board deutlich mehr kann.

Ansonsten stehen ja oben schon genug Argumente, warum du (nicht) 
wechseln solltest. Musterprojekte und Support findest du auch zum PIC 
haufenweise im Netz. Dieses Forum ist leider etwas AVR-lastig, doch auch 
hier gibt es genug Leute, die sich mit den PICs beschäftigen.

Leider hast du aber immer noch nichts über dein Projekt geschrieben, so 
dass ein sinnvoller Rat etwas schwierig ist.

von Gust (Gast)


Lesenswert?

Im Zweifelsfall kannst du das NET-IO board auch mit einem PIC betreiben. 
Die must halt nur einen kleinen Adapter für den Mega16/32 Sockel 
basteln, i.d.R. sind es nur ein paar Drahtbrücken.

von Ungewiss (Gast)


Lesenswert?

Zum Thema Projekte:

Zur Zeit habe ich keine geplant.
Ich möchte erstmal den Umgang mit z.B. LAN und LCD kennen und können um
daraus Projekte zu starten.

Zum Thema Netz:

Da es ja soviel gibt, welche Links könnt ihr denn noch empfehlen bzw. wo 
finde ich diese.


Zum Thema Transformieren:

Gibt es irgendwo ein Schriftstück wo mal die Unterschiede AVR/PIC 
stehen, bzw. wie ich ein AVR in ein PIC Projekt wandeln kann?
Dann wäre mir doch am ehesten geholfen.


DANKE!!!!

von Gust (Gast)


Lesenswert?

Wazu brauchst du eine Anleitung Projekte vom AVR auf den PIC zu 
portieren ?

Solange es sich um reine C-Funktionalität handelt (am besten ANSI C) 
kannst du es 1:1 übernehmen. Bei der µC eigenen Hardware must du 
eigendlich gar nicht wissen, wie z.B. ein Timer bzw. ADC auf einem AVR 
funktioniert bzw. konfiguriert wird um ihn auf dem PIC umzusetzen. Die 
must bei einem zu portierenden Projekt nur wissen, auf welche 
Zeiteinheiten diese beim AVR laufen und dies dann genauso beim PIC 
einstellen. Problematisch wird´s nur, wenn beim AVR getrickst wurde um 
das letzte aus dem AVR zu holen, dies sieht man dem Code nicht an und 
sowas würde ggf. auf dem PIC dann scheitern, da hier anders getrickst 
werden müsste.

Weiterhin ist der PIC MPLAB C-Compuler auch ein GCC, d.h. die 
compilerspezifischen Erweiterungungen sollten ähnlich/gleich der vom AVR 
sein.

Persönlich würde ich dir aber mal den MikroC Compiler von MikroE.com ans 
Herz legen. Dieser bietet jede Menge fertige Bibliotheken zum sofortigen 
Einsatz. So dass du als Anfänger recht schnell erste Ergbnisse erzielst. 
Weiterhin sind dort auch diverse Dokumente zum PIC zu finden.

von Ungewiss (Gast)


Lesenswert?

Naja is etwas teuer, aber die Artikel etc. sind schon sehr interessant.
Sowas bietet sonst aber kein anderer oder?

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Gust schrieb:
> Bei der µC eigenen Hardware must du
> eigendlich gar nicht wissen, wie z.B. ein Timer bzw. ADC auf einem AVR
> funktioniert bzw. konfiguriert wird um ihn auf dem PIC umzusetzen.

Kommt drauf an. Wenn man entsprechende Bibliotheken nutzt, vielleicht. 
Wenn man aber Registernamen und Registerbits benutzt, kannst Du nicht 
einfach umschalten. Auch in C musst Du dich mit der Hardware auskennen.

von Thomas B. (escamoteur)


Lesenswert?

Wenn Du schon umsteigen willst, dann werf auch mal einen Blick auf 
meinen derzeitigen Favoriten den STM32, siehe auch den Artikel 
STM32.

Gruß
Tom

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.