News Eclipse-Entwicklerumfrage, MicroPython und Arduino-Cores auf Basis von Zephyr


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Tam H. (Firma: Tamoggemon Holding k.s.) (tamhanna)


Angehängte Dateien:

Lesenswert?

Wer mit dem Strom schwimmt, braucht für den Vortrieb weniger Energie. Die Nutzung populärer Technologien erleichtert Personal-Rekrutierung und das Finden von Hilfe bei Problemen. Außerdem gibt es Neuigkeiten aus der Embedded Python-Welt.

Eclipse Developer Survey - Programmiersprachen der Embeddedwelt

Spätestens nach dem Microsoft sein teuer aufgekauftes Echtzeitbetriebssystem zwecks Verschönerung der Bilanzen an die Eclipse Foundation abgetreten hat, spielt der Anbieter von Governance Solutions auch im Embeddedbereich eine erstklassige Rolle. Jährlich führt man deshalb Umfragen durch, um mehr über das Denken der P. T. Entwicklerschaft zu erfahren. Am Interessantesten ist im unter der URL https://outreach.eclipse.foundation/iot-embedded-developer-survey-2024 bereitstehenden Bericht mit Sicherheit die Verteilung der Echtzeitbetriebssysteme, die sich wie in der Abbildung gezeigt präsentiert.

Bildquelle: Eclipse Foundation.

Im Bereich der größeren Systemen ist interessant, dass sich Azure Sphere an immer geringerer Popularität erfreut - die Verteilung über die Linux-Distributionen zeigen wir ebenfalls.

Bildquelle: Eclipse Foundation.

Im Bereich der verwendeten Programmiersprachen gilt, dass das Wachstum des eigentlich als Lehrsprache vorgesehenen Python nach wie vor nicht aufzuhalten ist - sowohl auf großen als auch kleinen Geräten ist Guido van Rossums Elaborat am Vormarsch.

Bildquelle: Eclipse Foundation.

Eclipse Developer Survey – von Cloud, MQTT und Co

Eine hier nicht abgedruckte Befragung von Entwicklern nach ihren größten Pain Points ergab, dass die „Connectivity“ - also die Übertragung der Daten vom Sensor bis in die Cloud - nach wie vor eines der gravierendsten Probleme im Bereich der Arbeit mit Embeddedsystemen darstellt. Zur Lösung dieser Probleme setzt die P. T. Entwicklerschaft immer häufiger auf klassische Funknetze - 59 % der Entwickler gaben an, verschiedene Arten von vollwertigen Funktechnologien in ihren Systemen zu nutzen.

Bildquelle: Eclipse Foundation.

Lustig ist in diesem Zusammenhang die Frage nach dem auf höheren Ebene verwendeten Protokoll. Der Effekt des Winner-Takes-All zeigt sich hier besonders streng, das messageorientierte MQTT setzte sein Wachstum auch dieses Jahr ungehindert fort.

Bildquelle: Eclipse Foundation.

Als Gegenstelle kommen nach wie vor Cloud Systeme zum Einsatz - Amazon AWS wuchs, während Microsoft Azure (trotz nach Ansicht des Autors sehr innovativer Produkte) schrumpfte. Besonders interessant ist, dass die Schrumpfung bei Google nur sehr langsam erfolgt - man hat sich ja vor einiger Zeit wefzig vom IoT-Cloudservice verabschiedet, weil dieser nicht genug Umsatz abwarf.

Bildquelle: Eclipse Foundation.

Eclipse Developer Survey – von Architektur, MCU und Co

Interessant ist auch die Frage, welche Prozessorarchitekturen in IoT-Systemen bevorzugt zum Einsatz kommen. X86 hatte hier in der Vergangenheit einen traditionellen Vorteil, weil insbesondere windowsbasierte Software auf einem X86er bzw. X64 er am Besten funktioniert. Dieses Jahr änderte sich dies allerdings wie in der Abbildung gezeigt.

Bildquelle: Eclipse Foundation.

