Hallo! Ich habe bisher hauptsächlich auf diversen PIC-Controllern programmiert. Privat PIC18 und PIC24, früher auch PIC16, beruflich PIC32. Allerdings schiele ich schon länger interessiert in Richtung ARM. Vor Allem, wenn ich mir anschaue, welche Ausstattung der Boards und Controller ich da für's Geld bekomme. Nun habe ich ein ARM-Board gefunden, was schon ziemlich genau meinen Vorstellungen entspricht: http://olimex.com/dev/stm32-p107.html Da würde ich mir auf das Lochrasterfeld noch einen CAN-Tranceiver draufbraten, dann wär's perfekt. Meine Bastelprojekte gehen im Moment hauptsächlich in Richtung Hausautomation und Messen und Steuern über Netzwerk. Von Microchip bin ich es gewohnt, dass es für die Controller jede Menge fertige Libraries und Beispielprojekte für lau gibt, inklusive Dokumentation. Nun interessiert mich, was ihr so für Erfahrungen mit dem STM32 gemacht habt. Vor Allem interessiert mich, was es da von ST an fertigen Libraries gibt, möglichst natürlich umsonst: File-System-Lib für SD-Karte? -für USB-Stick? TCP/IP-Stack? -mit HTTP-Server? -mit NTP? USB-CDC? Und nein, ich habe nicht vor, irgendwas mit Embedded-Linux anzufangen.
Fertige Libraries ... naja, es gibt die STM32F10x Standard Peripherals Library von ST. Hat mir maechtig geholfen. Falls Du aber viel mit TCP/IP arbeiten willst: STM32 Controller haben kein PHY. Soweit ich weiss, haben nur die Controller von Texas diese miteingebaut.
heinzhorst schrieb: > Ich habe bisher hauptsächlich auf diversen PIC-Controllern programmiert. > Privat PIC18 und PIC24, früher auch PIC16, beruflich PIC32. Allerdings > schiele ich schon länger interessiert in Richtung ARM. Nun gut, ich mache seit einiger Zeit eine kleine Recherche, welcher Hersteller die besten Libraries inkl. GUI anbietet sowie eine RTOS Unterstützung. Angefangen habe ich mit den ARM Cortex-M3 Anbietern. Die ST Seite ist eine einzige Katastrophe - für mich unbedienbar und so richtig viele gute Beispiele und Application Notes zu den Libs hab ich da auch nicht gefunden. Dann habe ich mir mal Luminary/TI angeschaut - schon viel besser auch was Beispiele und Doku angeht. Sogar SafeRTOS im ROM deren High-End Produkts. Leider kann das auch nach hinten los gehen, weil man eben keinen Source hat und nicht weiß, wie lange sowas in Zukunft angeboten wird. Nur ein Modell hat SafeRTOS und das ist mir zu unsicher. Ansonsten kostet SafeRTOS zu viel Geld. FreeRTOS soll da auch laufen sowie auch lwIP, aber so richtig konsistent scheint mir das ganze nicht zu sein. GUI über Libs scheint bei TI auch ganz gut zu sein laut Postings, aber ich habe bisher kaum ein Demo-Video zum GUI gefunden. Und dann habe ich vor ein paar Tagen mal kurz von ARM weggeschaut und mir mal den PIC32 angeschaut. Da bietet Microchip anscheinend alle möglichen Libs aus einer Hand an (auch TCP/IP mit allen möglichen Protokollen) und das Ding scheint richtig von FreeRTOS unterstützt zu werden - es gibt sogar einen speziellen Guide zum PIC32. Das scheint mir momentan die interessanteste All-In-One Lösung zu sein. Aber da kann mir heinzhorst sicher mehr dazu sagen, was die Qualität der Microchip Libs angeht - würde mich echt freuen mal etwas von jemandem mit Erfahrung mit PIC32 zu hören! Das Demo hier ist zumindest sehr überzeugend: http://www.youtube.com/watch?v=X0BRUjjMuEw Grüße, Anguel
Beim STM32F10x gibt es jede Menge Libaries. Die user manual für die Cortex libaries ist die UM0427 http://www.google.de/#hl=de&q=UM0427+ARM%C2%AE-based+32-bit+MCU+STM32F101xx+and+STM32F103xx&aq=f&aqi=&aql=&oq=&fp=47cdb7b9cadaa4c7 schau Dir einfach mal das PDF an! Aufgrund des Funktionumfangs wird das ganze aber auch deutlich komplizierter wie bei einem Pic-16 Im übrigen nehme ich die Libaries nur für Zeitunkritische Dinge wie eine Initialisierung, im Betrieb ist der direkte Registerzugriff deutlich schneller!
@Anguel S. (anguel) >Angefangen habe ich mit den ARM Cortex-M3 Anbietern. Die >ST Seite ist eine einzige Katastrophe - für mich unbedienbar und so >richtig viele gute Beispiele und Application Notes zu den Libs hab ich >da auch nicht gefunden. Da solltest du entweder jemand fragen der sich auskennt oder etwas gründlicher suchen. ST biete die FW-Lib als ZIP inclusive Dokumentation und 91 Beispielen. Allerine für den UART 12 Beispiele und dem Timer 19 !!! Also für nahezu jedes Problem ein Beispiel. Ausserdem nutzen alle Beispiele ein un die selbe Library, somit kann man alles mit wenig Aufwand in das eigene Projekt kopieren und es klappt sehr schnell, vor allem kann man die Beispiele problemlos kombinieren.
Markus Müller schrieb: > Da solltest du entweder jemand fragen der sich auskennt oder etwas > gründlicher suchen. Gibt es kostenlose Libs für GUI, TCP/IP etc? Hast Du einen Link wo alles zu finden ist? Danke!
FreeRTOS mit TCP/IP und STM32 hab ich schon gesehen, hab grad keinen Link zur hand. FAT-Dateisystem für SD-CARD ist hier verlinkt STM32. Grafik-GUI, dafür hab ich mich bisher nicht interessiert.
Anguel S. schrieb: > Die > ST Seite ist eine einzige Katastrophe - für mich unbedienbar Das stimmt, seit dort alles seit paar Monaten total verflasht ist. Vorallen wenn man noch die alte Seite kennt, die übersichtlich und schnell war. Dennoch sind die FW-LIBs aus meiner Sicht gut brauchbar. Zu fast jedem Problem gibt es Beispiele darin. Ein Nachteil ist, dass alles für die STM Evaboards ausgelegt ist.
Matthias K. schrieb: > Ein Nachteil ist, dass alles für die STM Evaboards ausgelegt ist. Also diese auf die eigene Hardware umzustricken ist jetzt keine Schwerstarbeit. :)
Mehmet Kendi schrieb: > Falls Du aber viel mit TCP/IP arbeiten willst: STM32 Controller haben > kein PHY. Ist beim PIC32 auch so. Mache ich mir aber keine Gedanken drum weil die Ethernet-Schnittstelle auf dem Board von Olimex schon fix und fertig mit PHY und Magjack drauf ist. Die Stellaris von TI, die du meinst, hab ich mir auch schon angesehen. Kosten aber mehr als ein PIC32 oder ARM + externe PHY. Anguel S. schrieb: > Aber da kann mir > heinzhorst sicher mehr dazu sagen, was die Qualität der Microchip Libs > angeht - würde mich echt freuen mal etwas von jemandem mit Erfahrung mit > PIC32 zu hören! Ist recht gut. Auch die Beispielprojekte kann man wunderbar als Grundlage für eigene Projekte verwenden. Ist echt erstaunlich, was es da alles für lau gibt in den Microchip Application Libraries. Hatte eigentlich angenommen, dass das bei anderen Controllerherstellern auch so ist. Vielleicht bin ich dadurch auch etwas zu verwöhnt was den Umstieg auf andere Controller angeht. Das Beste ist allerdings, dass du die selben Libraries für PIC18, PIC24 und PIC32 verwenden kannst. Musst nur in einer übergeordneten Headerdatei den Controllertyp definieren und der Präprozesser baut das beim Make entsprechend zusammen. Dadurch kann man seine Projekte und Codeschnipsel innerhalb der einzelnen PIC-Familien mit minimalem Aufwand hin- und her portieren. Hat allerdings den Nachteil, dass gerade der Quellcode der hardwarenahen Komponenten manchmal etwas unübersichtlich ist. In einigen .c und .h-Dateien hat man das Gefühl, dass da mehr Makros und Präprozessordirektiven drin sind als ausführbarer Quellcode. In solche Dateien muss man aber eher selten rein um irgendwas zu ändern. Matthias K. schrieb: > Ein Nachteil ist, dass alles für die > STM Evaboards ausgelegt ist. Ist bei den Libs von Microchip auch so. Sind aber auch Templates dabei, um das an die eigene Hardware anzupassen.
heinzhorst schrieb: > Sind aber auch Templates dabei, > um das an die eigene Hardware anzupassen. Sind dabei, für verschiedene Entwicklungsumgebungen. Schau doch mal rein: http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zip Gibt noch weitere, z.B. für USB.
Mehmet Kendi schrieb: > Also diese auf die eigene Hardware umzustricken ist jetzt keine > Schwerstarbeit. :) nein, aber lässtig;-)
heinzhorst schrieb: > Ist echt erstaunlich, was es da > alles für lau gibt in den Microchip Application Libraries. Hatte > eigentlich angenommen, dass das bei anderen Controllerherstellern auch > so ist. Vielleicht bin ich dadurch auch etwas zu verwöhnt was den > Umstieg auf andere Controller angeht. Hört sich gut an, danke für die Infos :) Achso, bei ARM ist es auch so, dass da die guten Compiler verdammt teuer sind: Keil oder IAR ca. 4000 Euro. Natürlich gibt es auch Open Source, aber die optimieren den Code nicht so gut und außerdem muss man sich da echt auskennen und braucht ordentlich Zeit, um sich eine Entwicklungsumgebung zusammenzubauen. Was kostet eigentlich der Compiler für den PIC32?
Anguel S. schrieb: > Was > kostet eigentlich der Compiler für den PIC32? Der C32 von Microchip nichts. Allerdings sind dann nur zwei von fünf Optimierungsstufen verfügbar. Wenn du mehr brauchst sind ca. 900 USD fällig. Oder ca. 1500 USD für den (angeblich) noch besseren HI-TIDE Compiler.
heinzhorst schrieb: > Der C32 von Microchip nichts. :-) Hab grade einen sehr interessanten Vergleich gefunden, da vergleicht ein Chinese MC und Libs (Excel): http://www.microchip.com/forums/tm.aspx?m=530502
Anguel S. schrieb: > Nun gut, ich mache seit einiger Zeit eine kleine Recherche, welcher > Hersteller die besten Libraries inkl. GUI anbietet sowie eine RTOS > Unterstützung. BWL Diplomarbeit?
Anguel S. schrieb: > Hab grade einen sehr interessanten Vergleich gefunden, da vergleicht > ein Chinese MC und Libs (Excel): Da hat der Chinese aber sehr schlecht recherchiert. Zumindest was den PIC32 angeht. Abgesehen davon sind die hier verglichenen Parameter wenig aussagekräftig.
heinzhorst schrieb: > Der C32 von Microchip nichts. Allerdings sind dann nur zwei von fünf > Optimierungsstufen verfügbar. Wobei der C32 den GCC verwendet und der MIPS Prozessor seit Äonen fester Bestandteil des GCC ist.
A. K. schrieb: > Wobei der C32 den GCC verwendet und der MIPS Prozessor seit Äonen fester > Bestandteil des GCC ist. Stimmt. Microchip hat sich nur seinen Controller-spezifischen Krams um dem gcc drum rum gebaut.
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.