Howdy, habe ausgiebig die Threads studiert, muss jedoch noch einmal auf die allseits beliebte Frage zurück kommen: wie anfangen? Habe mich mittlerweile auf STM32 bzw. LPC1x festgelegt. Die ursprünglich mal angedachten Arduinos sind komplett raus. Bei den Cortex-M- Boards scheint die Toolchain-Hölle zumindest für Hobbyisten immer noch zu existierien. Auf der anderen Seite gibt es sowas wie mbed, die ihre Tools über ein Web-Frontend verfügbar machen und den ISW ("it simply works")- Anspruch haben. Dafür ist man aber auf den LPC1768 bzw. LPC11U24 beschränkt. Gut, kosten auch nicht mehr die Welt, aber wenn man später mal ein paar mehr von den Teilen braucht und es pro Board 20€ ausmacht, wäre das schon überdenkenswert.... Bei mbed gibt es eine Reihe von C++ Beispielen, die mir gut gefallen haben. Speziell angeschaut habe ich mir die 1-wire Implementierungen, die ich quasi unverändert einsetzen kann. Zumindest bei den ST-Libraries und Beispielen habe ich sowas nicht gefunden. Könnte man so etwas prinzipiell eher leicht oder schwer portieren? Ich könnte mir vorstellen, dass die Sachen eigentlich unverändert auch mit einer anderen Toolchain laufen müssten. Letztendlich läuft das alles auf die Abwägung hinaus, etwas Einfaches, aber Überdimensioniertes und nicht debugging-fähiges zu haben, oder aber den offensichtlich immer noch sehr steinigen Weg der eigenen Toolchain zu gehen, dafür aber die freie Wahl der Ziel-Hardware, sowie Debuggingmöglichkeit zu haben. Dann gibt es noch die Gerüchte, dass es für 150 USD eine gute und einfach zu bedienende, aber doch leistungsfähige Toolchain geben soll. Wäre bereit, das auszugeben, wenn Debugging und Simulator dabei wären. Was könnt ihr mir raten? Ich könnte mir vorstellen, dass es eine fertig konfigurierte Lösung für Windows Rechner für diese allgemeine Aufgabe gibt.
Mein Tipp: stm32F4Discovery für 12 Euro + Coocox (umsonst) Sehr einfach einzurichten und klappt in der Regel auf Anhieb. :-)
Kinder, Kinder, Toolchain, Web-Frontend, Gigahertz Superprozessoren… Kein Wunder, dass jede fortschrittliche Kultur bisher immer wieder untergegangen ist.
Wow! Dieses Coocox sieht wirklich gut aus! Habe mal die Webseite durchgesehen und bin beeindruckt. Werde das mal sofort probieren! Hätte aber noch folgende Fragen: - man braucht noch ein Interface um die Verbindung zum Board herzustellen. Was empfiehlt sich da so? Kann mit den Schlagworten wie JTAG etc. noch nicht so viel anfangen. - kriegt man printf-Ausgaben auch über diesen Weg auf ein Terminal auf den PC? (Debug-)Logging ist für mich sehr wichtig. - man braucht noch den gnu-Compiler extra. Ist ja kein Problem, bedeutet das auch, dass man in C++ programmieren kann? - Coocox scheint eine Firma zu sein. Wieso geben die die IDE kostenlos raus? Wie ist das Geschäftsmodell? Nicht dass man dann später zahlen muss, wenn man was "Richtiges" machen will.... :-) ((Werde Montag mal gleich ein Board bestellen. Kann das über meine Firma abwickeln. Welcher Händler ist hier angezeigt? )). Grüße Computador
> - man braucht noch ein Interface um die Verbindung zum Board > herzustellen. Was empfiehlt sich da so? Kann mit den Schlagworten wie > JTAG etc. noch nicht so viel anfangen. Das STM32F4Discovery ist zugleich auch ein Programmiergerät. Es wird per USB an den PC angeschlossen > - kriegt man printf-Ausgaben auch über diesen Weg auf ein Terminal auf > den PC? (Debug-)Logging ist für mich sehr wichtig. Klar. Du brauchst ev. noch einen RS232 zu TTL-Wandler. Der µC hat natürlich einen Usart > - man braucht noch den gnu-Compiler extra. Ist ja kein Problem, bedeutet > das auch, dass man in C++ programmieren kann? Du brauchst die GCC-Toolchain. Die läd man kostenlos runter und macht sie der Coocox-IDE bekannt. > - Coocox scheint eine Firma zu sein. Wieso geben die die IDE kostenlos > raus? Wie ist das Geschäftsmodell? Nicht dass man dann später zahlen > muss, wenn man was "Richtiges" machen will.... :-) Ist definitiv umsonst. Und zwar unbegrenzt. Weitere Infos auf www.coocox.org > ((Werde Montag mal gleich ein Board bestellen. Kann das über meine Firma > abwickeln. Welcher Händler ist hier angezeigt? )). Kommt drauf an. Ich habe meins bei Mouser damals bestellt. Dort kostet es 12 Euro. Die Versandkosten sind aber erst ab 75 Euro umsonst. Ansonsten gibt es diverse Versender für das Board
Jo, erst mal vielen Dank. >Ergänzung: >Man programmiert in c und nicht in c++ (Coocox) hmmm. Wieso geht C++ nicht? >> - kriegt man printf-Ausgaben auch über diesen Weg auf ein Terminal auf >> den PC? (Debug-)Logging ist für mich sehr wichtig. > >Klar. Du brauchst ev. noch einen RS232 zu TTL-Wandler. Der µC hat >natürlich einen Usart hmmm2. USART? mit seriellem Kabel via Pegelwandler zum Host? Der eine serielle SN haben muss? Das geht technisch natürlich, aber mein PC hat keine serielle SN. Seriell zu USB gibts natürlich, sollte aber doch nicht nötig sein? Ich dachte eigentlich, dass das über die SWD oder JTAG - Schnittstelle mit dem USB-Kabel gehen könnte. LG computador
> Seriell zu USB gibts natürlich, sollte aber doch > nicht nötig sein? 5 Euro für einen Wandler sind nicht mehr übrig? ;-) > Ich dachte eigentlich, dass das über die SWD oder JTAG SWD zum Debuggen und Flashen. Die serielle Verbindung mit einem Terminalprogramm macht man überlichweise mit einer seriellen Schnittstelle. Soweit ich weiß geht das nicht über die USB-Schnittstelle die auf dem Board ist. > Wieso geht C++ nicht? Wozu brauchst du denn c++? Mikrocontroller werden überlichweise mit c programmiert. lg jo
Hallo Jo, > 5 Euro für einen Wandler sind nicht mehr übrig? ;-) > Das wäre nicht das Problem. Was bedeutet das? Habe ich dann 2 USB-Ports belegt, einen für den Programmer und einen für die serielle Kommunikation? USB-Portmultiplexer wäre dann nötig, was hoffentlich gehen wird. > > SWD zum Debuggen und Flashen. Die serielle Verbindung mit einem > Terminalprogramm macht man überlichweise mit einer seriellen > Schnittstelle. natürlich. Die Boards, die ich bisher kenne, leiten das aber über die bestehende USB-Programmier-Verbindung in ein Terminalfenster der IDE. So macht das z.B. mbed, ebenfalls NETMF, und IMHO wäre das der Standard, wie man es macht. So hatte ich es eigentlich erwartet.... >> Wieso geht C++ nicht? > > Wozu brauchst du denn c++? Mikrocontroller werden überlichweise mit c > programmiert. Eigentlich nicht. Microcontroller verstehen kein C, sondern Bitmuster. C ist genauso wie C++ oder z.B. auch C# eine Möglichkeit, diese Bitmuster bequemer zu erzeugen. Warum jedoch C++ für hardwarenahe Programmierung C überlegen ist, kannst du z.B. bei Stroustrup nachlesen. Bei den alten AVRs war es noch im Wesentlichen Assembler, dann kam C, und bei den heutigen leistungsfähigeren Architekturen mit größerem Speicher sowohl für Proggies als auch Daten ist eine objektorientierte, hardwarenahe Sprache definitiv das Mittel der Wahl. Schau mal ein modernes RTOS an: Tasks, Semaphore, Queues, Mutexe - alles Objekte von Klassen, und das ist gut so. Schau auch mal bei mbed vorbei - dort sind nahezu alle Beispiele in C++. LG - computador
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.