Ein neues ESP32 von Espressif existiert, und es bricht mit Konventionen. Der ESP32-S31 kombiniert Gigabit-Ethernet, USB 2.0 Host-Support, eine Kamera-Schnittstelle, einen SD-Karten-Slot und einen parallelen LCD-Controller innerhalb eines Mikrocontrollers, der historisch gesehen ein bescheidener Chip mit einer Handvoll Kerne, einigen GPIO-Pins und vielleicht Wi-Fi war. Dieser Mikrocontroller fungiert nun wie ein Single-Board-Computer, und das Unternehmen hat seine CPU-Architektur deutlich verändert, um diese Transformation zu ermöglichen.
Die Liste der Peripheriegeräte sticht allein schon hervor. Sie umfasst einen 1000-Mbps-Ethernet-MAC, einen 8P8C-Verbinder (allgemein bekannt als RJ45) und einen externen PHY, der über die RGMII-Schnittstelle des Chips verbunden ist. RGMII ermöglicht Gigabit-Geschwindigkeiten; ohne ihn würde die Verbindung auf den älteren RMII-Standard zurückfallen. Ein USB 2.0 High-Speed OTG-Controller verfügt über eine Vollgrößen-Type-A-Buchse, die im Host-Modus 500 mA liefern kann. Der SDIO-Host-Controller bietet zwei Slots, während die DVP-Kamera-Schnittstelle 8 bis 16 Bit verarbeitet. Der parallele LCD-Controller unterstützt bis zu 24-Bit-RGB zusammen mit I8080- und MOTO6800-Panels. Der Rest der Liste umfasst zwei I2S-Controller mit Hardware-Bluetooth-Audio-Sync, vierzehn kapazitive Touch-Kanäle, einen CAN FD-Controller und vier MCPWM-Einheiten.
Die CPU und der Speicher
Die zentrale Verarbeitungseinheit ist der Ort, an dem Dinge wirklich ungewöhnlich werden. Zwei 32-Bit-RISC-V-Kerne laufen mit bis zu 320 MHz, jeder mit einer Gleitkommaeinheit ausgestattet. Ein Kern führt einen 128-Bit-SIMD-Datenpfad aus, während es einen separaten 40-MHz-Low-Power-Kern für weniger anspruchsvolle Aufgaben gibt. Jeder Kern erhält 32 KB des L1-Befehls-Cache, und sie teilen sich 64 KB des Datenschreibcaches. Die Speicherunterstützung ist großzügig: der S31 kann bis zu 64 MB PSRAM über eine 250-MHz-8-Bit-DDR-Schnittstelle aufnehmen und kann auch bis zu 256 MB Flash verwalten.
Die PSRAM-Schnittstelle ist nun unabhängig vom Flash, eine deutliche Verbesserung gegenüber dem ESP32-S3. Diese Isolation ermöglicht es dem Chip, PSRAM als einen eigenen, separaten Speicherbereich zu betrachten, ein Feature, das üblicherweise System-on-Chip-Designs und nicht Mikrocontrollern vorbehalten ist.
Die MMU-Frage
Seit Jahren bezeichnet Espressif seine Hardware als „MMU“, eine Bezeichnung, die auf den ESP32-S3 und den ESP32-P4 angewendet wurde. In beiden dieser Chips erfüllte die MMU jedoch eine begrenzte Rolle: Sie mappte lediglich externen Flash- und PSRAM-Speicher in den Adressraum. Sie bot keine Unterstützung für Seitentabellen oder Prozessisolation. Das neue S31 ist anders.
Das Datenblatt des S31 gibt an, dass die Kerne „Sv32-Adressübersetzung mit zwei Ebenen“ durchführen und „Maschinen-, Supervisor- und Benutzerprivilegmodi“ unterstützen. Sv32 ist das tatsächliche RISC-V-Seitenschema, und die Verfügbarkeit aller drei Privilegmodi ermöglicht es einem regulären Kernel, im Supervisor-Modus zu laufen, während Firmware darunter im Maschinenmodus sitzt. Diese Anordnung entspricht der Funktionsweise von RISC-V-basierten Linux-Maschinen.
Das eigene Linux-BSP des Unternehmens geht auf August zurück und basiert auf Buildroot und U-Boot, das mit einem Kernel, Device Tree und Root-Dateisystem ausgeliefert wird. Espressif beschreibt es als „noch nicht für den Produktionseinsatz empfohlen“, obwohl der eigentliche Mehrwert darin besteht, dass es funktioniert. Die Open-Source-Community hat schnell reagiert: ein Port betreibt Linux 6.18 im Supervisor-Modus mit funktionierenden Treibern für fast die gesamte Hardware, während ein anderer, basierend auf Linux 7.1, ein 800×480 LCD-Panel unterstützt, das ein Konsolenfenster anzeigt.
Was fehlt
Die Einschränkungen des Speichers sind offensichtlich, wenn man die Architektur des S31 betrachtet. Es verfügt über 512 KB SRAM, der im Chip integriert ist, sowie über zwei Varianten, die entweder 16 MB oder 32 MB PSRAM verwenden, das zusammen mit ihm verpackt ist. Die maximale Speicherkapazität des Geräts beträgt 64 MB, jedoch ist kein DRAM-Controller vorhanden, um diesen zu verwalten. Im Gegensatz dazu verfügt das Milk-V Duo S über volle 512 MB RAM.
Deshalb führen diese Linux-Builds den Kernel von Flash anstatt von PSRAM aus, da die Zuweisung von Speicher an den Kernel den bereits begrenzten Pool reduzieren würde. Das S31 fehlt eine GPU oder NPU, und obwohl der ESP32-P4 mit Video-Encodern und MIPI-Schnittstellen ausgestattet war, wurden diese entfernt, um Platz für zusätzliche Funkgeräte auf dem S31 zu schaffen. Das Gerät behält einen JPEG-Codec, einen 2D-Pixel-Prozessor und 2D-DMA bei, jedoch ist diese Hardware unzureichend, um ein vollständiges Linux-Desktop-System zu unterstützen.
Die Taktfrequenz
Die Taktfrequenz stellt zudem die Gigabit-Ethernet-Schnittstelle in Frage. Bei 320 MHz erhält man etwa 3.900 Prozessorschritte pro größtem Ethernet-Frame und rund 215 pro kleinstem Frame. Angesichts eines theoretischen PSRAM-Limits von 500 Megabyte pro Sekunde, könnte das Erreichen von Raten in der Größenordnung von Gigabit bei großen Datenübertragungen machbar sein, obwohl ich die Fähigkeit anzweifle, den Link vollständig mit vielen kleinen Paketübertragungen zu füllen.
Der Wireless Stack
Die an Bord befindlichen Funkgeräte machen dieses Gerät von vergleichbaren SBCs zum gleichen Preis abgesetzt, die oft einen On-Board-Wireless-Stack vollständig weglassen. Dieses Modell verfügt über 2,4-GHz-Wi-Fi 6, Bluetooth 5.4, einschließlich sowohl LE- als auch Classic BR/EDR-Unterstützung, sowie ein 802.15.4-Radio für Thread und Zigbee. Da Matter sowohl über Wi-Fi als auch über Thread funktioniert, gilt die Hinzufügung von Bluetooth Classic auf einem ESP32 als etwas Ungewöhnliches.
Ein Mikrocontroller, der wie ein SBC funktioniert
Der S31 verhält sich wie ein SBC durch eine Kombination aus Hardware und Software, die ihn von jedem anderen Produkt in der Espressif-Produktreihe unterscheidet. Gigabit-Ethernet, USB-Host-Fähigkeit und volle Linux-Unterstützung sind keine leeren Marketingversprechen; es sind Merkmale, die die Community im Laufe der Zeit bewertet, untersucht und verfeinert hat.
Ein Blick auf das Milk-V Duo S zeigt, dass der S31 in einem Punkt nicht mithalten kann: seine maximale RAM-Kapazität von 64 MB liegt unter den 512 MB des Milk-V. Der S31 macht dies jedoch wett mit einem Linux-BSP und einem CPU-Design, das echtes virtuelles Gedächtnis unterstützt, beides bedeutende Stärken.
| Feature | ESP32-S31 | Milk-V Duo S |
|---|---|---|
| RAM | Bis zu 64 MB PSRAM | 512 MB |
| Flash | Bis zu 256 MB | Nicht spezifiziert |
| CPU | Zwei 32-Bit RISC-V-Kerne | Nicht spezifiziert |
| Netzwerk | Gigabit Ethernet, Wi-Fi 6, Bluetooth 5.4, 802.15.4 | Nicht spezifiziert |
| Linux-Unterstützung | Veröffentlichtes BSP, Community-Ports | Nicht spezifiziert |
Eine mit einem Mikrocontroller gebaute kleine Recheneinheit hat inzwischen die Stelle von Einzelplatinencomputern eingenommen. Sie verfügt über Netzwerk-, Speicher-, Display- und Kamerastütze sowie ein Linux BSP, um all das zu unterstützen. Die eigentliche Prüfung besteht darin, ob das Ganze als eine zusammengehörige, funktionierende Plattform erhalten bleiben kann.
Bisher ist die Antwort bejahend. Die Linux-Ports funktionieren, die Community verfeinert ihre Bemühungen, und Espressif hat dieses Vorgehen mit einem veröffentlichten BSP unterstützt. Ob es sich zu einer für die Produktion geeigneten Plattform entwickelt, ist noch offen, aber die technische Grundlage wird sicherlich geschaffen.
Quelle: „Der neueste ESP32 kann Linux ausführen und kommt einem Raspberry Pi nahe“, xda-developers.com.
Das Notizbuch abonnieren.
Die besten Geschichten des Tages und jedes neue Urteil, in klarem Deutsch, um sieben im Postfach. Eine Mail am Tag, nicht mehr.

