Hi! Da ja mittlerweile sicher einige Leute das Stellaris Launchpad daheim haben wollte ich mal nachfragen wie sehr so ein ARM-Controller für einen Anfänger geeignet ist... Programmiererfahrung habe ich bisher keine Großartige... (Assembler in der Ausbildung, werde bei meiner derzeitigen Technikerschule (Fernstudium beim DAA) noch Mikrocontroller in C programmieren müssen). Momentan bin ich noch am C lernen (mache ein Buch durch: C - Porgrammieren von Anfang an). Hat es überhaupt Sinn mit so einem... "oberflächlichem Wissen von C" in Richtung Controller-Programmierung zu gehen? Kann mir evtl jemand aus eigener Erfahrung eine grobe Richtung weisen? Und / oder wäre ein Arduino evtl die bessere Wahl für den Einstieg? (Müsste gekauft werden, Launchpad liegt bereits daheim). Gruß
Kranen schrieb: > Momentan bin ich noch am C lernen (mache ein Buch durch: C - > Porgrammieren von Anfang an). > > Hat es überhaupt Sinn mit so einem... "oberflächlichem Wissen von C" in > Richtung Controller-Programmierung zu gehen? Wie weit bist du denn im Buch? Wenn du das Gefühl hast, das erste Drittel so leidlich zu beherrschen, steht einem µC-Umstieg kaum mehr ernsthaft was im Weg.
Auch wenn die Atmegas vielleicht nicht mehr ganz Stand der Technik sind würde ich dennoch empfehlen damit anzufangen: - überschaubar, nicht 1000+ Seiten Dokumentation - mehrere verschiedene Entwicklungsumgebungen verfügbar - jede Menge Erfahrung, Tipps, Beispiele im Web vorhanden. Zu beinahe jedem Problem findest Du x Posts mit Lösungen im Internet - Hier im Forum gibt es viele Leute die Dir damit helfen können. Das Stellaris-Teil ist noch so neu daß es zwar prinzipiell funktioniert, aber an vielen Stellen ist die Unterstützung noch nicht fertig, nicht optimal etc. Auch gibt es bisher nicht so viele Leute die das Teil in- und auswendig kennen und Dir bei Problemen helfen können. Wenn Du das Prinzip verstanden hast kannst Du später immer noch auf was anderes umsteigen. Das Umsteigen an sich zu lernen ist auch nicht schlecht, das wirst Du in ein paar Jahren wieder brauchen wenn die jetzt aktuellen ARM Cortexe dann zum alten Eisen gehören und was anderes aktuell ist.
Ich möchte keinen neuen AVR gegen ARM krieg initiieren. Aber ich möchte anmerken, dass ich keineswegs Atmega empfehle. Das Stellaris hat viele Vorteile für Neueinsteiger: + Preis + Programmer am board vorhanden + Debugger am Board vorhanden + leistungsfähiger + zukunftssicherer Auch kann ich die Ansicht nicht teilen, dass der Atmega einfacher ist zum anfangen. Allein schon wegen dem Debugger. Und C ist es alle mal. -------- Noch eine Anmerkung Warum Stellaris? ich würde ein STM32F4 wählen: http://shop.myavr.de/ARM-Produktlinie/mySTM32-Board-F4D,%20Bausatz.htm?sp=article.sp.php&artID=200075 http://shop.myavr.de/ARM-Produktlinie/STM32F4-Discovery.htm?sp=article.sp.php&artID=200072
Thomas Winkler schrieb: > Ich möchte keinen neuen AVR gegen ARM krieg initiieren. > > > Aber ich möchte anmerken, dass ich keineswegs Atmega empfehle. Das > Stellaris hat viele Vorteile für Neueinsteiger: Und der gewichtigste Nachteil wurde auch schon genannt: Wer hilft einem Neueinsteiger bei Problemen? Ist wie beim Auto: Für einen Wald und Wiesen Golf kriegst du Ersatzteile bei jedem besseren Aldi und jemand der sich damit auskennt findest du in jeder Disco. Für einen Bentley sieht die Sache aber anders aus. Auch wenn der Bentley toller ist.
Karl Heinz Buchegger schrieb: > Und der gewichtigste Nachteil wurde auch schon genannt: > Wer hilft einem Neueinsteiger bei Problemen? Die Arduinos bzw Atmels haben die größere und aktivere Community, auch wenn sie technisch hinterherhinken. Für Einsteiger ist oft die Community entscheidend. Tja, und da hat Atmel halt gewonnen. Leider setzt sich halt nicht immer das bessere, sondern immer einfach nur das am weitestens verbreitetste durch.
Kranen schrieb: > Kann mir evtl jemand aus eigener Erfahrung eine grobe Richtung weisen? eigene Erfahrung: zum Kennen lernen (und programmieren in C) ist es ziemlich egal, welchen Controller du verwendest. Die grundsätzlichen Mechanismen (Bitfummelei, Timer, Interupt etc) ist bei allen Controllern als Element vorhanden. Sofern du mal verstanden hast, daß und wie ein zweckmäßiger Programm-Ablauf zu strukturieren ist (z.B. mitels einer Interupt-Service-Routine), kannst du dieses Grundwissen auf jeden Controller anwenden, welcher Interupts kennt Irgendwelche Entwicklungsumgebungen (IDE) gibts auch für jeden Controller unter fast jedem Betriebssystem. Ob da jetzt schon gewisse Kombinationen [z.B. "es muß eine zeichenorientierte Konsole-IDE auf dem Macintosh sein, welche alle 2 Monate ein Update rausbringt - alles andere kommt nicht in Frage"] dich einschränken weißt nur du. Vermutlich nimmt man aber initial das was da ist und beist sich durch.
Karl Heinz Buchegger schrieb: > Ist wie beim Auto: Für einen Wald und Wiesen Golf kriegst du Ersatzteile > bei jedem besseren Aldi und jemand der sich damit auskennt findest du in > jeder Disco. > Für einen Bentley sieht die Sache aber anders aus. Auch wenn der Bentley > toller ist. In diesem Fall ist aber der Bentley billiger als der Golf. Der Vergleich hinkt also ein bisschen. Obwohl ich wirklich ein großer Fan der ARMs bin, und mich sehr über die bastlerfreundlichen DIP ARMs freue, halte ich doch doch das Stellaris Launchpad für ungeeignet um damit zu lernen. Wenn man die Firmwarefunktionen nutzt, lernt man kaum wie uCs funktionieren (Register) und ohne ist man bei der gebotenen Komplexität schnell verloren. Vielleicht doch besser mit AVRs oder, wenn man bei Ti bleiben will, mit dem MSP430 Launchpad anfangen. Das MSP430 Launchpad vereint praktisch alle Vorteile des Stellaris Launchpad (Preis, Debugger + Programmer on board) mit der Einfachheit eines kleinen uC. Die Community ist auch ein bisschen größer aber, zumindest in D, kein Vergleich mit der AVR Community. Wenn man mit einem AVR einsteigen will, empfiehlt sich ein Arduino. Die Arduinos sind leider teurer als die Launchpads und einen AVR Debugger bekommt man erst aber ca 50€ aufwärts. Dafür ist die Community riesig.
Klaus Kaiser schrieb: > Leider setzt sich halt nicht immer das bessere, sondern immer einfach > nur das am weitestens verbreitetste durch. Was ich eigentlich sagen wollte: Wenn du Einzelkämpferqulitäten hast, dann nimm das Lauchpad. Wenn dir die Community wichtig ist, denn den Arduino oder ein anderes Atmel-Board. Die Vor- und Nachteile beider Plattformen erkennst Du früher oder später eh, und wenn Du nicht gerade ein erfolgreiches und komplexes Design hast (bei Hobbyisten selten der Fall), ist der Wechsel jederzeit machbar.
Danke euch allen für eure ausführlichen Erfahrungen und Ratschläge! Ich werde wohl mit einem 8051 Controller von Atmel (at89c51ed2) beginngen, da ich diesen zuhause habe und dieser anscheinend auch beim DAA (Technikerschule) verwendet wird. Wenn ich dann auf diesem Fachgebiet etwas versierter bin werde ich wohl auf das Stellaris Launchpad oder den von Thomas genannten STM32F4 umsteigen. Danke nochmals für eure Meinungen!
Thomas Winkler schrieb: > Noch eine Anmerkung > > Warum Stellaris? ich würde ein STM32F4 wählen: > http://shop.myavr.de/ARM-Produktlinie/mySTM32-Boar... > http://shop.myavr.de/ARM-Produktlinie/STM32F4-Disc... Hallo, das STM32F4 was Thomas verlinkt und dem Zusatzboard kann ich sehr empfehlen... hab ich mir vor kurzem auch besorgt aber zusätzlich sollte man sich das noch dazu nehmen: http://shop.myavr.de/index.php?sp=article.sp.php&artID=200024 Ich benutze das mit dem STM32 Tutorial auf http://www.mySTM32.de zum Einsteigen in die (besser Umsteigen von AVR aud die) ARM-Programmierung und komm auch gut voran freu Gruß J.
Kranen schrieb: > Ich werde wohl mit einem 8051 Controller von Atmel (at89c51ed2) > beginngen Kannst ja mal den Wickenhäuser ausprobieren. Die Demo bis 8kB sollte ne Weile reichen. Peter
Stimmt, die USB Bridge von myAVR ist praktisch. Dann kann man debugausgaben direkt an den Putty senden und man sieht was das Discovery so treibt. Die 7€ Investition lohnt sich beim Entwickeln sehr.
Bei dem STM32F3 Discovery (wie auch b eim F0 Discovery) geht auch ein Uart (nach Umlegen von Bruecken) auf den ST-Link. Die ST-Link Software stellt nur (noch?) nicht das CDCACM Modem bereit. Wenn man blackmagic debug auf den ST-Link aufspielt, dann hat man eine eingebaute Discovery<->Uart Bridge. Die Stellaris Boards haben auch schon eins solche Bridge eingebaut. Allerdings hat das Stellarisboard doch recht wenig eingebaute Devices zum spielen. Die 8 LEDs und Sensoren des F3 Discovery bieten da schon mehr.
Ich finde den LM4F Stellaris im Vergleich zum STM32F4 deutlich schlechter: - viele Stellaris haben kein richtiges Hardware-PWM, die Einheit ist optional und fehlt z.B. auch bei den im Launchpad verwendeten LM4F120H5QR. Hardware-PWM ist eigentlich heute ein Standard-Feature... - die STM32F4 sind deutlich schneller und haben mehr Peripherie (z.B. Ethernet) TI hat die Stellaris mit 4$ / Stück angekündigt. Dann wäre die geringere Leistung gerechtfertigt und die Dinger durchaus für manches Projekt interessant gewesen. Wenn man sich jetzt aber mal die tatsächlichen Preise für kleine Stückzahlen ansieht: http://de.farnell.com/texas-instruments/lm4f230h5qrfig/mcu-32bit-stellaris-256kb-64lqfp/dp/2246241 10,88 EUR / Stück für 10 von den billigsten Stellaris gegen http://de.farnell.com/stmicroelectronics/stm32f407zet6/ic-mcu-32bit-512kb-flash-144tqfp/dp/2215229 8,15 EUR / Stück für 10 von den billigsten STM32F4. Wieso soll ich da Stellaris nehmen?
Gerd E. schrieb: > - viele Stellaris haben kein richtiges Hardware-PWM, die Einheit ist > optional und fehlt z.B. auch bei den im Launchpad verwendeten > LM4F120H5QR. Hardware-PWM ist eigentlich heute ein Standard-Feature... Hmm, die Demo-Firmware auf dem Launchpad schreibt laut gdb den gewünschten duty-cycle in die Register tm[ab]matchr, und die RGB-LED leuchtet entsprechend. Was ist denn das, wenn kein Hardware-PWM?
Gerd E. schrieb: > Ich meinte das hier: Ich kann da nichts vom behaupteten "kein richtiges Hardware-PWM" lesen. Keine Ahnung, nach was der Autor vergeblich gesucht hat. Vielleicht PWM mit FIFO oder DMA? Nach meiner Interpretation des LM4F120H5QR-Datenblatts kann die Hardware mit den 12 Timern im split-Betrieb und PWM-Modus auf 21 Pins PWM-Signale erzeugen.
Gerd E. schrieb: > - viele Stellaris haben kein richtiges Hardware-PWM, die Einheit ist > optional und fehlt z.B. auch bei den im Launchpad verwendeten > LM4F120H5QR. Hardware-PWM ist eigentlich heute ein Standard-Feature... Das neue Stellaris Tiva C Launchpad hat einen TM4C123GH6PM und damit kommen PWM, QEI and USB host/OTG Support dazu. Siehe auch: http://www.43oh.com/2013/04/ti-stellaris-launchpad-rebranded-to-tiva-c-launchpad/ Damit wird das alte Steallaris Launchpad durch das neue Tiva C nach und nach ersetzt.
Kranen schrieb: > Hat es überhaupt Sinn mit so einem... "oberflächlichem Wissen von C" in > Richtung Controller-Programmierung zu gehen? Ja. Jeder (hier und woanders) hat mal mit irgend etwas angefangen. Was C als Programmiersprache betrifft, so hilft es einem immer, nicht jeden Mist und jedes Konstrukt, was diese Sprache ermöglicht, zu benutzen, sondern stattdessen eher einen biederen Programmierstil zu pflegen. Guck dir ruhig mal diverse Quellen an, die hier im Forum so herunfliegen - aber hüte dich davor zu glauben, das wäre alles guter Programmierstil, den man so nachmachen sollte. Das Meiste davon ist eher ein miserabler Stil und entsprechend unleserlich und sollte SO besser nicht nachgeahmt werden. In jedem Falle solltest du aber auch ein bissel Assembler lernen - in diesem Fall ARM-Assembler, damit du in diesen Gefilden nicht ganz doof dastehst. Was das Stellaris-Board und uC allgemein betrifft, so solltest du dir darüber klar werden, daß die Programmierung (in welcher Sprache auch immer) kein Selbstzweck ist, sondern nur eine notwendige Zutat. Das Hauptaugenmerk liegt immer auf der Anwendung, also was man tatsächlich machen und dazu nen uC einsetzen will. Eben das sollte auch dein Schwerpunkt sein, die reine Programmierung ist ein bissel Eunuchentum. Guck dir also erstmal das Hardwaremanual zu deinem uC an, dann die Boardbeschreibung und dann überleg dir, was du gern manchen willst und ob das Board dafür geeignet ist. Kranen schrieb: > Kann mir evtl jemand aus eigener Erfahrung eine grobe Richtung weisen? Sehr einfach: Selber lesen, selber verstehen, selber Projekte planen, selber durchziehen - seinen eigenen Stil suchen und finden - und sich NIE auf andere verlassen. W.S.
> Stimmt, die USB Bridge von myAVR ist praktisch
Alternativ tut's auch ein Handy-Datenkabel vom Trödel. Es gibt da einige
im Nokia Umfeld mit genau den drei Anschlüssen, die wir brauchen: GND,
RXD und TXD. Die kosten meist nur 3 Euro.
Stichwort für eBay: "USB seriell TTL Kabel"
Hallo zusammen, viel wurde gesagt, deshalb nur wenig Worte von mir. Als Einstieg empfiehlt sich folgendes: http://shop.myavr.de/index.php?sp=article.sp.php&artID=40 Alles an Board für einen Einsteiger (LEDs, Buzzer, Taster, Lichtsensor), klar ist das irgendwie veraltet, aber nur für diejenigen die sich auskennen. Wenn du damit umgehen kannst, kannst du dir das Launchpad wieder vornehmen. Der Umstieg wird aber nochmal genauso wie der Einstieg, aber um vieles einfacher als ohne Erfahrung. Beste Grüße public
Preis: 49,00 Euro Launchpad 10$ naja Ich verstehe die Diskussion nicht, man kann mit jedem Board anfangen und das Launchpad bietet doch einges. Allemal mehr als so ein olles AVR Board.
Wenn du Anfänger bist nimm lieber das MSP430 Launchpad. Da kannst du dann einfacher eigene Schaltungen entwickeln und die Controller "erschlagen" dich nicht gleich.
Hallo nochmal, unterschied AVR zu ARM sieht doch so aus, Pin setzen. AVR: 1. Direction Register setzen 2. Pin/Port Register setzen ARM: 1. Takt am Port bereitstellen 2. Pin Modus einstellen 3. betreffenden Pin wählen 4. Flankensteilheit des Pins wählen 5. Port initialisieren 6. Pin setzen Ich würde sagen der Einsteiger soll selbst entscheiden ;-) Beste Grüße public
Nach deiner Logik sollte er dann nen 8051 Typ nehmen, fällt Direction auch noch weg :-) Mal ehrlich, du scheinst es ja auch gelernt zu haben so what ?
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.