Mango Pi MQ Pro - RISC-V SBC

Permalänk
Datavetare

Mango Pi MQ Pro - RISC-V SBC

Finns redan rätt gott om mikrokontrollers som kör RISC-V. Gissar att RISC-V helt kommer dominera MCU-marknaden om ett par år p.g.a. att priset är så extremt kritiskt där.

Har varit lite sämre med RISC-V "datorer" som kan köra Linux, men börjar ju hitta ut en del sådana också nu. Jämfört med ARM64 SBC är tyvärr RISC-V rätt mycket mer omoget just nu, samt prestandanivån är som att backa ett par RPi-generationer...

Ville ändå testa på en RISC-V baserad SBC, så köpte en Mango Pi MQ Pro för ca 350 SEK. Prestandamässigt är den nog närmast jämförbar med Raspberry Pi 1(!), men gick i alla fall att installera Ubuntu Server 24.04 utan några större problem genom att följa denna guide

https://github.com/easytarget/MQ-Pro-IO

Storleksmässigt ska den matcha RPi-zero. Har ingen sådan, men här är jämförelse med RPi4-B samt ESP-32 MCU.

Klicka för mer information
Visa mer

Efter att ha vant sig med integrerat M.2/eMMC stöd i Orange Pi 5 serien är det rätt segt att vara tillbaka till att köra från SD-kort. Fast med en single core RISC-V som kör i potatis-fart är det ändå inte SD-kortet som är största flaskhalsen...

Ska försöka få in lite utvecklingsverktyg och se om man t.ex. kan bygga årets advent-of-code problem på denna, lyckades ju göra lösningar som på en Orange Pi 5 tar <1s att lösa alla 25 dag. Blir spännande och se om denna RISC-V CPU fixar det på under 1 minut i alla fall

Just nu körs första "apt-get upgrade" efter install, det ser ut att ta en 15-30 min...

Ser ut att komma betydligt snabbare RISC-V plattformar under 2025, så får bli något betydligt bättre när de hittar ut för att följa med utvecklingen för RISC-V lite

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Datavetare

Hunnit testat lite mer, skulle säga att mognaden för RISC-V + Linux verkar vara större än jag trodde!

Men kanske i så konstigt, kikade på denna video

och det man hör är ju att Linux i praktiken är för RISC-V vad Intel under många år var för Windows: Linux är den plattform verktyg, bibliotek etc primärt utvecklas på och för när det kommer till den generation RISC-V CPUer som nu är under utveckling. D.v.s. mer högpresterande modeller tänka för server / high-end embedded enheter (dessa lär i väldigt nära 100 % av fallen köra Linux).

Fokuserar man specifikt på Mango Pi, en single-core RISC-V @ 1,0 GHz som efter jag hittat en jämförelse tydligen ska prestera väldigt snarlikt en RPi Zero. D.v.s. väldigt långsam jämfört med en modern PC, beroende på vad man kör är min M3 Max laptop mellan 30-200 gånger snabbare...

Det gör inte Mango Pi oanvändbar, men man får ta det för vad det är: i praktiken en mikrokontroller som är kapabel att köra en "vanlig" Linux distro i CLI-läge.

I övrigt finns 1 GB RAM, 802.11n (Wifi-4, 2,4 GHz only, i praktiken får man 20-25 MBit/s), en USB-C port med USB2.0 stöd. Finns också en 40-pinnars I/O header med GPIO-stöd, UARTs, I2C och SPI stöd.

Det finns en GPU. Har inte ens brytt mig om att testa (men den ska fungera att köra Linux-desktop vad jag läst) givet hur långsamt saker går även med CLI.

USB-porten fungerar hur bra som helst, har under testning satt en USB/Ethernet dongel där. CPUn är för klen för att maxa porten, man får ca 250 Mbit/s (går att få ~400 Mbit/s över USB2). Även själva kortet har varit helt stabilt, det med 100 % last under flera dagar då jag byggt en del tester.