Lustig sind die Ergebnisse im Bereich der Mikrocontrollerarchitekturen. Die Abbildung zeigt, dass man im Hause Eclipse nach wie vor davon ausgeht, dass alle ESP32-Cores auf einem Tensilica-Kern basieren. In der Praxis könnte der Anteil der sanktionssicheren RISC/V-Architekturen (Stichwort: GigaDevice) wesentlich höher ausfallen, als er in der Abbildung ist.

Bildquelle: Eclipse Foundation

Eclipse Developer Survey – Eine Frage der Sicherheit

Die Uptoniten betonten im Rahmen der erstmaligen Vorstellung des RP2350 an mehrerlei Stelle das hohe Sicherheitsniveau, das auf diesem Mikrocontroller basierenden Lösungen erreichen können. Diese Fokussierung ist aus marketingtechnischer Sicht durchaus gerechtfertigt - interessant ist auch die in der Abbildung gezeigte Verteilung über die verschiedenen im Markt befindlichen Sicherheitsstandards.

Bildquelle: Eclipse Foundation.

Bildquelle: Eclipse Foundation.

In straffem Kontrast zu dieser Feststellung steht allerdings, dass die Zertifikation bei der Auswahl eines Echtzeitbetriebssystems keine besonders hohe Rolle zu spielen scheint. Stattdessen sind andere Faktoren von größerer Bedeutung.

Bildquelle: Eclipse Foundation

Dieser Trend setzt sich dann auch im Bereich der „nativen“ Entwicklungswerkzeuge unverändert fort.

Bildquelle: Eclipse Foundation

MicroPython - Version v1.24.1 mit diversen Verbesserungen verfügbar.

Wohl durch die Erfolge der hauseigenen Programmiersprache im Eclipse Foundation-Testbericht animiert, veröffentlichte das MicroPython-Entwicklerteam eine neue Version der hauseigenen Runtime, die verschiedenste Fehler zu beheben sucht. Wie in der Abbildung gezeigt handelt es sich dabei vor allem um Probleme, die auf den ESP32- und Raspberry Pi Pico-Plattformen auftreten.

Bildquelle: https://github.com/micropython/micropython/releases/tag/v1.24.1

Weitere Informationen und ein Download-Link für die aktualisierten Runtimefiles finden sich - wie immer - in der als Bildquelle angegebenen URL.

ARM CMSIS - Entwicklung im Zeichen der Layer

Wer in der Vergangenheit mit Yocto Linux zu tun hatte, kennt das Konzept der „Software Layers“ mit Sicherheit. Im Hause ARM arbeitet man nun daran, die CMSIS-Entwicklungsumgebung ebenfalls mit Layers auszustatten bzw. die Nutzung der Lehr-Funktionalität unter der Entwicklerschaft zu forcieren. Im Rahmen eines gut 40 Minuten langen Webinars stellte man deshalb „Lösungen“ vor - die Abbildung zeigt, wie man sich im Hause ARM die Nutzung von Layers zur Steigerung der Systemflexibilität vorstellt.

Bildquelle: https://www.arm.com/resources/webinar/cmsis-solution

Wer die Präsentation live ansehen möchte, findet unter der als Bildquelle angegebenen URL ein Tape.

Arduino: Erste Betaversionen der Zephyr-basierten HAL verfügbar

ARMs Entscheidung, die MBED-Plattform abzukündigen, erwies sich für die Italiener als ein wahrer R40-Treffer ins Kontor - der Gutteil der hauseigenen Boards nutzte nämlich ein auf dieser Plattform basierendes Softwaremodell. Unter der URL https://github.com/arduino/ArduinoCore-zephyr gibt es seit wenigen Stunden eine Preview eines „Next Generation-Cores“, der als Echtzeitbetriebssystem statt MBED das von der Linux Foundation vorangetriebene Zephyr verwendet.

Interessant ist an der im GitHub-Repositorium bereitstehenden Beschreibung, dass das „Laden“ bzw. die Initialisierung einer auf dieser Plattform basierenden Software modularisiert erfolgt. War eine Arduino-Applikation bisher prinzipiell ein monolithisches Kompilat, so findet sich nun ein Zephyr-Kern, der den Benutzercode in Form einer elf-Datei lädt und zur Ausführung bringt:

