Python 3.11, Raspberry Pi 400-Alternative, Schwachstelle in u-boot, Arduino bietet Kompilationsprofi

Shenzhen Xunlong schickt mit dem Orange Pi 800 einen Konkurrenten des Raspberry Pi 400 ins Rennen, während die Arduino-Gruppe die Kompilierbarkeit von Sketches auf verschiedenen Systemen zu verbessern sucht. Im Hintergrund gibt es Neuerungen in der Welt der Software, der man sich als Elektroniker in der heutigen Zeit nach Möglichkeit nicht verschliessen sollte.

OrangePi PC 800 – es geht auch ohne Rpi

Prozessrechner taugen auch als Notcomputer – die Exfrau des Autors bekam während der Fertigung ihres neuen Rechners einen Raspberry Pi III und war mit der User Experience durchaus zufrieden. Mit dem Raspberry Pi 400 schickte die Raspberry Pi Foundation ein für dieses Markt vorgesehenes Produkt ins Rennen, dem Shenzhen Xunlong nun eine Alternative entgegenstellt.

(Bildquelle: Shenzhen Xunlong, via http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/orange-pi-800.html)

Interessant ist, dass sich auf der Webseite auch ein Bild findet, in dem der Hersteller Zweischirmbetrieb verspricht – noch ist unklar, ob es sich dabei nur um einen Marketinggag handelt.

(Bildquelle: Shenzhen Xunlong, via http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/orange-pi-800.html)

Laut cnx-software soll das System von Haus aus unter ChromeOS laufen – ob armbian die Platine ebenfalls unterstützt, ist noch nicht klar. Unklar ist auch der Preis – auf AliExpress ist das Board noch nicht zu haben.

Arduino: Build-Profile sichern Kompilierbarkeit von Sketches

Mit der Arduno CLI – hinter der Abkürzung verbirgt sich der Begriff Command Line Interface – wollte man im Hause Arduino eigentlich einen Weg schaffen, um die Kompilation von Sketches außerhalb der Arduino IDE auf eine reproduzierbare Art und Weise zu ermöglichen. Bisher scheiterte dies oft aufgrund inkompatibler Bibliothekskonfigurationen.

(Bildquelle: Arduino)

Mit Profilen schafft man nun auch an dieser Stelle Abhilfe. Ein Profil ist dabei eine – normalerweise sketch.yaml benannte – Datei, die der Compiler im Rahmen der Erzeugung einer ausführbaren Datei generiert:

1profile:
2 nanorp2040connect:
3 fqbn: arduino:mbed_nano:nanorp2040connect
4 platforms:
5 platform: arduino:mbed_nano (3.0.1)
6 libraries:
7 ArduinoIoTCloud (1.6.0)
8 Arduino_ConnectionHandler (0.6.6)
9 WiFiNINA (1.8.13)
10 Arduino_DebugUtils (1.1.0)
11 ArduinoECCX08 (1.3.6)
12 ArduinoMqttClient (0.1.5)

Andere Benutzer der Arduino CLI können derartige Profile dann an den Compiler übergeben. Dieser nutzt diese sodann zur Wiederherstellung der Bibliotheksumgebung, was – in der Theorie – die Kompilierbarkeit des Skripts garantiert.
Weitere Informationen hierzu finden sich unter der URL https://blog.arduino.cc/2022/06/06/arduino-cli-0-23-makes-your-projects-future-proof-with-build-profiles/.

Python 3.11 bringt erhebliche Geschwindigkeitssteigerung

Python 3 liegt in einer neuen Version vor. Die mit Abstand wichtigste Neuerung in den unter https://docs.python.org/3.11/whatsnew/3.11.html#summary-release-highlights bereitstehenden Release Notes verspricht, dass die neue Version wesentlich schneller arbeitet.

1Python 3.11 is up to 1060% faster than Python 3.10. On average, we measured a 1.25x speedup on the standard benchmark suite. See Faster CPython for details.

Entwickler dürfen sich außerdem auf einige Detailverbesserungen freuen, die man neiudeutsch als “quality of life improvements” zusammenfasst. So gibt es mit self beispielsweise einen neuen Weg, um Konstruktoren als ebendiese zu kennzeichnen:

1class MyLock:
2 def __enter__(self) -> Self:
3 self.lock()
4 return self
5
6
7
8class MyInt:
9 @classmethod
10 def fromhex(cls, s: str) -> Self:
11 return cls(int(s, 16))
12
13

Während sich diese neuen Funktionen auf PC-Seite sofort nutzen lassen, ist unklar, wann sie in den diversen Embeddedvarianten von Python zur Verfügung stehen.

Sicherheitslücken in uboot erlauben lokale DOS-Attacke

Im Embedded Linux-Bereich ist uboot als Bootloader weit verbreitet. Gegen die aktuelle Version des Produkts wurden nun zwei Schwachstellen gefunden. Spezifischerweise finden sich unter https://research.nccgroup.com/2022/06/03/technical-advisory-multiple-vulnerabilities-in-u-boot-cve-2022-30790-cve-2022-30552/ die folgenden CVEs:

1Technical Advisory Hole Descriptor Overwrite in UBoot IP Packet Defragmentation Leads to Arbitrary Out of Bounds Write Primitive (CVE202230790)
2Technical Advisory Large buffer overflow leads to DoS in UBoot IP Packet Defragmentation Code (CVE202230552)

Erfreulich ist daran lediglich, dass die Schwachstellen nur lokal ausnutzbar sind:

1This bug is only exploitable from the local network as it requires crafting a malformed packet which would most likely be dropped during routing. However, this it can be effectively leveraged to root linux based embedded devices locally.

MapleSoft: Verbesserung der Simulation von Maschinen mit mehreren Komponenten

Zu guter Letzt aktualisiert der in Kanada ansässige Virtualisierungsspezialist MapleSoft seine Arbeitsumgebung MapleSim.

(Bildquelle: MapleSoft)

Fokus der Neuerungen ist eine Verbesserung der Simulation “komplexer” Einsatzszenarien – spezifischerweise gibt es neue Möglichkeiten, um aus mehreren verschiedenartigen Komponenten zusammengestellte Maschinen zu simulieren:

1MapleSim 2022 bietet zusätzliche Funktionen, mit denen sich noch schneller realitätsnahe Modelle erstellen lassen, die Elemente aus einer Vielzahl von Fachgebieten enthalten. Dazu gehört eine neue Anwendung zur Erstellung benutzerdefinierter Konfigurationen für Mehrwegventile, die mehr Flexibilität bei der Konstruktion ermöglicht. Aktualisierungen mehrerer AddonBibliotheken bieten ebenfalls zusätzliche Modellierungsunterstützung, darunter neue Komponenten für die Modellierung von Strömungen durch Luftöffnungen und für wärmebedingte Strömungsänderungen in Luft und Wasser sowie die Möglichkeit zur Modellierung der Laminierung in Bahnführungssystemen.

Zuerst erschienen bei Mikrocontroller.net News

Quelle: Read More