Verkaufsstart des 5-Dollar-Mikrocontroller-Boards Raspberry Pi Pico 2
(raspberrypi.com)- Raspberry Pi bringt mit dem Raspberry Pi Pico 2 ein Board der zweiten Generation auf den Markt, das auf dem neuen RP2350 basiert, Leistung, Speicher, Sicherheit und Schnittstellen verbessert und dabei die Kompatibilität mit dem bestehenden Pico-Ökosystem beibehält
- Der zentrale Chip RP2350 umfasst zwei 150MHz Arm Cortex-M33, 520KB SRAM, TrustZone-basierte Sicherheit, signed boot, OTP, SHA-256-Beschleunigung, TRNG, aufgewertetes PIO, HSTX und Unterstützung für externes QSPI-PSRAM
- Der Pico 2 ist ein 5-Dollar-Board, das RP2350A mit 4MB externem QSPI-Flash kombiniert; ein Pico 2 W sowie Varianten mit vorinstallierten 0,1-Zoll-Headern werden noch vor Jahresende erwartet
- Die Entwicklungsumgebung wird ebenfalls erweitert: mit einem aktualisierten Pico SDK, MicroPython- und CircuitPython-Images, laufender Rust-Unterstützung, Hardware-Arbeit auf Basis von Trusted Firmware-M 2.1.0 LTS sowie Unterstützung für das Google Pigweed SDK
- Beim RP2350 können beim Booten statt der Arm Cortex-M33 auch zwei Hazard3 RISC-V-Kerne gewählt werden, was eine stabile Grundlage für Experimente mit RISC-V auf Raspberry-Pi-Boards schafft
Einführung des Pico 2 und grundlegende Änderungen
- Der Raspberry Pi Pico 2 ist das Mikrocontroller-Board der zweiten Generation auf Basis des neuen, von Raspberry Pi entwickelten Hochleistungs- und Sicherheits-Mikrocontrollers RP2350
- Im Vergleich zur bisherigen Pico-Serie bietet er einen höheren Core-Takt, doppelt so viel Speicher, stärkere Arm-Kerne, neue Sicherheitsfunktionen und verbesserte Schnittstellen
- Die Hardware- und Softwarekompatibilität zur bisherigen Pico-Serie bleibt erhalten
- Der Verkaufspreis beträgt 5 Dollar
Von RP2040 zu RP2350
- In den dreieinhalb Jahren seit der Einführung des ursprünglichen Pico und des RP2040 im Januar 2021 wurden vom Pico und Pico W zusammen fast 4 Millionen Einheiten verkauft
- Der RP2040 wurde in zahlreichen Drittanbieter-Entwicklungsboards und OEM-Produkten eingesetzt und fand auch Eingang in Produkte wie Flipperautomaten und Synthesizer
- Der RP2040 wurde als Mikrocontroller mit zwei 32-Bit-Kernen, On-Chip-RAM, einem programmierbaren I/O-(PIO)-Subsystem und einer deterministischen Bus-Fabric entwickelt
- Zu den RP2040-basierten Demos zählen Graham Sandersons DOOM-Port, Dmitry Grinbergs PalmOS-Port und Kevin Vances „CPU-less“ Commodore 64 cartridge
- Dem RP2040 fehlten On-Chip-Speicher, stromsparende Idle-Zustände und Package-Optionen; Nutzer forderten zudem schnellere Kerne, mehr RAM und Funktionen zum Schutz von Code
Chipspezifikationen und Packages des RP2350
- Der RP2350 ist im Vergleich zum RP2040 deutlich anspruchsvoller ausgelegt
- Die wichtigsten Spezifikationen sind:
- zwei 150MHz Arm Cortex-M33-Kerne mit Unterstützung für Floating Point und DSP
- 520KB On-Chip-SRAM in 10 gleichzeitig zugreifbaren Bänken
- Sicherheitsarchitektur auf Basis von Arm TrustZone for Cortex-M
- Unterstützung für signed boot
- 8KB On-Chip-Antifuse-OTP-Speicher
- SHA-256-Beschleunigung
- Hardware-True-Random-Number-Generator (TRNG)
- On-Chip-Schaltnetzteil und LDO mit niedrigem Ruhestrom
- 12 aufgewertete PIO-Zustandsmaschinen
- HSTX-Peripherie für schnelle Datenübertragung
- Unterstützung für externes QSPI-PSRAM
- Die Package-Optionen sind vielfältiger als das einzelne 7×7mm-QFN56 des RP2040
- RP2350A: 7×7mm QFN60, 30 GPIOs
- RP2350B: 10×10mm QFN80, 48 GPIOs
- RP2354A/RP2354B: Varianten mit jeweils integriertem 2MB stacked-in-package QSPI-Flash
- Der Preis des RP2350A liegt bei 0,80 Dollar im 3.400er-Reel beziehungsweise 1,10 Dollar als Einzelstück und damit 10 Cent über dem RP2040
- Der RP2350B kostet 10 Cent mehr als der RP2350A, die RP2354-Varianten 20 Cent mehr als die entsprechenden Modelle ohne Flash
- Der RP2350 soll noch vor Ende 2024 in großen Stückzahlen verfügbar sein; die Teilnahme am Sample-Programm kann über die Produktseite beantragt werden
Pico-2-Board und kommende Produkte
- Der Pico 2 kombiniert den RP2350A mit 4MB externem QSPI-Flash
- Der ursprüngliche Pico hatte 2MB externen QSPI-Flash
- Formfaktor und elektrische Eigenschaften sind mit dem ursprünglichen Pico-Design kompatibel
- Zum Start ist der Lagerbestand in den Vertriebskanälen noch begrenzt, aber der Pico 2 befindet sich gemeinsam mit Sony in full-rate production
- Mehrere Approved-Reseller-Partner nehmen Vorbestellungen und Backorders an; in den kommenden Wochen sollen regelmäßig neue Chargen ausgeliefert werden
- Noch vor Jahresende geplante Produkte sind:
- der drahtlos unterstützte Pico 2 W mit demselben Infineon 43439-Modem wie im Pico W
- Varianten von Pico 2 und Pico 2 W mit vorinstallierten 0,1-Zoll-Headern
Entwicklungswerkzeuge, Sicherheitszertifizierung und Dokumentation
- Zum Start von Pico 2 und RP2350 wurde das Pico SDK aktualisiert
- Neue MicroPython-Images und CircuitPython-Images stehen bereit
- Jonathan Pallant und Mitwirkende arbeiten daran, Rust-Sprachunterstützung auf die neue Plattform zu bringen
- Raspberry Pi arbeitet mit dem Trusted Firmware-Projekt zusammen, um den RP2350 zur Referenz-Hardwareplattform für Trusted Firmware-M 2.1.0 LTS zu machen
- TF-M liefert die Referenzimplementierung für PSA Certified auf Arm-v8-M-Chips
- Der RP2350 soll von einem zertifizierten unabhängigen Labor getestet werden
- Ziel ist das Erreichen von PSA Certified Level 2 vor dem Release im Oktober
- Gemeinsam mit Google wurde außerdem das Pigweed SDK mit nativer Unterstützung für Pico 2 veröffentlicht
- Pigweed-Middleware-Bibliotheken laufen auf Millionen Geräten, darunter Google-Pixel-Geräte und Nest-Thermostate
- Googles Ankündigung ist auf der announcement page zu finden
- Für den RP2350 steht ein umfassendes datasheet bereit
- Es gibt außerdem ein Tutorial zum Einstieg in die C/C++-Entwicklung mit der neu aktualisierten Raspberry Pi Pico Visual Studio Code extension
Signed boot und Security-Bounty
- Der Kern des Sicherheitsmodells des RP2350 ist signed boot
- Wenn die Sicherheit aktiviert ist, können nur Binärdateien gebootet werden, die mit einem privaten Schlüssel signiert wurden, der zum in OTP gespeicherten Hash des öffentlichen Schlüssels passt
- Wenn beliebige Codeausführung verhindert wird, wird auch das Auslesen des OTP-Inhalts deutlich schwieriger, einschließlich kryptografischer Schlüssel zum Schutz von Code
- Der RP2350 nutzt mehrere Techniken zum Schutz vor Fault-Injection-Angriffen
- Hardware-fast-glitch-detector
- ein zum Patent angemeldeter Redundancy-Coprozessor
- Schutz für Kontrollfluss- und Datenintegrität
- Raspberry Pi will Schwachstellen im Boot-Prozess finden und beheben, bevor der RP2350 in kritischen Anwendungen eingesetzt wird
- Vor dem Start wurden NewAE und Hextree mit einer Prüfung der Sicherheitsarchitektur beauftragt
- Für den ersten verifizierten Break des signed-boot-Prozesses wird eine Bounty von 10.000 Dollar ausgelobt
- Die erste Laufzeit beträgt einen Monat
- Wird kein Fehler gefunden, kann der Zeitraum verlängert werden
- Für weitere unterschiedliche Fehler können zusätzliche Bounties vergeben werden
- Details stehen im bounty program
- In Zusammenarbeit mit der Hacking-Konferenz DEF CON stellt Raspberry Pi RP2350-Hardware Sicherheitsforschern zur Verfügung
- Das diesjährige DEF CON badge basiert auf dem RP2350
- Hextree hat in begrenzter Stückzahl Boards für Experimente mit Power-Rails und elektromagnetischem Glitching hergestellt
Partnerprodukte auf Basis des RP2350
- Raspberry Pi hat im vergangenen Jahr gemeinsam mit Partnern Produkte auf Basis des RP2350 entwickelt
- Viele davon sind Upgrades bestehender RP2040-basierter Produkte, einige sind vollständig neu
- Beispiele, die zum Start oder innerhalb des nächsten Monats verfügbar sein sollen:
- 4D Systems: Hochleistungsdisplays der gen4-RP2530-Serie von 2,4″ bis 7,0″
- Adafruit: Metro RP2350 für Arduino-kompatible Shields, Feather RP2350 im Feather-Format
- Bus Pirate: die RP2350-basierten Open-Hardware-Debugging-Tools Bus Pirate 5XL und Bus Pirate 6
- Cytron: der industrielle I/O-Controller IRIV I/O Controller und der Robotik-Controller MOTION 2350 Pro
- Invector Labs: Challenger+-RP2350-Produkte mit 8MB Flash, 8MB PSRAM sowie BConnect- oder WiFi6/BLE5-Modulen
- NewAE: RP2350 Target for ChipWhisperer für Power-Analyse und Fault-Injection-Tests
- Pimoroni: Explorer, Tiny2350, Plasma 2350, PGA 2350
- Seeed: XIAO RP2350 mit 19 GPIOs, RGB-LED und Batteriemanagementsystem
- Solder Party: RP2350 Stamp und Stamp XL mit RP2350, 16MB Flash, LDO, LiPo-Ladegerät, LED sowie Reset- und Boot-Tasten
- SparkFun: Pro Micro – RP2350 im Pro-Micro-Formfaktor
- Switch Science: Picossci2 Breakout und zugehörige Module mit USB-C-Anschluss
- Tiny Circuits: die programmierbare tragbare Schlüsselanhänger-Konsole Thumby Color
- Wiznet: RP2350-basierte Evaluierungsboards für die Ethernet-Chips W5100S, W5500 und W6100
RISC-V-Modus und Hazard3
- Der RP2350 enthält zwei Open-Hardware-Hazard3-RISC-V-Kerne, die beim Booten anstelle der Cortex-M33-Kerne verwendet werden können
- Das Boot-ROM erkennt automatisch, für welche Architektur das Second-Stage-Binärfile gebaut wurde, und kann den Chip im passenden Modus neu starten
- Im RISC-V-Modus können die Chipfunktionen mit Ausnahme einiger Sicherheitsfunktionen und des Beschleunigers für Double-Precision-Floating-Point genutzt werden
- Hazard3 wurde von Luke Wren, Principal Engineer im Chip-Team von Raspberry Pi, in seiner Freizeit entwickelt
- Hazard3 ist ein optimierter Prozessor mit dreistufiger Pipeline und implementiert den RV32I-Befehlssatz sowie mehrere Standarderweiterungen mit Fokus auf Leistung und Codedichte
- Ziel der Integration von Hazard3 in den RP2350 ist es, Softwareentwicklern zu ermöglichen, die RISC-V-Architektur in einer stabilen und unterstützten Umgebung zu erproben und Hazard3 als sauberen Open Core weiterzuverbreiten, der unverändert in anderen Geräten eingesetzt oder als Grundlage für weitere Entwicklung genutzt werden kann
3 Kommentare
Meinungen auf Hacker News
Luke, der Autor von Hazard3, erklärt den Hintergrund dafür, warum ein Hazard3-Core neben den M33 gesetzt wurde
Die Größen der beiden Cores seien zwar nicht vergleichbar, aber selbst wenn Hazard3 entfernt worden wäre, wäre die endgültige Die-Größe wahrscheinlich nahezu gleich geblieben
Der Grund sei, dass Standard-Cell-Logik komprimierbar ist und wegen Designbeschränkungen des Pad-Rings auch die Die-Abmessungen aufgerundet werden
Allerdings meint er, ohne den RISC-V-Core hätte man beim finalen Layout und bei der statischen Timing-Analyse wohl weniger Haare verloren
https://x.com/wren6991/status/1821582405188350417
Ich verstehe nicht, warum immer noch Micro-USB verwendet wird
Selbst wenn es pro Board etwas mehr kosten würde, hätte ich erwartet, dass die nächste Version USB-C nutzt
https://www.raspberrypi.com/for-industry/powered-by/product-...
Bei chinesischen USB-C-Boards wird manchmal an den CC-Pull-up-Widerständen gespart, sodass der Port mit C-to-C-Kabeln nicht funktioniert
Ich habe noch jede Menge micro-USB-Kabel, und es gibt immer weniger Einsatzmöglichkeiten dafür
Solche Geräte werden nicht häufig bewegt oder ein- und ausgesteckt, daher entstehen auch die typischen Situationen, in denen der Anschluss kaputtgeht, eher selten
Wenn man das Projektgehäuse neu entwerfen muss, ist es kein Drop-in-Upgrade
Im Vergleich zum RP2040 hat sich ziemlich viel geändert
Größeres Package, Variante mit 2 MB integriertem Flash, Secure Boot und verschlüsselter Boot, zwei sichere Ausführungskontexte, Zufallszahlengenerator, SHA-256-Beschleuniger, 8 KB OTP-ROM, 8-Kanal-HSTX-Hochgeschwindigkeits-Seriell-Transmitter, GPIOs von 30 auf 48, PIO-State-Machines von 8 auf 12, DMA-Kanäle von 12 auf 16, beim Booten wählbar zwischen RISC-V und Arm, Wechsel von Cortex-M0+ auf Cortex-M33, Core-Takt von 133 MHz auf 150 MHz erhöht
https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.p...
Es sieht so aus, als hätten sie fast alle Punkte behoben, die mich am RP2040 gestört haben
Man sollte unbedingt bis zum Abschnitt „One more thing“ ganz unten lesen
Beim Booten kann man transparent Cortex-M33 oder RISC-V auswählen
Es wäre vielleicht besser gewesen, diese Fläche für mehr RAM oder einen weiteren Arm-Core zu verwenden; noch sinnvoller wäre es, gleich eine reine RISC-V-Variante zu verkaufen
Mehr PSRAM oder eine Neural Processing Unit wären vermutlich nützlicher gewesen
Ich frage mich, ob jemand ein All-in-one-Board für Batteriemanagement für kleine mobile Geräte kennt.
Ich habe kürzlich angefangen, mit dem ESP32 herumzuspielen, und war überrascht, dass es auf AliExpress kaum sofort einsetzbare Boards gibt, die das Laden eines USB-Akkus und gleichzeitig die Stromversorgung des Geräts übernehmen.
Ich möchte einfach einen LiPo an mein Design anschließen und es wie ein Smartphone funktionieren lassen.
Zum Laden braucht man ein separates USB-Kabel.
Allerdings scheinen einige ESP32-Boards den LiPo über den USB-Port zu laden, und manche Heltec-Boards offenbar auch.
Ich habe ein Board mit JST-Akkuanschluss, habe es aber lange nicht benutzt und bin mir nicht sicher; wahrscheinlich ist es dieses Modell: https://heltec.org/project/wifi-kit32-v3/
Auf meinem Schreibtisch liegt gerade ein T18: https://github.com/LilyGO/TTGO-T-ControllerV2.2/blob/master/...
Allerdings hatte ich einige Probleme, Uploads zuverlässig zum Laufen zu bringen, und LILYGO-Produkte erfordern im Allgemeinen etwas Trial-and-Error; sobald sie eingerichtet sind, laufen sie aber recht stabil.
Merkwürdig ist, dass außer dem Hinweis, man solle den Akku anlöten, nicht klar erklärt wird, wie das funktioniert.
Als Einzelzellen-Lösungen gibt es IP2312, ETA9740, TP5100, IP5328P, MCP73834, MCP73833, LTC1734 und LTC4121.
Auf AliExpress habe ich auch ein paar Module mit USB-C-Anschluss gefunden, aber noch nicht getestet.
IP2326: https://www.aliexpress.com/item/1005007175222069.html
CN3302: https://www.aliexpress.com/item/1005006203228418.html
Ein universelles Batteriemanagement-Board mit Unterstützung für gleichzeitiges Laden gibt es hier: https://shop.pimoroni.com/products/lipo-amigo?variant=397793...
Es gibt auch eine zum Pico passende Version oder RP2040-basierte Boards mit integriertem Batteriemanagement.
Schick ist, dass zwei Cortex-M33-Kerne und zwei Open-Source-RISC-V-Hazard3-Kerne enthalten sind.
Der Cortex-M33 soll 4,09 CoreMark/MHz erreichen, Hazard3 3,81 CoreMark/MHz: https://github.com/Wren6991/Hazard3
Der RP2350 enthält anstelle der Cortex-M33-Kerne ein Paar Open-Hardware-Hazard3-RISC-V-Kerne, die beim Booten alternativ genutzt werden können; die Boot-ROM kann außerdem automatisch erkennen, für welche Architektur ein Second-Stage-Binary gebaut wurde, und im passenden Modus neu starten.
https://www.raspberrypi.com/documentation/microcontrollers/s...
Ja, DOOM läuft auch darauf.
Es soll bereits eine coole Demo gegeben haben, etwa Graham Sandersons DOOM-Portierung.
Es gab früher Diskussionen über schmutzige Tricks wie Write-Traps und Emulation, um externen RAM auf dem RP2040 irgendwie „zum Laufen“ zu bringen.
Im RP2350-Datenblatt steht, dass das neue QSPI-Speicherinterface Memory-Mapping für Lesen/Schreiben unterstützt; ich frage mich daher, ob das bedeutet, dass man PSRAM einfach anschließen kann.
Ich kenne mich mit Hardware nicht besonders gut aus, aber das klingt ziemlich vielversprechend, und falls es geht, interessiert mich auch, wie stark die Performance davon profitieren würde.
Ich habe den Eindruck, dass viele bei solchen Dingen ziemlich verantwortungslos mit digitalem Abfall oder Nutzungsspuren umgehen
Ich habe über Jahre ohne besonderen Grund Raspberry-Pi-Varianten gesammelt, und inzwischen stapeln sich welche, die gar nichts tun
Trotzdem glaube ich nicht, dass ich in diesem Bereich zu den Extremen gehöre
Andererseits frage ich mich, wann der Raspberry Pi Pico 2 W mit Funk bzw. Bluetooth erscheinen wird
Interessant ist auch, dass der RP2350 ein Paar Arm Cortex-M33 und ein Paar Open-Hardware-Hazard3-RISC-V-Kerne bietet und man per Software oder über Einstellungen im On-Chip-OTP-Speicher auswählen kann
Im Grunde stecken zwei Architekturen in einem Chip: https://www.raspberrypi.com/products/rp2350/
Nehmen wir an, es wurden 4 Millionen Pico verkauft, und obwohl die Verpackung recycelt wird, landen alle Pico auf der Deponie
Laut Datenblatt misst er 21×51 mm und ist ungefähr 5 mm dick, also etwa 5,35 mL pro Stück
Bei 4 Millionen Stück sind das 5.659 Gallonen bzw. 756 Kubikfuß, und der Elektroschrott aller bisher verkauften Pico würde in einen einzigen 9,1-Fuß-Würfel in der Garage passen
Das wirkt nicht wie ein Problem, über das man viel Zeit mit Sorgen verbringen sollte; ein einzelner Pico, der ein Schild in einem EPA-Büro dreht, könnte vielleicht sogar mehr Umweltnutzen bringen als der gesamte Abfall Schaden verursacht
Wenn man bereits ein Kind hat, gibt es kaum noch etwas, womit man den Schaden für den Planeten wesentlich verringern könnte; auch wenn man so viele Raspberry Pis kauft, wie in die Kramschublade passen, macht das keinen großen Unterschied
Dasselbe gilt für Flugreisen im Urlaub oder den Kauf eines neuen Handys alle paar Jahre; der Raspberry Pi ist da nur ein Rundungsfehler
Früher habe ich die Gelegenheit verpasst, alte Modelle zu verkaufen, als selbst diese schwer zu bekommen und teuer waren; in letzter Zeit konnte ich aber alle alten Boards zu ordentlichen Preisen verkaufen und habe damit keinen direkten Abfall erzeugt
Was mir bei diesem Pico allerdings mehr Sorgen macht, ist die Funktion Signierter-Boot-Lock
Wenn sie nicht rückgängig zu machen ist, könnte ein Pico für immer an sein ursprüngliches Programm gebunden sein, sodass ein gutwilliger Nutzer ein gebrauchtes Board nicht anderweitig verwenden kann, selbst wenn er den Originalinhalt nicht auslesen, sondern komplett neu flashen will
Ich würde gern mehr darüber wissen, ob sich der Signierter-Boot-Lock durch vollständiges Löschen des Flash zurücksetzen lässt
Gerade bei Mikrocontrollern und Entwicklungsboards hängt die Notwendigkeit eines Upgrades von den Projektanforderungen ab
Anders als bei Computern oder Mobilgeräten, bei denen Updates, Endnutzer-Apps oder Betriebssysteme künstliche Veralterung erzeugen
Eine On-Chip-Schaltnetzteilversorgung ist erstaunlich
Ich habe so etwas früher einmal auf einer PCB aufgebaut, und dafür waren ein Induktor und mehrere passive Bauteile nötig
Ich frage mich, wie das alles in den Chip passt
Wegfallen würde nur der externe Schaltnetzteil-Chip
Diese passiven Bauteile werden weiterhin benötigt; siehe Abschnitt 6.3 des Datenblatts
Im Abschnitt „5.4 Powerchain“ des Datenblatts [0] ist ein externer RT6150-Buck-Boost-Schaltregler mit externem Induktor zu sehen
https://datasheets.raspberrypi.com/pico/pico-2-datasheet.pdf
Beim Weiterlesen steht dort, dass „der RP2350 einen On-Chip-Schaltregler hat, der den digitalen Kern aus der 3,3-V-Versorgung mit 1,1 V versorgt und in Figure 7 nicht dargestellt ist“
Das Schaltplan-PDF ist zu schwer zu finden, und Cadence Allegro habe ich auch nicht installiert, also suche ich nicht weiter
Um noch etwas mehr zum letzten Teil zu schreiben…
Insbesondere seit Flash-Speicher in MCUs zum Einsatz kommt, ist das Power-Management auf dem Chip zu einem noch wichtigeren technischen Faktor geworden. Wenn das Power-Management nicht sauber funktioniert, werden die Zellen nicht so beschrieben, dass die Retention des Flash erhalten bleibt – ich erinnere mich, dass viele Chiphersteller damit ziemlich zu kämpfen hatten.
Bei diesem neuen Produkt heißt es nun sogar, dass es eine On-Chip-Stromversorgung im Switching-Mode gibt; das ist einerseits beeindruckend, andererseits frage ich mich, wie man das dabei entstehende Rauschen in den Griff bekommen hat.
Chapless => Fabless