Vad det gäller stöd för utveckling:

  • Riktigt segt att Visual Studio Code i nuläget inte stödjer remote-connection mot RISC-V targets. Finns en ticket för specifikt det, får se om någon agerar framåt när det börjar komma ut RISC-V servers på marknaden

  • Vim, Emacs, Nano etc fungerar naturligtvis. Vidare går det även att köra VSCodium (öppna versionen av VS Code) via remote-läget även mot RISC-V, så det pekar på att jobbet egentligen redan är gjort för att fixa stödet i VS Code också...

  • C, C++, Rust, Java, Python3, Go, NodeJS fungerar alla bra (av det jag testade)

  • .NET fungerar tyvärr inte (fungerar däremot lysande på Linux/ARM64 sedan ett par år tillbaka)

Tog 1,5 dygn att kompilera min 2024 års AoC, mycket p.g.a. av att det använder Rust (C++ och Rust program går utmärkt att kompilera, men det är horribelt långsamt att kompilera). Go är definitivt att föredra på den här. Dels fungerade korskompilering överlägset bäst med Go av de saker jag testade, dels gick det snabbare att kompilera alla 25 dagarna för 2022 års AoC (använde Go då) än det tog att kompilera 1 dag med Rust...

Vill man kors-kompilera var det överlägset enklast i Go. Är fullt möjligt i C och C++ (men nog bra om man har lite erfarenhet av det). Hade tyvärr strul med kors-kompilering av Rust (men fungerade funktionellt lysande att köra Rust-cargo direkt på Pi:en, även om det är skitsegt).

Python/NodeJS fungerar också bra, men då CPUn är så klen tar det en icke-försumbar tid. att ens nå början av programmet p.g.a. initiering av VM (ännu värre om man kör Java). Men när programmen väl kör fungerar de funktionellt korrekt!

För att sätta en siffra på "seg uppstart", att köra detta python-program tar 36s(!), det tar ~300ms på min M3 laptop. Det positiva är att både Python och NumPy går logiskt sett perfekt att köra även på RISC-V. Är mycket NumPy som ställer till det här, Python program som bara använder standardbiblioteket startar på några sekunder.

Kompilerade program startar betydligt snabbare, de går igång på 10-20ms (vilket i.o.f.s. är skitsegt egentligen, men är tillräckligt snabbt för att vanlig CLI-användning ska fungera helt OK).

För att orka använda RISC-V vill jag ha en snabbare CPU. Men funktionellt fungerar det över förväntan. Ska byta ut den ESP32 som idag läser av min elmätare och publicerar informationen till ett internt MQTT-nät mot denna. Då får vi se om den är stabil när den ska gå 24/7 konstant under månader (mellan elavbrotten...).

Så för "IoT" saker är nog Mango Pi en trevlig pryl man vill köra Linux istället för "on the metal" ramverk på en MCU (kör Arduino på ESP32:an, vet andra som kör MicroPython på EPS32 för att läsa elmätare).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Hade inte sett denna tråd, intressant läsning!

Beställde nyligen en Orange Pi RV2 8GB RAM RISC-V

Delvis efter jag såg nyheten om att den släpps med Ubuntu som OS:

https://www.phoronix.com/news/Ubuntu-Linux-On-OrangePi-RV2

Och för att jag nyfiken på Risc-V såklart 🙂

Permalänk
Datavetare
Skrivet av Pulver:

Hade inte sett denna tråd, intressant läsning!

Beställde nyligen en Orange Pi RV2 8GB RAM RISC-V

Delvis efter jag såg nyheten om att den släpps med Ubuntu som OS:

https://www.phoronix.com/news/Ubuntu-Linux-On-OrangePi-RV2

Och för att jag nyfiken på Risc-V såklart 🙂

Har också lagt en beställning på en Orange Pi RV2 med 64 GB eMMC. Orange PIs eMMC-krets har fungerat väldigt bra i mitt Orange Pi 5 Plus-system (har 256 GB-versionen där).

Om inget annat händer kring detta, blir ett av årets projekt att klara av 2025 års Advent of Code på Orange Pi RV2. Får se om det blir Go, Rust eller något annat – det beror lite på vilket språk som har “tillräckligt” moget RISC-V-stöd i slutet av året.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer