Hallo miteinander, ich möchte in meiner Freizeit gerne etwas über die Mikrocontroller-Programmierung lernen. Habe aber überhaupt keine Ahnung davon. Also hätte ich gerne einen Baukasten, wo schon alles drin ist (Erklärungen, Beispiele, Aufgaben). Außerdem möchte ich den Controller in C programmieren. Ich hoffe ihr könnt mir weiterhelfen.
Zur Zeit gibt es da 2 Varianten. Die hardwarenahe Bitfummelei auf den AVRs. Und PC-artige Programmierung, alles in Libraries verpackt auf den ARMs. Welche Richtrung willst du einmschlagen?
Dazu gibt es hier auf der Seite Tutorien, die sich auf die Atmel AVR beziehen. Auf anderen Internetseiten kann man sich über den Einstieg in andere Controller-Familien einlesen. Der AVR ist schon ziemlich verbreitet und wenn man zu einem schnellen Ergebnis kommen will, bietet sich die Arduin9o-Plattform an. (Jetzt dürfen wieder die Bitschubser mit ihrem "Du musst auch wissen, wie man das Makefile anfässt" kommen - das würde ich auf einen späteren Zeitpunkt verschieben.)
Das Tutorial auf dieser Seite hat mir beim Einstieg sehr gut geholfen: http://pic-projekte.de/wordpress/?cat=13
Für den leichten Einstieg empfehlen sich mit Sicherheit die Arduinos. Sind extra für so was gemacht. Es gibt auch genügend Bücher etc wo viele Beispiele enthalten sind. Der spätere Umstieg auf reines C ohne Bibs ist dann nicht zu extrem! Ansonsten empfiehlt es sich auch C erst mal direkt auf dem PC zu lernen. Vorteil ist die viel bessere Debugmöglichkeit und du brauchst erst mal gar keine HW. Damit würde ich anfangen! Auch würde ich am Anfang auf keinen Fall mit Steckbrett anfangen! Kauf dir ein fertiges Board, am besten noch ein Debugger dazu. Dann brauchst du dich "nur" um die Programmierung kümmern und kannst über den Debugger auch leichter Fehler im Code suchen als mit reinem Programmer! Sobald du Routine in Sachen Software drin hast, kannst du auf eigene HW umsteigen.
Dulfried schrieb: > Also hätte ich gerne einen Baukasten, wo schon alles drin ist > (Erklärungen, Beispiele, Aufgaben). Das Internet ist voll davon. Arduino wurde schon genannt und gibts für ein paar € bei eBay (z.B. Arduino pro micro), dazu ein Steckbrett, ein paar LEDs/Widerstände/FETs http://arduino.cc/ Und - viele glauben es nicht - Arduino-Boards verwenden ganz gewöhnlichen Atmel Prozessoren, die ganz gewöhnlich in C oder ASM programmiert werden können.
@PICler Die Seite sieht gar nicht übel aus. Aber welche Hardware/Bauteile brauche ich dafür? @STK500-Besitzer Also müsste ich mir einen Avr mikrocontroller anschaffen und sonst nur einen geeigneten Compiler? Oder brauche ich sonst noch was? Und welcher avr ist für den einstieg am besten geeignet. @Noch einer ich weiß jetzt nicht wirklich wo da dann beim Programmieren der unterschied sein soll, aber aus deiner Formulierung gehe ich mal davon aus, dass die ARMs für den Anfang besser sind?
zur Info: Also normales C habe ich die Grundlagen bereits gelernt. @Frank Hättet ihr auch einen genauen Produktnamen oder link für solch ein komlettes Board?
Dulfried schrieb: > @PICler Die Seite sieht gar nicht übel aus. Aber welche > Hardware/Bauteile brauche ich dafür? Steht doch da alles. > @STK500-Besitzer Also müsste ich mir einen Avr mikrocontroller > anschaffen und sonst nur einen geeigneten Compiler? Oder brauche ich > sonst noch was? Und welcher avr ist für den einstieg am besten geeignet. Für AVR steht alles hier im Tutorial. > @Noch einer ich weiß jetzt nicht wirklich wo da dann beim Programmieren > der unterschied sein soll, aber aus deiner Formulierung gehe ich mal > davon aus, dass die ARMs für den Anfang besser sind? ARM sind sehr viel leistungsfähiger und werden oft "abstrakter" programmiert.. ob das für den Anfang sinnvoll ist!? Ich persönlich finde nicht, aber gleich werden mir x Leute wiedersprechen. Das Problem bei Fragen wie deinen ist, dass viel zu viel nachgedacht wird. Es ist tausend mal wichtiger etwas zu MACHEN. Also arbeite "einfach" das Tutorial hier durch und du bist mitten drin in der Programmierung statt in der zweifellos hier ausufernden Diskussion was denn am Besten ist. Gruß Dennis
http://www.ebay.de/itm/221606981761 kostet ~5€ und ist alles an HW was du für die erste blinkende LED brauchst (es ist eine direkt steuerbare LED auf dem Board). Danach kannst du ihn auf ein Breadboard stecken und weiter-lernen. IDE (= Editor + Compiler) ist GRATIS. Wen du aus den Arduino-Kinderschuhen rausgewachsen bist, dann kannst du ihn mit avr-dude weiterbenutzen....
Dulfried schrieb: > @PICler Die Seite sieht gar nicht übel aus. Aber welche > Hardware/Bauteile brauche ich dafür? Als Programmer würde ich das PICkit3 verwenden, die China Clones sollen auch ganz gut sein und dazu ein PIC Board. Ich habe mit dieses mit einem PIC18F45k22 nachgebaut: http://sprut.de/electronic/pic/test/index.htm#40pin Für die ersten Schritte tut es aber auch ein PIC auf einem Breadboard. Alternativ könnte man auch das "PICkit3 Debug Express" kaufen, da ist alles an Hardware dabei was man brauch. Die Software gibt's kostenlos auf http://www.microchip.com/
ok dann werde ich mir den Arduino Nano V3.0 kompatibles Board holen, damit habe ich dann ja erstmal die hardware abgedeckt. Welche IDEs sind gängig und kostenlos? Und habt ihr hier auf der Seite auch noch eine Tutorial zu diesem Board? Oder kann ich mir jedes beliebige tutorial anschauen?
Das schöne am Arduino ist ja gerade, dass man da ein Komplettpaket aus Hardware, IDE und Tutorial bekommt und sofort los legen kann.
Geh mal zu ebay und suche dort nach 'sunfounder'. Ich hoffe, das ist nach deinem Geschmack. Ergänzungen findet man be Ada Fruit.
Die Frage ist, was Du anstellen möchtest - und für jedes Szenario wirst Du wohl eine Unmenge an Vorschlägen erhalten :-) Ich baue zur Zeit z.B. ein EPROM Reader für uralte EPROMs (z.B. 1702A) - die verwendeten Tools und die benutze Hardware läßt sich für alle Projekte verwenden, bei der man Daten auf einer externen Hardware sammeln und mittels eines PC-Programms auf den PC einlesen möchte. Um eine Alternative zu VisualStudioC++/wxWidgets/Qt zu haben, habe ich für dieses Projekt auf der PC-Seite Codelite/MinGW(TDM-GCC)/wXWidgets/wxcrafter/Boost.Asio verwendet - alles Tools, die ich dann in gleicher/ähnlicher Weise unter Linux einsetzen könnte. Für die externe Hardware verwende ich ein Atmel SAMD21 Xplained Pro Kit. Wer einen schnellen Rechner hat, kann mit dem Atmel Studio dafür das Programm entwickeln, mit meinem Core2Duo Laptop bin ich auf die IAR Embedded Workbench für ARM (KS-Version) ausgewichen. Beim SAMD21 Xplained Pro wird über ein USB-Kabel neben der Power und dem Lade/Debug-Interface auch ein Virtueller ComPort für die Verbindung zum PC/PC-Programm zur Verfügung gestellt, so dass die Schnittstelle zwischen externer Hardware und PC schon vorhanden ist. Als Alternative für das Xplained Pro kommen auch ST NUCLEO Boards in Frage - die bieten 'ne Menge für 'nen Spottpreis, u.a. neben dem Lade/Debug-interface auch den Virtuellen ComPort. Ich werde mein Projekt, wenn es fertig ist, auf meiner Webseite einstellen - falls Du in dieser Richtung was machen möchtest, kann ich Dir den aktuellen Stand schon vorab zur Verfügung stellen.
Dulfried schrieb: > lso hätte ich gerne einen Baukasten, wo schon alles drin ist > (Erklärungen, Beispiele, Aufgaben). > > Außerdem möchte ich den Controller in C programmieren. Dann sind prinzipiell Evaluation Boards schon der richtige Weg. Die Frage ist nur: Welches? Ein Anfänger soll sich immer auf seine aktuelle Problemstellung konzentrieren können und das "Drumherum" muss einfach laufen. Eine "all in one" Lösung ist anzustreben. Es muss eine sauber strukturierte Dokumentation geben, in der man sich schnell zurecht findet. Mein erster Kandidat wäre daher der MSP430 mit dem Launchpad. Mit dem Launchpad erhält man ein lauffähiges Board, an dem alle Pins rausgeführt sind. Der Programmer, der Debugger, die UART/USB Bridge usw. sind bereits Onboard. Der Family User Guide ist mit die beste µC Dokumentation. Der MSP430 selbst ist einfach zu verstehen und hat keine Fallgruben. Das Forum hier zeigt sehr gut, welche µC welche Schwächen haben. Es gibt im Netz viele Quellen für den Einstieg, z. B. http://www.argenox.com/library/msp430/ Nach den ersten Schritten reicht schon der Family User Guide. Gerne wird zum Selbststudium das Buch http://www.amazon.de/MSP430-Microcontroller-Basics-John-Davies/dp/0750682760 genommen.
Dulfried schrieb: > Welche IDEs sind gängig und kostenlos? Also zu Anfang™ nimmst du die arduino IDE http://arduino.cc/en/Main/Software Die reicht für die ersten Schritte von der blinkenden LED bis zu simpleren echten Applikationen. Hat den großen Vorteil, dass man sich rel. sicher sein kann, dass alles zusammen sofort funktioniert. Danach ist der Umstieg auf AVRStudio oder Eclipse mit AVR-Plugin deutlich einfacher, weil man schon etwas in "µC-Sphären" denkt.
Wie vermutet - bis ich meinen kleinen Roman geschrieben habe, sind schon etliche Vorschläge eingetroffen :-)
http://www.ebay.de/itm/221606981761?clk_rvr_id=796489874147&rmvSB=true Ist dieses Teil für 5V oder 3,3V?
"Spannung: 3,3V / 5V" ist wohl unsinnig zusammenkopiert. "Spannung: 6V - 20V" -- Der AMS1117 ist ein Spannungsregler.
Nachdem als Geschwindigkeit 16 MHz angegeben ist wird der Mega 5V haben wollen....
Mich verunsichtert bei 221606981761 nur, dass da nirgends etwas von einer Erklärung steht. Denn ohne diese kann ich damit leider nichts anfangen.
Tja, es hat noch nicht einmal richtig begonnen und man tummelt sich auf einem Nebenschauplatz. Als Anfänger sollte man auf etwas funktionierendes bauen.
Dulfried schrieb: > Mich verunsichtert bei 221606981761 nur, dass da nirgends etwas von > einer Erklärung steht. Denn ohne diese kann ich damit leider nichts > anfangen. Naja, es ist ein Arduino nano Klon. Die Anleitung dazu gibt es hier: http://arduino.cc/en/Guide/Windows
Frank schrieb: > Arduinos Tom schrieb: > Arduino Tom schrieb: > Arduino pro micro Tom schrieb: > Arduino-Boards Noch einer schrieb: > Arduino Max D. schrieb: > Arduino Man es nervt! Sobald hier ein Neuling eine Frage ähnlich der des TOs stellt, kommen sofort die zig Leute der "Arduino-Fraktion" aus ihren "Löchern gekrochen, stürzen sich wie Fliegen auf eine verdorbene Obsttorte auf den Fragenden, und versuchen diesen zu bekehren. Dulfried schrieb: > ok dann werde ich mir den Arduino Nano V3.0 kompatibles Board holen, Und haben damit auch noch meisten Erfolg. Für einen Einsteiger, ist es meines Erachtens, so vollkommen unmöglich, einen neutralen Überblick über die gegebenen Möglichkeiten zu gewinnen, da dieser den Eindruck bekommen muss, der Kauf eines dieser Arduino- Dinger wäre der einzig gangbare Weg. Anderweitig genannte Alternativen gehen unter, bzw. werden gar nicht erst in Erwägung gezogen. Dies kann man bei jedem ähnlich geartetem Thread wie diesem beobachten. Ich finde das schlimm und traurig zugleich. Entschuldigt bitte diesen Off-topic-Beitrag, aber das musste einfach mal raus. Ich weiß, jetzt werden gleich wieder alle Arduino-Fans aus ihren Hölen gestürzt kommen, und mich belehren dass ich ja ganz falsch liege. Aber sei es drum. Grüße in die Runde. Holger
Noch einer schrieb: > Zur Zeit gibt es da 2 Varianten. > > Die hardwarenahe Bitfummelei auf den AVRs. Und PC-artige Programmierung, > alles in Libraries verpackt auf den ARMs. > > Welche Richtrung willst du einmschlagen? Wat für'n Schwachsinn. Wie ein MC programmiert wird entscheidet der Programmierer und nicht der Chip. Sowohl ARM based als auch AVR's die es im übrigen auch mit ARM Core gibt können sowohl Abstrakt als auch HW nah programmiert werden. Zun Endtieg eignet sich jeder Kontroller wenn ich persönlich auch nicht zuletzt wegen der guten Umsetzbarkeit auf dem Breadboard oder der eig. HW Realisierung aufgrund zahlreicher DIP Varianten stehst zu AVR raten würde. Auch gibt's bei AVR vom Hersteller eine hervorragende IDE. Wenn man sich mit MC beschäftigt will man die Dinger wohl auch verstehen. Denn sie sind im übrigen dazu da um mit externer HW unmittelbar zu sprechen. Also per se HW nah. Wer bunte Bildchen Programmieren will und sich von HW fern halten möchte ist besser auf dem PC aufgehoben. Es mag hier ne Menge Klugscheisser geben, die glauben sie schwimmen ganz oben auf der Suppe weil Sie auf eben ARM Dev Board ne LED zum blinken gebracht haben oder mittels vorgefertigter LIB Linien auf ein LCD gemalt haben, aber den Controller verstanden haben die meisten von denen indes nicht
>Wenn man sich mit MC beschäftigt will man die Dinger wohl auch >verstehen. Genau das war die Frage. Wenn man das Zusammenspiel vom Hardwareregistern, Interrups und Verarbeitungslogik verstehen will, sind die alten MCs ideal. Man kann die Assembler-Beispiele im Datenblatt 1:1 nach C umsetzen. Die 32-Bit MCs haben so viele Register - Man findet im Datenblatt gar keine vollständigen Assembler-Beispiele mehr. Man nimmt ein RTOS und gewöhnt sich einen Stil wie in der PC-Programmierung an - Nur mehr die Dokus für die Libraries lesen, die 1000 Details dahinter ignorieren.
Hallo Gemeinde bevor es zu einem Konflikt zwischen den Lagern kommt, möchte etwas zum ersten Start sagen. Leider kommt es bei einem Neuanfang zu sehr grossen Problemen. Es gibt so viele Seiten im Netz. Jede beschreibt ein anderes Board. Ob sie aus China kommen oder ein Clon sind, ob es Nachbau oder das Ori ist, ist eigentlich fast schon egal. Es kommt drauf an, wie die ersten Erklärungen sind, ob die Sache nachzuvollziehen sind und ob man es versteht. Damit kommt auf die Autoren sehr viel Verantwortung zu. Die Tut`s müssen so geschrieben werden, das man es versteht. Mit Bildern und genauen Anleitungen beschrieben ist, die passenden Beispiel dazu, Programme die laufen und komplett sind. Eine kostenlose Umgebung zählt auch dazu. Wenn ich einige Sachen sehe, könnte ich kot... . Ich bin nicht unschuldig. Wenn ich meine Fragen sehe, versteh ich Falk und KH vollkommen. Die haben eine riesen Geduld mit mir. Weil mir all die Produkte nicht gefallen haben, habe ich selber was gemacht. Etwas was super erweitert werden kann, viele verschiedene Teile hat, relativ billig ist und ständig erweiter wird. achim
Ach was, den Konflikt müssen wir endlich mal klären. Mühsam Assembler gelernt, in die Details von jedem Register eingearbeitet. Und dann bekommt ein Anfänger auf nem Arduino mehr zustande als ein echter Programmierer nach jahrelanger Einarbeitungszeit. Na und -- Ist doch noch lange keine Entschuldigung für dieses Rumgepöbel. (Hatte zu Z80 Zeiten noch jedes Register gekannt - für mich ist das die gute alte Zeit. Wenn Heutzutage noch jemand so etwas antiquiertes lernt, ist er selbst schuld.)
mikroe.com Boards und wenn Du magst auch deren Software, da ist alles dabei inklive Beispielen. Programmierung auch gleich in C, Pascal oder Basic
Noch einer schrieb: > (Hatte zu Z80 Zeiten noch jedes Register gekannt - für mich ist das die > gute alte Zeit. Wenn Heutzutage noch jemand so etwas antiquiertes lernt, > ist er selbst schuld.) Sollen wir das, den letzten Satz, mal persönlich ausdiskutieren? Ganz unter uns meine ich? smöck
Dulfried schrieb: > Welche IDEs sind gängig und kostenlos? > Und habt ihr hier auf der Seite auch noch eine Tutorial zu diesem Board? > Oder kann ich mir jedes beliebige tutorial anschauen? Das Internet ist voll von Jehova...ähm Arrduino.....auf arduino.cc findet man alles was man braucht. Nur, ich komme von den PIC, 10 Jahre lang in C programmiert, davor die Z80 Maschinen. VERSTEHEN wird Du mit Arduino nichts, völlig wumpe was da für eine CPU drunter ist, die sehen mit den Libs alle gleich aus. Der Arduino ist vielen Cracks ein dorn im Auge, weil er sie vom heiligen Thron stürzte dass nur die Cracks mit Studium wussten wie man mit uC umgeht. Dass Schulkinder das jetzt machen wurmt die ganz schön :-) Es dauert keine 10s nach Installation der IDE bis auf dem Ardu was blinkt :-)
Noch einer schrieb: > Die 32-Bit MCs haben so viele Register - Man findet im Datenblatt gar > keine vollständigen Assembler-Beispiele mehr. Man nimmt ein RTOS und > gewöhnt sich einen Stil wie in der PC-Programmierung an Dafür wurden sie auch konzipiert. Niemand der bei Trost ist programmiert einen ARM in Assembler. Und in unserer Entwicklung, die High Tech Produkte erzeugt gibt es auch niemanden, der ohne eine HAL (Low Level HAL) arbeitet. Der ARM wäre nie so gut verkauft worden, wenn die Hersteller nicht diese Fülle Docs und Hilfen dazu geschaffen hätten.
Christian J. schrieb: > Es dauert keine 10s nach Installation der IDE bis auf dem Ardu was > blinkt :-) und dann steckt man noch ein shield auf und hat die ersten Erfolge und wenn man sich pö a pö einliest kommt man weiter, zumal ein Arduino mit 32k (Uno für shields) noch übersichtlich ist. Später kann man immer noch auf einen mega2560 gehen und noch später auf einen ARM. Klar kann man gleich mit ARM einsteigen, warum auch nicht, mache ich vielleicht wenn ich den m1284p oder m2560 ausgereizt habe :-)
An alle arduino Hasser: ich benutze selbst KEINE arduinos. Allerdings erinnere ich mich noch an meinen holprigen Start. Der Spagat zwischen Hardware- und Softwareproblemen ist ziemlich schwierig. Der arduino löst dieses indem er im allgemeinen direkt funktioniert und auf keine pfuschereien am serialport angewiesen ist. Wer jetzt sagt ein Arm könnte das auch, der soll sich mal den Preis vor Augen halten. Gerade am Anfang ist man noch nicht zu so großen Investitionen bereit. Wenn man mal "angefixt" dann findet man ganz von allein seine Sparte.
Christian J. schrieb: > Der Arduino ist vielen Cracks ein dorn im Auge, weil er sie vom heiligen > Thron stürzte dass nur die Cracks mit Studium wussten wie man mit uC > umgeht. Dass Schulkinder das jetzt machen wurmt die ganz schön :-) Quark! Die Cracks sind die, die in den Lib's ihr Wissen für die Schulkinder verpackt haben ;-) Ich halte Arduino dann für absolut sinnvoll wenn das primäre Ziel die Entwicklung einer Embeded Solution ist und die Programmierung des µC notwendiges Übel auf dem Weg zum Ziel. Wer das ganze verstehen will lässt erst mal die Finger von Systemen mit zu hoher Abstrahierung.
Ich möchte auch noch was in das Rennen werfen - PSoC. Für mich ist das was man heute im Auge behalten sollte und interessante Chip Konzepte haben die auch. Einfach mal die Cypress Seite besuchen und ein paar Videos schauen und einen eigenen Eindruck gewinnen. http://video.cypress.com/video-library/video/PSoC
Max D. schrieb: > Der arduino löst dieses indem er im allgemeinen direkt funktioniert und > auf keine pfuschereien am serialport angewiesen ist. > Wer jetzt sagt ein Arm könnte das auch, der soll sich mal den Preis vor > Augen halten. Gerade am Anfang ist man noch nicht zu so großen > Investitionen bereit. Nicht zu vergessen das man auf guten Arduino Klonen (z.B 2560) für ein paar Euro aus China den Bootloader rausschmeißen kann und das Ding dann wunderbar ohne den C++ Ballast programmieren kann, wenn man es denn kann und hat keine Probleme mit der HW. Das sind dann sehr gute und extrem preiswerte DevBoards. Die meisten (nicht alle) die hier ständig mit ihren Arms ankommen sind Angeber.
Thomas Holmes schrieb: > Das sind dann sehr gute und extrem > preiswerte DevBoards. Das sage ich ja auch immer die ganze Zeit. Aber sobald du "Arduino" sagst, flippen hier einige total aus.
F. Fo schrieb: > Aber sobald du "Arduino" sagst, flippen hier einige total aus. Er hats schon wieder gesagt !
Nochmal zu PSoC. Allein die Unterstützung ist schon toll. Habe gerade den Dokumentenmanager runter geladen und bin begeistert. Nicht mehr mühsam Dokumente suchen (obwohl Atmel in der letzten Zeit viel getan hat) und die Software hält alles auf Stand.
Frank schrieb: > Für den leichten Einstieg empfehlen sich mit Sicherheit die Arduinos. > Sind extra für so was gemacht. Es gibt auch genügend Bücher etc wo viele > Beispiele enthalten sind. > > Der spätere Umstieg auf reines C ohne Bibs ist dann nicht zu extrem! > Ansonsten empfiehlt es sich auch C erst mal direkt auf dem PC zu lernen. > Vorteil ist die viel bessere Debugmöglichkeit und du brauchst erst mal > gar keine HW. Damit würde ich anfangen! Ja, das klappt. Ich habe es auch so gemacht. Man kommt schnell zu Ergebnissen, das motiviert. Allerdings kommmt man auch schnell an Grenzen, das geht los, sobald man etwas mit Batterien betreiben will. Als Testcompiler für den PC hab ich den hier genommen: https://en.wikipedia.org/wiki/Dev-C%2B%2B Der ist schön simpel und schell. Wenn ich C-Fragen klären muss, dann nehm ich den noch heute ganz gerne. Wichtig ist aber, rechtzeitig einen richtigen Controller zu nehmen, sonst gehts dir dann wie einigen im Forum, die bei jeder Kleinigkeit nach einer fertigen Lib krakeelen. Daher ist der Arduino hier nicht so beiliebt. Mein Arduino verstaubt inzwischen nur noch, ich hab einen PIC32MX250 auf einem Breadboard inklusive GLCD, USB und Segger J-Link. Zum Experimentieren und herumprobieren schlägt der den Adruino um Lichtjahre, alleine schon wegen dem Debugger und der Leistung. Lass dir aber hier keine Controllerfamilie aufschwatzen. Lerne erst genug und entscheide selbst.
Ich denke nicht, dass irgendjemand hier was aufschwatzen will. Der TO fragte ja "womit anfangen" und das Forum hat Vorschläge gemacht.
Dadurch, dass man den Arduino nachdem man aus den "Babyschuhen" Arduino-IDE rausgewachsen ist einfach als AVR weiterbenutzen kann gibt es eigtl. nichts was gegen ihn spricht. Der große Vorteil bei AVR ist die offene Toolchain in Verbindung mit der Einfachheit der Code-Erstellung. Wenn man mit ARM eine offene TC haben will, dann frickelt man erstmal nen halben Tag mit Startup und Linker-Scripten bis man das genau auf das Szenario eingearbeitet hat (oder man man liefert sich halt einem geschlossenen System auf "Gedeih und Verderb" aus). Bei den stärkeren PICs (PIC24, dsPIC & PIC32) ist das nochmal düsterer, da gibt es nichtmal eine frickelige 100% offene Toolchain und selbst der gratis-compiler wird nach nem monat kastriert....
Noch einer schrieb: > Die 32-Bit MCs haben so viele Register - Man findet im Datenblatt gar > keine vollständigen Assembler-Beispiele mehr. Bei den LPC ist selbstverständlich jedes Bit dokumentiert und die ARM Assembler Doku im Anhang. Christian J. schrieb: > Niemand der bei Trost ist programmiert einen ARM in Assembler. - Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors (von ARM selbst) - Raspberry Pi Assembly Language Beginners ARM Assembler ist deutlich einfacher als AVR, einfach mal versuchen ... Max D. schrieb: > Der große Vorteil bei AVR ist die offene Toolchain in Verbindung mit der > Einfachheit der Code-Erstellung. Wo ist da eine offene Toolchain? Und AVR ist nur dann "einfach" wenn man es schon kann :-)
Lothar schrieb: > Wo ist da eine offene Toolchain? avr-gcc mit gcc wie in "der GCC" andächtiges Schweigen ;) Lothar schrieb: > Und AVR ist nur dann "einfach" wenn man > es schon kann :-) Mal angenommen ich will als Anfänger bei einem AVR (nur mit offenen Tools) eine LED blinken lassen. Dann erstell ich in der IDE/Editor meiner Wahl ein neues Projekt/Datei und #include da <avr/io.h> und <util/delay.h> . Dann kommt in die main
1 | DDRB |= (1<<PB5); |
2 | while(1){ |
3 | PORTB |= (1<<PB5); |
4 | _delay_ms(500); |
5 | PORTB &= ~(1<<PB5); |
6 | _delay_ms(500); |
7 | }
|
Dann compilieren "avr-gcc main.c -mmcu=atmega328 -DF_CPU=16000000UL -Os -o main.elf" und hochladen mit avrdude (der liest seit 6.0.1 direkt elf files). Nennenswert einfacher wird das nur wenn man die ganzen Compiler-Schritte in einer IDE versteckt.....
Max D. schrieb: > #include da <avr/io.h> und <util/delay.h> Und jetzt mal dasselbe auf einem LPC800 mit gcc ganz ohne Includes nur die Register im Datenblatt nachgesehen :-) #define DIR0 0xA0002000 #define PIN0 0xA0002100 *((unsigned long *) DIR0) |= 1<<(5); // output *((unsigned long *) PIN0) ^= 1<<(5); // toggle Max D. schrieb: > avr-gcc mit gcc Dachte schon Du meinst Atmel Studio :-)
Hallo Holger, Holger schrieb: > Frank schrieb: > Tom schrieb: > Tom schrieb: > Tom schrieb: > Noch einer schrieb: > Max D. schrieb: >> Arduino > > Man es nervt! > Sobald hier ein Neuling eine Frage ähnlich der des TOs stellt, kommen > sofort die zig Leute der "Arduino-Fraktion" aus ihren "Löchern > gekrochen, stürzen sich wie Fliegen auf eine verdorbene Obsttorte auf > den Fragenden, und versuchen diesen zu bekehren. Naja, das Arduino-Zeug ist preiswert, verfügbar, gut dokumentiert und es funktioniert auch ohne Arduino-"IDE" ganz gut. Das vermeidet viele fiese Fehlerquellen und verspricht schnelle erste Erfolge, insofern ist diese Empfehlung gar nicht mal die Schlechteste. > Für einen Einsteiger, ist es meines Erachtens, so vollkommen unmöglich, > einen neutralen Überblick über die gegebenen Möglichkeiten zu gewinnen, > da dieser den Eindruck bekommen muss, der Kauf eines dieser Arduino- > Dinger wäre der einzig gangbare Weg. > Anderweitig genannte Alternativen gehen unter, bzw. werden gar nicht > erst in Erwägung gezogen. Statt hier herumzumeckern, hättest Du die Alternativen und ihre Vor- und Nachteile darstellen oder wenigstens erklären können, warum Arduino nach Deiner Meinung nicht so geeignet ist wie Alternative XY. Schade. Liebe Grüße, Karl
Hallo Dulfried, Dulfried schrieb: > Hallo miteinander, > > ich möchte in meiner Freizeit gerne etwas über die > Mikrocontroller-Programmierung lernen. Habe aber überhaupt keine Ahnung > davon. Also hätte ich gerne einen Baukasten, wo schon alles drin ist > (Erklärungen, Beispiele, Aufgaben). > > Außerdem möchte ich den Controller in C programmieren. > > Ich hoffe ihr könnt mir weiterhelfen. Ich bin dann mal altmodisch und empfehle Bücher. Zunächst, besonders für absolute Einsteiger mit C-Vorkenntnissen empfehlenswert: http://www.amazon.de/AVR-Mikrocontroller-programmieren-Selbstbauprojekte-ATtiny13-ATmega32/dp/3645650199/ Gibts auch als Komplettpaket mit Hardware, Breadboard, Bauteilen etc: http://www.amazon.de/C-Programmierung-von-AVR-Mikrocontrollern-G%C3%BCnter-Spanner/dp/3645650954/ Danach zur Erweiterung des Wissens: http://www.amazon.de/AVR-Mikrocontroller-Kochbuch-Lukas-Salzburger/dp/3645651268/ HTH, Karl
Holger schrieb: > Frank schrieb > Noch einer schrieb: >> Arduino > > Max D. schrieb: >> Arduino > > Man es nervt! > Sobald hier ein Neuling eine Frage ähnlich der des TOs stellt, kommen > sofort die zig Leute der "Arduino-Fraktion" aus ihren "Löchern > gekrochen, stürzen sich wie Fliegen auf eine verdorbene Obsttorte auf > den Fragenden, und versuchen diesen zu bekehren. Besser als sie AVR-Freaks, die hier noch lange vor der ersten Arduino-Erwähnung ihre Uralt-Architektur pushen mußten. Wohl aus Angst, denn sie wissen ja auch genau, daß sie kein heutiger Anfänger mehr anfaßt. Zu recht.
F. Fo schrieb: > Ich denke nicht, dass irgendjemand hier was aufschwatzen will. Der TO > fragte ja "womit anfangen" und das Forum hat Vorschläge gemacht. Nein, niemals, doch nicht auf µC.net!!! Nie!!!!!11!! Fakt ist, dass man die Architektur finden sollte, die einem persönlich gefällt. Und dazu sollte man sich nicht auf Empfehlungen aus dem Forum verlassen. Und am besten sieht man sich außerhalb der hier empfohlenen Sachen um. Es gibt noch TI, NXP, SILABS, Analog Devices, Nuvoton, Infineon, Renesas, FCT, Freescale (noch) und andere, die mir gerade nicht einfallen. Außerdem muss man die Dinger ja nicht heiraten. Obwohl man bei den STM32-Leuten hier den Eindruck hat, sie wären damit verheiratet. Wie sonst könnte man erklären, dass man sich freiwillig CUBE oder die Peripheral Lib antut...
F. Fo schrieb: > Ich möchte auch noch was in das Rennen werfen - PSoC. > Für mich ist das was man heute im Auge behalten sollte und interessante > Chip Konzepte haben die auch. Hast du damit schon etwas gemacht? Ich denke nicht und dann sollte man sich mit Empfehlungen (für Anfänger) zurück halten. :-((( PSoc ist ist ein ganz anderes Konzept. Neben der CPU musst du dich in die analoge Programmierung einarbeiten. Und die Frage nach dem Kern stellt sich weiterhin: PSoC1, PSoC3, PSoC4 oder PSoC5?
Thomas Holmes schrieb: > Nicht zu vergessen das man auf guten Arduino Klonen (z.B 2560) für ein > paar Euro aus China den Bootloader rausschmeißen kann und das Ding dann > wunderbar ohne den C++ Ballast programmieren kann Man kann sogar den Bootloader drin lassen und den µC trotzdem in nacktem C programmieren. Warum sollte man auf den Bootloader verzichten? Der ist nützlich und bietet sich geradezu an wenn eh schon ein USB/Seriell-Wandler und ne USB-Buchse auf dem Board drauf ist.
Marc schrieb: > Besser als sie AVR-Freaks, die hier noch lange vor der ersten > Arduino-Erwähnung ihre Uralt-Architektur pushen mußten. Wohl aus Angst, > denn sie wissen ja auch genau, daß sie kein heutiger Anfänger mehr > anfaßt. Zu recht. Anstatt zu erklären wieso AVR für den Einstieg nicht geeignet ist und/oder eine Alternative aufzuzeigen wetterst du gegen die Nutzergemeinde (also nichtmal die HW selbst). Fällt dir da was auf? Lothar schrieb: > Und jetzt mal dasselbe auf einem LPC800 mit gcc ganz ohne Includes nur > die Register im Datenblatt nachgesehen :-) > > #define DIR0 0xA0002000 > #define PIN0 0xA0002100 > > *((unsigned long *) DIR0) |= 1<<(5); // output > *((unsigned long *) PIN0) ^= 1<<(5); // toggle Das hier ist jetzt echtes Interesse meinerseits und kein "Gegenargument": Hat der gcc inzwischen die Startup Codes und dgl. eingebaut? Wäre nämlich ziemlich nice, hab selber noch ein paar LPC1114 rumfliegen :D
Also ich habe den AVR, seit der AT90S1200 erschienen ist, häufig und gerne eingesetzt, aber diesen einem Neulinge, der ja wohl was für die Zukunft lernen möchte, zu empfehlen - naja - schon etwas hanebüchend - schau' dich besser bei den ARMs (ST, NXP, Atmel, ...) um!
:
Bearbeitet durch User
WehOhWeh schrieb: > NXP, ..., Freescale (noch) U.a. im ARM-Bereich dürfte es da etliche Überschneidungen geben und so einiges gestrichen werden - und sicherlich nicht nur bei Freescale!
peter schrieb: > Ebay-Artikel Nr. 221606981761 > > Ist dieses Teil für 5V oder 3,3V? Da sich der TE auch dafür entschieden zu haben scheint! Was braucht man als Software für dieses Teil um es zum Leben zu bringen? Bitte keine Diskussion, Link und eine kleine Erklärung reicht. Diskutiert wurde schon genug! Danke
Ich bin selbst erst vor ca. 6 Wo in die Materie eingestiegen. Habe auch div. Vorschläge zu versch. Plattformen erhalten und mich dann für die Atmel AVRs entschieden. Habe mir einen Arduino Nano Clone bestellt, hier http://arduino.cc/en/Main/Software die Arduino IDE heruntergeladen und damit schnell Ergebnisse erzielt. Installation enthält X kommentierte Beispiele für jeden denkbaren (Anfänger-)Anwendungsfall und wenn kein spezielles IDE Beispiel verfügbar, findest Du mit Sicherheit eines im Internet. Ein Nano Clone kostet 6-8€ und die IDE ist kostenlos, somit kein Risiko. Wenn Du dann etwas tiefer eingestiegen bist und z.B. Low Power Lösungen realisieren willst, kannst Du den Arduino dann noch als Programmer (ISP) nutzen und damit direkt den uC für 0,90-1,40€/Stck programmieren.
Hier gibt es das (Koch-)Buch zum Arduino kostenlos dazu: http://4yourneed.blogspot.de/2013/08/arduino-kochbuchpdf.html
Max D. schrieb: > Hat der gcc inzwischen die Startup Codes und dgl. > eingebaut? Wäre nämlich ziemlich nice, hab selber noch ein paar LPC1114 > rumfliegen :D Das wäre ein reichlich ehrgeiziges Unterfangen die alle da einzupflegen bei der schieren Anzahl unterschiedlicher ARM MCUs die es von allerlei Herstellern so gibt. Aber zum Glück gibts ja praktisch immer vom Hersteller die entsprechenden Dateien, Header, Linker-Scripts, Demo-Projekte, etc. die man als Ausgangspunkt nehmen kann, oft findet man auch simple minimal-Projekte im Netz für gängige MCUs die abgespeckt sind bis auf das wirklich absolut notwendige Minimum, die eignen sich hervorragend zum Tiefeinstieg from scratch.
http://www.mikrocontroller.net/link/ebay/221606981761 @ Matthias,@google Das Teil mit der von euch angegebenen Software wird zum Leben erweckt. Es soll eigentlich nur Lichttechnik auf Modellen steuern. da ist der Preis von 5 Euro preiswert. Es wird so wie es ist eingesetzt, können natürlich auch 10 werden.
> Und jetzt mal dasselbe auf einem LPC800 mit gcc ganz ohne Includes nur > die Register im Datenblatt nachgesehen :-) > > #define DIR0 0xA0002000 > #define PIN0 0xA0002100 > > *((unsigned long *) DIR0) |= 1<<(5); // output > *((unsigned long *) PIN0) ^= 1<<(5); // toggle Du laberst Stuss, um nicht zu sagen großen Unfug. Wenn ich das in eine C-Datei kippe und baue, funktioniert es trotzdem nicht. Auch dann nicht, wenn ich es in eine Funktion stecke. Wo ist die Vektortabelle? Wo initialisierst du den Stack-Pointer? Wo ist der Startup-Code? Wo ist das Linkerscript? Wie schnell taktet das Teil? Von welcher Quelle? Und die Masterfrage: Funktioniert das auf jedem ARM, oder nur auf ganz bestimmten? Und nein, "aus den Beispielen kopieren" ist keine Lösung. Steht übrigens z.B. in den Atollic-Scripts vom STM32 oben drin, dass man die NUR für die eine Toolchain benutzen darf (Lizenz und so). AVR ist deutlich einfacher zum Laufen zu kriegen auf ner nackten Hardware als ein ARM. Und wir nehmen die "guten" ARMs als Beispiele. Versuche das mal mit irgendeinem China-ARM mit Cortex M3-Kern. Da scheiterst du schon an den GPIOs.
:
Bearbeitet durch User
S. R. schrieb: > Du laberst Stuss, um nicht zu sagen großen Unfug. Eigentlich macht eine Antwort wenig Sinn, aber ... S. R. schrieb: > Wo ist die Vektortabelle? Solange nichts ausser der Reset auftritt, kann das Programm ab 0 über den anderen Vektoren liegen. Ist wie beim 8051 ... Natürlich erstellt man sich ansonsten einmalig (!) eine Vektortabelle entsprechend Datenblatt und setzt dort die gewünschten Namen der Interrupt-Handler rein, wo ist das Problem? > Wo initialisierst du den Stack-Pointer? Gar nicht, braucht es nicht wenn es nur main und keine lokalen Variablen gibt. Ansonsten im Datenblatt das Ende vom RAM - 1 > Wo ist der Startup-Code? Braucht es hier (!) nicht, erste Instruktion bei 0 wird nach Reset ausgeführt. Ansonsten siehe oben. > Wo ist das Linkerscript? Ohne Includes, hier (!) wird nichts gelinkt. Ansonsten trivial: Anfang/Ende Flash und Anfang/Ende aller RAM-Blöcke aus dem Datenblatt und man hat die Memory Map. > Wie schnell taktet das Teil? Von welcher Quelle? Ohne nichts startet der interne Oszillator mit der Default-Frequenz, steht im Datenblatt, üblich sind 12 MHz Ich nutze nur LPC habe aber gelesen das ist auch beim STM32 so.
Kruger schrieb: > Fo schrieb: >> Ich möchte auch noch was in das Rennen werfen - PSoC. >> Für mich ist das was man heute im Auge behalten sollte und interessante >> Chip Konzepte haben die auch. > > Hast du damit schon etwas gemacht? Ich denke nicht und dann sollte man > sich mit Empfehlungen (für Anfänger) zurück halten. Nein, habe ich noch nicht, aber ich habe doch gar nicht gesagt, "Das musst du machen!", sondern nur, dass PSoC auch interessant sein könnte. Die Entwicklungsumgebung ist schon mal sehr interessant. Leider habe ich erst später gemerkt, dass ich eigentlich sehr wenig mit dem erworbenen PSoC4 anfangen kann und habe das noch nicht mal ausgepackt. Warte noch auf was günstiges mit PSoC5. Also, um das nochmal klar zu stellen, ich wollte keine Empfehlung für Cypress abgeben, sondern nur sagen: "Schau mal, da gibt es auch was und vielleicht ist das für dich interessant!"
Ich kann echt nicht nachvollziehen, was manche Atmel-Leute gegen Arduino haben. Für mich ist es alles dasselbe. Ja es gibt fertige Bibliotheken bei Arduino, ja wenn man nur die benutzt, würde man wahrscheinlich nie Programmieren lernen. Es gibt aber auch die Leute, die durch verschiedenen Beispiele lernen und die anderen wollen eben mit der Technik spielen. Warum sollte man denen diesen Wunsch verweigern?
Christian N. schrieb: > Ja es gibt fertige Bibliotheken bei Arduino, ja wenn man nur die Es gibt auch Wörterbuch bei Duden. Abgesehen davon widerspricht "Mikrocontroller-Programmierung selber beibringen" sämtlichen Belehrungsversuchen.
Lothar schrieb: > Braucht es hier (!) nicht, erste Instruktion bei 0 wird nach Reset > ausgeführt. Nein! Bei null steht keinesfalls die erste Instruktion sondern die Adresse der ersten Instruktion. Und bei 4 steht der initiale Stackpointer. Und bei so chips wie dem Kinetis kommt bei 0x400 erst noch mal die flash Konfig, Davor liegt ein meist ungenutztes Loch, danach erst das Programm. Also laber keinen solchen Unfug.
Bernd K. schrieb: > Bei null steht keinesfalls die erste Instruktion sondern die Adresse > der ersten Instruktion Sorry habe hier abwechselnd beides vorliegen: Cortex-M : Adresse der ersten Instruktion Cortex-A/R : erste Instruktion
Lothar, in Hinblick auf die Summe Deiner "nurs" und Einschränkungen in Deinem Beitrag, Du glaubst ernsthaft dass das für einen Anfänger genauso einfach ist?
Christian N. schrieb: > Ja es gibt fertige Bibliotheken bei Arduino, ja wenn man nur die > benutzt, würde man wahrscheinlich nie Programmieren lernen. Es gibt aber > auch die Leute, die durch verschiedenen Beispiele lernen und die anderen > wollen eben mit der Technik spielen. Warum sollte man denen diesen > Wunsch verweigern? Das Problem, dass viele mit den Arduino-Nutzern haben sind die "lauten 10%". Jede Plattform die "einfach so" funktioniert zieht magisch einen gewissen Schlag Leute an (quasi der "Apple-Effekt"). Diese angezogenen Leute machen zwar zahlenmäßig nur einen kleinen Teil aus, aber sind halt extrem extrovertiert in ihrer Meinung. Wer sich dieser Meinung nicht beugt wird runtergemacht. Damit wird aber der Ruf der anderen 90% verdorben die wiederrum entsprechend harsch angegangen werden und defensiv-Positionen einnehmen. Ein Teufelskreis. Ich bemühe mich da eine etwas neutrale Position einzunehmen (bin selber übrigens avr-gcc und eclipse-avr-plugin user). Von diesem (hoffentlich) neutralen Standpunkt aus kann ich dem Arduino die Eignung als Einstiegs-Plattform einfach nicht absprechen. Der niedrige Preis und die gut funktionierende Hardware sind hier einfach "killler-Features". Jeder der sich weiter in die Welt der Bits und Bytes wagt der stößt unweigerlich auf die Grenzen des Systems und überwindet die hoffentlich mit einer hardwarenäheren Toolchain (oder neuer Hardware). Wer auf dem Level blinkender LEDs und einiger Texte auf dem LCD zufrieden ist der wird sicher auch nur mit arduino glücklich.
Stefan schrieb: > Lothar, in Hinblick auf die Summe Deiner "nurs" und Einschränkungen in > Deinem Beitrag, Du glaubst ernsthaft dass das für einen Anfänger genauso > einfach ist? Die Sache ist inzwischen etwas abgedriftet, aber der Anfänger hat doch die Wahl zwischen Einstieg von oben mit fertiger IDE vom uC-Hersteller der Wahl mit Beispielen Libraries Tutorials (dazu gehört sicher Arduino, aber eben auch LPC/mbed oder LCPXpresso/gcc) und dem Einstieg von unten mit Datenblatt gcc Startup-Code / Linker-Skripten ... Ich wollte nur so pauschalen Aussagen entgegentreten: Noch einer schrieb: > Die hardwarenahe Bitfummelei auf den AVRs. Und PC-artige Programmierung, > alles in Libraries verpackt auf den ARMs S. R. schrieb: > AVR ist deutlich einfacher zum Laufen zu kriegen auf ner nackten > Hardware als ein ARM
peter schrieb: > http://www.mikrocontroller.net/link/ebay/221606981761 > > @ Matthias,@google > > Das Teil mit der von euch angegebenen Software wird zum Leben erweckt. > Es soll eigentlich nur Lichttechnik auf Modellen steuern. > da ist der Preis von 5 Euro preiswert. > Es wird so wie es ist eingesetzt, können natürlich auch 10 werden. Was is's nun,geht das Teil oder nicht? Das viele Wirrwarr von Meinungen ist nicht zu verstehen!
>> Wo ist die Vektortabelle? > Solange nichts ausser der Reset auftritt, kann das Programm ab 0 über > den anderen Vektoren liegen. Ist wie beim 8051 ... Falsch. Das gibt entweder direkt einen HardFault, oder du führst ungültigen Code aus, je nachdem ob das letzte Bit des zweiten Words gesetzt ist oder nicht. > Natürlich erstellt man sich ansonsten einmalig (!) eine Vektortabelle > entsprechend Datenblatt und setzt dort die gewünschten Namen der > Interrupt-Handler rein, wo ist das Problem? Wo stand das in deinem tollen Code-Beispiel? Beim AVR braucht man das nicht, weil der Compiler den Startup-Code integriert hat, und genau der das größte Problem darstellt, um eine Plattform erstmalig zum Laufen zu kriegen. >> Wo initialisierst du den Stack-Pointer? > Gar nicht, braucht es nicht wenn es nur main und keine lokalen Variablen > gibt. Stimmt. Damit startet dein Prozessor schonmal nicht, weil ab Flash-Adresse null der initiale SP steht... und du da eine Instruktion hingeschrieben hast. Damit ist dein Beispiel nichtmal lauffähig, gratuliere. > Ansonsten im Datenblatt das Ende vom RAM - 1 Aha. Das steht wo? Gibt's da Unterschiede zwischen LPC800, LPC1114, STM32F100 und STM152L? Vordefinierte, überall verfügbare Konstanten irgendwo? >> Wo ist der Startup-Code? > > Braucht es hier (!) nicht, erste Instruktion bei 0 wird nach Reset > ausgeführt. Ansonsten siehe oben. Falsch. Flash-Adresse 0: initialer SP Flash-Adresse 4: initialer PC >> Wo ist das Linkerscript? > Ohne Includes, hier (!) wird nichts gelinkt. Das heißt, main() liegt ab Adresse 0? Wunderbar, denn dort befindet sich normalerweise kein Flash. Du solltest also tunlichst aufpassen, dass dein Compiler relozierbaren Code erzeugt, da du ihn gerade an eine ungültige Adresse gelinkt hast... > Ansonsten trivial: > Anfang/Ende Flash und Anfang/Ende aller RAM-Blöcke aus dem Datenblatt > und man hat die Memory Map. Die da wo wäre? Erneut, wo bei welchem Controller? Und wo steht das im Datenblatt, und wo ist in deinem "Minimal-"Beispiel die Information, wie man das macht? >> Wie schnell taktet das Teil? Von welcher Quelle? > > Ohne nichts startet der interne Oszillator mit der Default-Frequenz, > steht im Datenblatt, üblich sind 12 MHz Manchmal ja, manchmal nein. Ein STM32L152 startet mit ~2 MHz, ein SAM3X mit ein paar kHz. Was das für ein Oszillator ist, und ob da noch irgendwelche Teiler dabei sind, hängt vom Chip ab. Auch das hast du nicht dazu geschrieben. PS: Es ist ziemlicher Aufwand, den Clock-Tree im ST-Datenblatt soweit auseinanderzufummeln, dass man die 2.048 MHz nachvollziehen kann. Nochmal: Das ist anfängerfreundlich? > Ich nutze nur LPC habe aber gelesen das ist auch beim STM32 so. Da hast du falsch gelesen. Lothar schrieb: > Die Sache ist inzwischen etwas abgedriftet, aber der Anfänger hat doch > die Wahl zwischen Einstieg von oben mit fertiger IDE vom uC-Hersteller > der Wahl mit Beispielen Libraries Tutorials (dazu gehört sicher > Arduino, aber eben auch LPC/mbed oder LCPXpresso/gcc) und dem Einstieg > von unten mit Datenblatt gcc Startup-Code / Linker-Skripten ... Wenn der Anfänger keinen Arduino und keinen vorgekauten Code will, dann muss er sich wohl oder übel mit der Toolchain befassen. Und die vorgefertigten (GNU-kompatiblen) Startup-Scripte von ST darfst du nicht legal für deine eigenen Projekte benutzen, solange du nicht die richtige IDE benutzt. (Dass man das trotzdem kann, ist eine andere Sache.) Und weder sind der Startup-Code und die Linkerscripte trivial, noch sind sie leicht zu finden. > Ich wollte nur so pauschalen Aussagen entgegentreten: > > S. R. schrieb: >> AVR ist deutlich einfacher zum Laufen zu kriegen auf ner nackten >> Hardware als ein ARM Tja, und dabei hast du Unmengen Stuss erzählt. Und damit eigentlich gezeigt, dass diese pauschalen Aussagen doch mehr Wahrheit beinhalten, als du zugeben möchtest. Auf einer nackten Hardware brauchst du für einen AVR: - korrekt gesetzte Fuses (für Anfänger schwer genug) - C-Datei - korrekte Compilerparameter alles andere wird vom avr-gcc mitgeliefert und ist problemfrei. Und für einen ARM: - funktionierendes Linkerscript (Hersteller/Datenblatt) - funktionierenden Startup-Code (Hersteller/Datenblatt) - CMSIS-Header mit den Registerbeschreibungen (Hersteller, nicht zwingend aber empfehlenswert) - C-Datei - korrekte Compilerparameter die ersten drei Punkte sind für Anfänger schlicht unmöglich selbst zu erfüllen, und von Hersteller zu Hersteller sehr unterschiedlich. Finde mal die CMSIS-Header von ST, nur so als Beispiel. Da ist nix anfängerfreundlich. Wenn man sich da mal durchgebissen hat, nachvollziehbar. Aber nix, wenn man in Hard- und Software auf einem fremden Gebiet einsteigt, selbst wenn man schon fließend C kann.
WehOhWeh schrieb: > ich hab einen PIC32MX250 auf > einem Breadboard inklusive GLCD, USB und Segger J-Link Nur aus Neugier: Warum nimmst Du einen J-Link statt dem Pickit3 ? /regards Andreas
S. R. schrieb: > Auf einer nackten Hardware brauchst du für einen AVR: > - korrekt gesetzte Fuses (für Anfänger schwer genug) Genau das braucht man bei einem LPC nicht (ARM oder 8051), selbst wenn der Anfänger es geschafft hat die PLL so zu setzen, das nichts mehr läuft, kommt er immer noch mit dem ROM-UART-Bootloader rein. Dank internem Oszillator muss man auch keinen externen dranhalten wie beim AVR für die Rettung. Hier wurde noch kein einziger LPC gebrickt. Das hat aber wieder nichts mit AVR oder ARM zu tun sondern mit dem Hersteller: bei Atmel sind die 8051 und AVR gleich schnell verfused.
Hier wurde auch noch nie ein AVR "gebrickt". (Und die Angabe mit dem Hersteller ist auch ungenau. Einen Atmel SAM3X zu verfusen dürfte auch ziemlich schwierig sein.)
peter schrieb: >> http://www.mikrocontroller.net/link/ebay/221606981761 >> >> @ Matthias,@google >> >> Das Teil mit der von euch angegebenen Software wird zum Leben erweckt. >> Es soll eigentlich nur Lichttechnik auf Modellen steuern. >> da ist der Preis von 5 Euro preiswert. >> Es wird so wie es ist eingesetzt, können natürlich auch 10 werden. > > Was is's nun,geht das Teil oder nicht? > Das viele Wirrwarr von Meinungen ist nicht zu verstehen! Leute, ist Regen Nass? Heute ist Montag? Mein Hund hat Durchfall! Ich bitte Euch,ist das Teil einfach Nutzbar. Ist doch ein Bootslader drin? Danke
peter schrieb: > Ich bitte Euch,ist das Teil einfach Nutzbar. > Ist doch ein Bootslader drin? Ja, da ist ein Bootloader drin (zumindest war es bei meinem so). Das Teil ist ein ganz normales Arduinomodul. Ulli
Lothar schrieb: Dank > internem Oszillator muss man auch keinen externen dranhalten wie beim > AVR für die Rettung. Hier wurde noch kein einziger LPC gebrickt. Das ist doch ein Argument aus dem letzten Jahrhundert! Ich habe in den letzten 20 Jahren vielleicht 20 Projekte mit einem AVR durchgezogen. Bin also kein Hardcore-Elektroniker (bin mehr Modellbauer). In der Zeit habe ich mich aus noch keinem einzigen ausgesperrt, obwohl alle mit externem Quarz betrieben wurden. Früher (TM) bedurfte es noch etwas mehr Konzentration beim Fuse setzen. Heutzutage gibt es Fuserechner im Netz und HowTos und anständige Software. Wer da noch die Fuses falsch setzt sollte sich ein anderes Hobby suchen oder nicht so viel saufen. Natürlich muss sich so mancher wundern, weshalb das mit den Fuses bei den AVRs so gemacht wird. Positiv ausgedrückt: Das ist der Charme alter Technologie. Trotzdem zum Anfangen immer noch eine der besten Mikrocontroller. Habe es vor langer Zeit mal mit PICs versucht. Da hatten mich die (bessere?) Hardwarefeatures gelockt. Damals habe ich noch in Assembler programmiert. Das ist jedoch bei den PICs eine einzige Katastrophe! Und PICs mit C kommt für mich nicht in Frage, da es keine ordentliche kostenfreie Software gibt (oder gab?) Ich kann den TO zu seiner Entscheidung nur beglückwünschen. Damit macht er auf keinen Fall etwas falsch! Ulli
Lothar schrieb: > Ich wollte nur so pauschalen Aussagen entgegentreten: > S. R. schrieb: >> AVR ist deutlich einfacher zum Laufen zu kriegen auf ner nackten >> Hardware als ein ARM Da gibts nix entgegenzutreten, das ist und bleibt so, solange ARMs Unmengen an Funktionen enthalten, die kein Hobbybastler und erst recht kein Einsteiger je benötigen wird. Das hier groß aufgeblasene Fuse-Problem hätte sich mit der Einführung der Xmegas auch erledigt. 99% der typischen Bastlerprojekte kann man mit der eingebauten, genauen, voreingestellten internen 2 MHz Takterzeugung erledigen.
peter schrieb: > Ich bitte Euch,ist das Teil einfach Nutzbar. > Ist doch ein Bootslader drin? Was regst Du Dich auf, wurde doch schon beantwortet. Matthias schrieb: > Habe mir einen Arduino Nano Clone bestellt, hier > http://arduino.cc/en/Main/Software die Arduino IDE heruntergeladen und > damit schnell Ergebnisse erzielt. Wenn man schnell Ergebnisse erzielen kann, wird das Teil wohl nutzbar sein. Allerdings bin ich wg. Stromverbrauch der Arduino Platine (Serial-USB Wandler usw.) sehr schnell dazu übergangen, den Nano nur noch als ISP zu nutzen und damit die Roh-Chips zu programmieren (mit der gleichen Software). Mit der Programmierplatine inkl. versch. Chip-Shields kann ich so die versch. Roh-Chips ohne Umsteckerei direkt programmieren und testen.
@ Ulli (Gast) >Früher (TM) bedurfte es noch etwas mehr Konzentration beim Fuse setzen. >Heutzutage gibt es Fuserechner im Netz und HowTos und anständige >Software. Wer da noch die Fuses falsch setzt sollte sich ein anderes >Hobby suchen oder nicht so viel saufen. Oder schlicht und ergreifend einen ganz normalen Programmieradapter ala AVR ISP MK II oder ähnlich mit AVR Studio & Co nutzen. Dort sind die Fuses ohne dreimal umrechnen und fummeln direkt sichtbar. Und keiner muss auf RSTDSBL clicken. Es gibt da sogar eine Warnung, wenn man es doch tut. Und schon ist das Problem gelöst. Ich hab in meiner Bastler- und Profikarriere bestenfalls 1-2 AVRs verfused. Und warum? Weil ich mit einem Frickeladapter und Frickelsoftware die Fuses gesetzt hatte! >Positiv ausgedrückt: Das ist der Charme alter Technologie. Schau dir EEPROMs und Röhren an, die haben auch Charme! >Trotzdem zum Anfangen immer noch eine der besten Mikrocontroller. Yep!
AVR stirbt. Das ist ein Pferd das ich nicht satteln würde. Ich bastel gerade mit diesem Board: http://www.st.com/web/en/catalog/tools/PF260319 Auf der Embedded World hab ich dann herausgefunden dass es dazu eine freie Lizenz von ARM für deren MDK gibt. Das nehm ich her, weil da einfach alles von Anfang an lief. siehe http://www2.keil.com/stmicroelectronics-stm32/mdk
@ DIL24 (Gast)
>AVR stirbt.
Totgesagte leben länger ;-)
Ohne Frage sind die "übersichtlichen" Controller für den Einstieg einfacher. Wer aber die Zusammenhänge von startup, linker usw. für den STM32 und sicher auch andere ARM verstehen will, für den gibt es zum Beispiel so etwas: http://fun-tech.se/stm32/OlimexBlinky/mini.php Hier im Abschnitt: 0x09 The mini example ist alles super erklärt und man kann es leicht nachvollziehen und darauf aufbauen. Damit kann man sich dem ARM schon sehr viel mutiger annähren.
hp-freund schrieb: > Wer aber die Zusammenhänge von startup, linker usw. für den STM32 und > sicher auch andere ARM verstehen will, für den gibt es zum Beispiel so > etwas: > > http://fun-tech.se/stm32/OlimexBlinky/mini.php Das ist didaktisch wertvoll für den Einstieg! Besser geeignet als tausend Arduino libs.
DIL24 schrieb: > AVR stirbt. Du meinst so wie der hp-freund schrieb: > Wer aber die Zusammenhänge von startup, linker usw. für den STM32 und > sicher auch andere ARM verstehen will, für den gibt es zum Beispiel so > etwas: > > http://fun-tech.se/stm32/OlimexBlinky/mini.php Das ist ja ein cooles Projekt, aber ich denke einen blutigen Neuling wird es bei der ganzen "__attribute__" und "section()" Orgie etwas abschrecken. Dazu kommt, dass eigtl. Null auf die Hardware eingegangen wird. Eher geeignet für jemanden der schon mit Hintergrund umsteigt. Für jemanden der noch nie einen µC aus der Nähe gesehen hat bleibt arduino einfach Sieger. Wenn man für nen ARM ein ähnliches plug&play system will, dann kostet das ein vielfaches. Gerade wenn man auf einem OS arbeitet, dass nicht im Mittelalter feststeckt hust CDC-Treiber hust, dann braucht man nichtmal eine feste Installation von irgendwas.
DIL24 schrieb: > Auf der Embedded World hab ich dann herausgefunden dass es dazu eine > freie Lizenz von ARM für deren MDK gibt. Das nehm ich her, weil da > einfach alles von Anfang an lief. siehe > http://www2.keil.com/stmicroelectronics-stm32/mdk Tolle Info! Würd' ich dann damit kombinieren: http://de.farnell.com/stmicroelectronics/nucleo-f091rc/entw-board-stm32f091rc-stm32-nucleo/dp/2456785 Hat 4faches RAM und Flash, außerdem CAN. und für die Arduino Fans: Extension Arduino Uno Revision 3
:
Bearbeitet durch User
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.