Die Open-Source-Entwicklungsumgebung PlatformIO erlaubt den schnellen Einstieg in die Entwicklung eingebetteter Systeme, wobei auf wichtige Features wie Debugging oder Versionsverwaltung nicht verzichtet werden muss. Im Vergleich zu der deutlich bekannteren Arduino-IDE wird eine Vielzahl an Controllern und Entwicklungsboards diverser Hersteller unterstützt.
PlatformIO nennt als größten Vorteil des Projekts die Möglichkeit eine breite Unterstützung für mehrere Plattformen zu realisieren, ohne dass sich Nutzer um die Installation, Einrichtung und Verwaltung mehrerer Entwicklungsumgebungen kümmern müssen. Auch die Zusammenarbeit mehrerer Entwickler unabhängig von den verwendeten Betriebssystemen wird ermöglicht.
Hierzu werden für jedes Projekt wichtige Informationen über die verwendete Hardware in einer Konfigurationsdatei hinterlegt, PlatformIO übernimmt dann die plattformspezifische Einrichtung im Hintergrund. So kann stets in bekannter Umgebung entwickelt werden. Heute wurde neben der Unterstützung diverser NXP i.MX-Boards auch die Nutzungsmöglichkeit von Zephyr und mbed bekannt gegeben. Damit werden mittlerweile 35 Plattformen und 806 Boards unterstützt, wobei zahlreiche Beispiele und Bibliotheken hinzukommen.
Christoph B. schrieb:> Die Open-Source-Entwicklungsumgebung PlatformIO erlaubt den schnellen> Einstieg in die Entwicklung eingebetteter Systeme
Nein, PlatformIO erlaubt einen schnellen Einstieg in PlatformIO und
verhindert die Einarbeitung in embedded Systems, weil man auf das
beschränkt wird, was PlatformIO vorgibt.
Immerhin erlaubt PlatformIO, dass birki schnell wieder einmal einen
Beitrag schreibt, der keine Sau interessiert.
Higo schrieb:> dann mach‘s doch besser.
Mache ich doch. Ich schreibe keine "Neuigkeiten", die keine sind.
> Ich habe keinen Mehrwert durch den ersten Post bekommen, aber geschadet> hat‘s auch nicht. Wo ist das Problem?
Nein, außer etwas Traffic und Verärgerung bei vielen, die ihre Zeit mit
dem leeren Gesülze verschwenden, schadet es nicht. Mehrwert haben birkis
Buchstabenansammlungen nie, und trotzdem ist Andreas stolz darauf, damit
einen Anschein von Aktualität zu erwecken.
Miss Piggy schrieb:> Nein, PlatformIO erlaubt einen schnellen Einstieg in PlatformIO und> verhindert die Einarbeitung in embedded Systems, weil man auf das> beschränkt wird, was PlatformIO vorgibt.
Welche Embedded Systems? Als gäbe es irgendeine allgemeingültige
universelle Einarbeitung. Bei jedem Hersteller und jedem Mikrocontroller
Typ muss man den ganzen Mist mit dem Datenblatt wieder von neuem
angehen. Und sich jedes mal neu in die jeweiligen Bibliotheken des
Herstellers einarbeiten.
Das ist nicht die Lösung sondern das lästige Problem der Entwickler
Welt. Wenn es Wege gibt wo höhere universelle Abstraktionen den Zugang
erleichtern und es Fälle gibt wo die Vorteile gegenüber den
einschränkenden Nachteilen überwiegen, dann hat man schon eine
Existenzberechtigung für Arduino und Co.
Auch wenn es das große lästige Problem nicht vollständig löst da es
Nachteile mit sich bringt.
Miss Piggy schrieb:> Nein, außer etwas Traffic und Verärgerung bei vielen, die ihre Zeit mit> dem leeren Gesülze verschwenden, schadet es nicht.
Du schreibst doch auch nur leeres Gesülze, das sicherlich den einen oder
anderen verärgert.
Und wenn dich dieser Artikel wirklich verärgert, liegt das Problem
definitiv bei dir und nicht beim Artikel.
Miss Piggy schrieb:> Christoph B. schrieb:>> Die Open-Source-Entwicklungsumgebung PlatformIO erlaubt den schnellen>> Einstieg in die Entwicklung eingebetteter Systeme>> Nein, PlatformIO erlaubt einen schnellen Einstieg in PlatformIO und> verhindert die Einarbeitung in embedded Systems, weil man auf das> beschränkt wird, was PlatformIO vorgibt.
Dir ist schon klar, dass PlatformIO nur eine IDE mit Buildumgebung ist,
um die unzähligen schrottigen Hersteller-Toolchains zu ersetzen, und
nichts mit Arduino oder sonstwas zu tun hat?
Dir ist auch klar, dass man auf keinerlei Vorgaben beschränkt ist,
sondern beliebige Compiler einfach einbinden kann?
vn nn schrieb:> Dir ist schon klar, dass PlatformIO nur eine IDE mit Buildumgebung ist,> um die unzähligen schrottigen Hersteller-Toolchains zu ersetzen
Naja, zu ersetzen durch eben die PlatformIO-Toolchain.
OK, man würde optimistisch annehmen, sie ist zumindest nicht schlechter
ist als die Toolchains der Hersteller, nur genauso Scheiße oder etwas
besser. Das Ist aber aber leider absolut nicht so.
Tatsächlich ist sie viel, viel, viel schlimmer...
Jeder, der auch nur andeutungsweise seinen Job als Programmiererer
beherrscht, kann das SEHR leicht erkennen...
Da sind Leute auf Dummenfang. Das ist alles. Leute, wenn ihr doof seid
und das wißt: laßt euch nicht fangen... Ihr seid nur leichte Beute für
diese Leute.
c-hater schrieb:> Naja, zu ersetzen durch eben die PlatformIO-Toolchain.
Offenbar kennst du das Zeug nichtmal, aber musst dich unbedingt drüber
äußern.
vn nn schrieb:> Dir ist auch klar, dass man auf keinerlei Vorgaben beschränkt ist,> sondern beliebige Compiler einfach einbinden kann?
So ist es. Die Toolchain wird darüber überhaupt nicht vorgegeben
(wenngleich es eine Reihe von vorhandenen gibt, die man einfach nehmen
kann, wenn man will). Letztlich ist es ein Wrapper um Scons, welches als
Buildsystem darunter werkelt.
Die IDE ist dabei komplett optional. Wenn man sowieso schon einen
Workflow für die Entwicklung hat (egal, ob das nun Eclipse, Vim, Emacs
oder was auch immer ist), setzt man das einfach nur als Build-Umgebung
darunter.
PlatformIO ist aber eine interessante Sache, denn im Gegensatz zu
etablierten Herstellern schaffen die Jungs und Mädels ein modernes build
system, einen Paketmanager für C, eine moderne IDE (VSCode oder Atom,
verglichen zu Keil µVision? Welten...) und viele andere Sachen zu
kombinieren.
Vieles läuft einfach out of the box und die Leute können sich auf das
Wesentliche konzentrieren - programmieren des targets.
Wir benutzen es nicht für die Firma und es würde mich sehr interessieren
ob es irgendjemand tut, aber es wird da eine Lücke bedient.
c-hater schrieb:> Jeder, der auch nur andeutungsweise seinen Job als Programmiererer> beherrscht, kann das SEHR leicht erkennen...
Na, dann zähl doch mal auf, woran du das erkennst.
c-hater schrieb:> Naja, zu ersetzen durch eben die PlatformIO-Toolchain.
Nein. PlatformIO ist einfach nur sowas wie make oder CMake. Aber das
verstehst du ja nicht.
Aber, so what? Wenn es mir nicht gefällt, geht ich halt zurück zu den
Hersteller-Tools, das ist jederzeit problemlos möglich.
c-hater schrieb:> Ihr seid nur leichte Beute für> diese Leute.
Ja ne is klar. Stellt sich nur die Frage, inwiefern "diese Leute" davon
profitieren, mich "erbeutet" zu haben?
Platform IO Ich habs versucht. Ich habe es wirklich versucht. Aber nein
Danke. Wir sind einfach nicht glücklich geworden miteinander.
Die Umgebung scheint mir teils etwas Buggy und dinge die vor einem
Update gut klappten klappen plötzlich nicht mehr. Und ich hasse es wenn
ich ein älteres Projekt öffne und es plötzlich nicht mehr geht.
Ich bin jetzt bei Visual Studio Code angekommen. Das ist zwar von
Microsoft aber selbst ich als Linuxer muss sagen das ist doch um Welten
besser.
Ich mag PlatformIO, vor allem als Plugin für Visual Studio Code.
Bei mir gerade installierte "Platforms": atmelavr, atmelsam,
espressif32, gd32v, ststm32 und windows_x86
Gestern erst habe ich mit PlatformIO ein Test-Projekt so modifziert das
es für STM32 L0, F1, F2, F3 und F4 baut, das Framework dabei ist
STM32Cube.
Dabei benutze ich nicht mal STM32, ich wurde nur gebeten die zu
unterstützen.
Was anderes wie Freescale Kinetis, Infineon XMC, Nordic nRF51, Silicon
Labs EFM32, TI MSP430, ..., ist nur ein paar Klicks entfernt.
Eigene Boards hinzuzufügen ist auch erstmal kein Akt, die .json Dateien
dafür enthalten jetzt nicht so viele Informationen.
Aufgeben musste ich allerdings vorerst den Versuch ATSAMC21 mit
PlatformIO zu benutzen.
Die atmelsam Plattform unterstützt leider nur die frameworks
arduino-sam, mbed, simba und zephyr.
Das durchaus vorhandene framework-cmsis-atmel wird leider nicht
unterstützt, dafür müsste ich das selber ändern.
Aber mal abgesehen davon, dass der Druck da nicht so groß ist da ich ja
auch Atmel Studio habe, das wäre machbar.
Nur wie ich gerade sehe gibt es sogar schon einen Pull-Request auf
Github genau dafür:
https://github.com/platformio/platform-atmelsam/pull/81
Open Source in Aktion.
jan schrieb:> Wir benutzen es nicht für die Firma und es würde mich sehr interessieren> ob es irgendjemand tut,
Wir tun es, vorrangig mit Konzentration auf das Build-System, wenngleich
einige Kollegen auch VSCode damit benutzen.
Otto schrieb:> Aber nein Danke. […]> Ich bin jetzt bei Visual Studio Code angekommen.
Lustig – wo doch PlatformIO IDE-mäßig vorrangig VSCode bedient …
zumindest sei der Support dafür besser als der für Eclipse. (Mich
bekommt von meinem Emacs als IDE keiner weg. ;-)
Jörg W. schrieb:>.....> Lustig – wo doch PlatformIO IDE-mäßig vorrangig VSCode bedient …> zumindest sei der Support dafür besser als der für Eclipse. (Mich> bekommt von meinem Emacs als IDE keiner weg. ;-)
Das habe ich auch lange gesagt mit meiner VI "IDE", aber ich wurde
schwach, und das "Remote Developmentpack" hat mir den Rest gegeben,
darum "never say never" :-)