1
Unlike traditional Arduino implementations, where the final output is a standalone binary loaded by a bootloader, this core generates a freestanding elf file. This file is dynamically loaded by a precompiled Zephyr firmware, referred to as the loader.
2
The loader is responsible for managing the interaction between your sketches and the underlying Zephyr system. After the initial bootloader installation, the loader takes over the sketch loading process automatically.
3
To ensure flexibility, the loader project is designed to be generic. Any necessary modifications for specific boards should be made in the corresponding DTS overlay or a special fixup file, using appropriate guards to maintain stability.
4
The behavior of the loader can be adjusted through the Mode menu:
5
     Standard: The sketch is loaded automatically. 
6
     Debug: The user must type sketch in Zephyr's shell, which is accessible via the default Serial.

CircuitPython: Unterstützung für Raspberry Pico 2W

Was wahrscheinlich niemanden groß wundern dürfte, ist eingetroffen – Limor Frieds Frauen unterstützen fortan, wie in der Abbildung gezeigt, auch den Raspberry Pi Pico 2W.

Bildquelle: Adafruit.

Die offizielle Ankündigung diese Änderung liest sich folgendermaßen:

1
The number of supported microcontrollers and Single Board Computers (SBC) grows every week. This section outlines which boards have been included in CircuitPython or added to CircuitPython.org.
2
3
This week there were two new boards added:
4
    Bradán Lane STUDIO Coin M0 (siehe https://circuitpython.org/board/bradanlanestudio_coin_m0/)
5
    Pico 2 W (siehe https://circuitpython.org/board/raspberry_pi_pico2_w/)

BananaPi: Quelloffener OpenWRT-Router verfügbar

Zum Abschluss dieses News-Roundups noch eine sowohl Software- als auch Hardware bezogene Meldung. Der sich seit einiger Zeit angekündigte OpenWRT-Router steht ab sofort auf AliExpress zum Erwerb bereit.

Bildquelle: https://www.aliexpress.com/item/1005007795779282.html?gatewayAdapt=4itemAdapt


: Bearbeitet durch NewsPoster
von N. M. (mani)


Lesenswert?

@tamhanna: die letzten beiden Bilder sind vertauscht. CircuitPython vs. 
BananaPi

: Bearbeitet durch User
von Patrick B. (pbeck)


Lesenswert?

Zu MQTT:

Wie und in welchen professionellen Geräten kommt das den bei euch zum 
Einsatz?

Privat in Hobbyprojekten für z. B. Füllstand melden habe ich das schon 
eingesetzt.

Geschäftlich komme ich aus dem Sondermaschinenbau. Es bieten alle großen 
Automatisierungshersteller Systeme (Siemens, Beckhoff, etc.) an, aber 
wenn mal ein Kunde Informationen von der Maschine braucht wird das eher 
über definierte MES-Schnittstellen realisiert.

Mich würde auch interessieren ob z. B. immer QOS 0 implementiert wird - 
scheint bei AWS nicht zwangsläufig der Fall zu sein. Wenn Meldungen 
verloren gehen, wäre das in meinem Verständnis ein Problem. 
Beziehungsweise wie geht man mit diesem Verhalten um?

Interessant finde ich auch das Thema Verschlüsselung bzw. 
Authentifizierung . Ist das mittlerweile so weit das das alle Systeme 
unterstützen oder sagt man sich bei einer Parkplatzüberwachung ist das 
unwichtig?

Grüße Patrick

von Stefan (sstaub)


Lesenswert?

Leider tritt Arduino mit Zephyr auf der Stelle, das Repository ist schon 
2 Monate alt. Nach wie vor keine Unterstützung für die OPTA SPS, unter 
mbed ist die Netzwerkschnittstelle für klassische TCP Anwendungen 
unbrauchbar.

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
Noch kein Account? Hier anmelden.