Pojavili su se, sad u većem broju, mikrokontroleri sa dve grupe jezgara, ARM i RISC-V, u jednom čipu i sa njima i njima odgovarajući razvojni sistemi. Veliki igrači su krenuli tim pravcem i na nama je da ispratimo taj tok. Milk-V je poznat kao kompanija koja izrađuje računarske ploče, i SBC (recimo Milk-V Mars)i u miniPC formutu, za aktuelne RISC-V procesore. Ovaj Milk-V Duo 256 M koji smo od njih dobili za potrebe ove recenzije je mešanac ARM i RISC-V arhitektura u formatu Raspberry Pi Pico pločice. Dakle nešto slično novom Raspberry Pi Pico 2.

7.2 TOTAL SCORE

Milk-V Duo 256M

SBC
Performanse 5
Softverska podrška 7
Periferije i IO 6
Kvalitet izrade 8
Cena 10
Pros
  • Snažan 1 GHz RISC-V+ARM+8051 SoC koji može pokrenuti Linux
  • Korektna dokumentacija i dovoljno primera koda za početak istraživanja
  • Kamera modul i USB & Ethernet IO ploča čine zaokružen sistem i dovoljni su za kreiranje velikog broja projekata
  • Pinmux, wiringX API i Buildroot SDK su dati što ubrzava kreiranje aplikacija
Cons
  • Ne postoji prekidač za selekciju RISC-V/ARM arhitekture
Bottomline

Milk-V Duo 256M je RISC-V+ARM+8051 platforma za mejkerske avanturiste sa strašću za istraživanjem koje dovodi do čiste kada proradi sreće. Po ceni oko $20 dobićete 1 GHz platformu sa kamera modulom za kreiranje IP kamere, pametnog video zvona za vrata ili automatizovanje pametnog mehatroničkog uređaja. Dobićete čak i 1 TFLOPs neuralnu mrežu i čak i primer sa detekcijom lica.

Hardver

Zavirimo prvo u SOPHGO Sophon SG2002 Edge procesor, o kome možete videti više na RISC-V sajtu, ali i u SOPHGO GitHub dokumentaciji. Ukratko, procesor je mešovite arhitekture. Jedno RISC-V C906 na 700 MHz namenjeno je za pokretanje FreeRTOS-a. Prilikom boot procedure u zavisnosti od hardverskog izvođenja bira se između pokretanja drugog RISC-V C906 jezgra na 1 GHz i ARM Cortex-A53 jezgra na 1 GHz. Izbor ARM jezgra se vrši kratkim spajanjem Boot Switch pina i GND pina. Boot Switch je šesti pin sa desne strane gledano sa strane SoC-a i označen je VR/MRA oznakom. Oznaka 256M upravo govori o ukupnoj količini RAM-a koji je raspoloživ ovim jezgrima. Zanimljivo je da je u SoC-u i jedno 8051 jezgro sa 6 KB sopstvenog SRAM-a i tenzorska procesorka jedinica do 1TOPS@INT8 kojom je realizovana neuralna mreža za mašinsko učenje.

photo: magazin Mehatronika

Prvenstvena namena ovog SoC-a je realizacija inteligentnih IP kamera za nadzor, pametnih brava na vratima, video zvona na vratima i automatizacija u pametnim kućnim aparatima. Pogledamo li ploču sa gornje strane, videćemo da je pločica Milk-V Duo 256M upravo i kontruisana kao malena ploča laka za prilagođenu (embedovanu) ugradnju u neke od ovih uređaja. Tu je prvo USB-C konektor koji prvenstveno služi za programiranje i napajanje ploče. Ležište za SD karticu od bar 1 GB. Ovako malena kartica je dovoljna jer i sam zvanični imidž Ubuntu OS-a nije veći od 200 MB. Postoji i model sa ugrađenom NAND memorijom, ali smo mi dobili primerak DUO 256M bez nje.

photo: magazin Mehatronika

Najzad na ploči je i MIPI konektor za kameru. Nemojte istraživati koja bi kamera mogla da se koristi, nabavite originalnu Milk-V kameru. Uz nju dolazi i kabl za povezivanje i u potpunosti je kompatibilna sa Milk-V Duo 256M modelom. Nosi oznaku CAM-GC2083 i na sebi ima GLAXYCORE’s GC2083 CMOS senzor koji daje sliku do 2 MP. Dovoljno za elementarno prepoznavanje i u skladu je sa snagom obrade podataka SG2002 procesora.

photo: magazin Mehatronika

Sa donje strane ploče jasno su označne funkcije bočnih pinova, kao i dve+četiri „ubodne“ tačke koje će koristiti Duo USB & Ethernet IO Board o kome ćemo nešto kasnije. Dimenzije pločice su svega 21 x 51 mm, što joj ne smeta da ivično dostavi 26 multipleksirana IO pina. IO pinovi mogu imati i specijalne funkcionalnosti, te je dostupno stoga ukupno četiri I2C, četiri UART, dvanaest PWM, jedan SPI i jedan 100 Mb Ethernet kanal. Naravno ne svi u isto vreme.

photo: magazin Mehatronika

Zanimljiv je Duo USB & Ethernet IO Board koji dolazi u običnoj kartonskoj kutiji. Njegov smisao je da pojednostavi i ubrza razvoj prilagođenih rešenja time što će obezbediti dizajnerima USB i Ethernet vezu. Na prvi pogled deluje kao osiromašena verzija SBC-a.

photo: magazin Mehatronika

Sa jedne strane prati raspored konektora na Raspberry Pi-u, ali se tu svaka sličnost završava. Zaista će omogućiti četiri USB porta, li će za njihovo korišćenje biti neophodno da se USB-C port na Milk-V Duo 256M softverski ugasi, te više neće moći da se koristi za programiranje. Na IO ploči nalazi se i jedan USB-C port, ali on ovde služi samo za napajanje. Milk-V Duo 256M se ubacuje u predviđene konektore, sa tim da je neophodno zalemiti heder na obe ivice DUO 256M. Pored svega toga, specijalnim dodirnim pinovima IO Board povezuje šest tačaka sa donje strane DUO 256M sa IO Board-om. To su tačke sa signalima za USB i za Ethernet.

photo: magazin Mehatronika

U jednom uglu IO Board-a izvučen je četvoropisnki serijski heder za pristup debug sondom, što će ovaj put biti neophodno, a dodato je i Reset dugme. Nažalost nije dodat prekidač kojim bi se selektovalo ARM / RISC-V jezgro prilikom uključivanja.

photo: magazin Mehatronika

Softver

SG2002 je SoC koji nema video izlaz, ali je sposoban da pokrene Linux na sebi, zahvaljujući svom 1 GHz brzom jezgru i 256 Mb RAM-a. Naravno, pokrenućete specifično napisanu verziju Linux sistema koja nije veća od 100 MB. Ukoliko je sve kako treba, plavi LED na ploči će početi da blinka. U kasnijem radu ovo treptanje možete onemogućiti skriptom. Za one koji prvo urade apt update/upgrade moramo reći da na to mogu da zaborave. Imidž omogućava SSH i CDC-NCM što znači da će se vaš DUO 256M povezan preko USB-C kabla pojaviti, uz odgovarajući drajver, kao poseban uređaj na mreži sa fiksnom IP adresom – u ovom slučaju je to 192.168.42.1 sa parametrima root/milkv za SSH pristup.

Zaboravite i kompajliranje programa za DUO 256M na samoj ploči. Neophodno je posedovati Ubuntu mašinu i na njoj, po uputstvima kompajlirati kod kako bi se preneo i startovao na Milk-V Duo 256M. Dobro je što je Milk-V na svom GitHub-u dao veći broj programa u C-u, i veoma lepo ih dokumentovao, tako da će početan rad biti prijatan i vodiće brzo do funkionalnog rešenja.

photo: magazin Mehatronika

Od paketa koji omogućavaju kontrolu GPIO portova, što i jeste glavna namena ove mikrokontrolerske platforme tu su Pinmux (komanda duo-pinmux) i wiringX API. Pinmux je jednostavan terminalski program čija je namena očitavanje trenutne i definisanje funkcije svakog pojedinačnog pina. Dalja upotreba tako definisanih pinova se vrši uz pomoć wiringX API-a koji je MilkV takođe dao. Iako je na sajtu dato uputstvo za korišćenje Pinpong Python biblioteke, ona nije dodata Python-u u OS do sada aktuelne verzije 1.1.3.

photo: magazin Mehatronika

Postoji i podrška za Arduino IDE, sa tim da je potrebno preuzeti poseban Arduino imidž sa GitHub-a. U trenutku pisanja ove recenzije on je na bazi V1.1.2 verzije Buildroot-a, dok najnovija verzija V1.1.3 još ne postoji sa tom podrškom.

photo: magazin Mehatronika

Zajednica otvorenog koda je veoma aktivna na svim RISC-V platformama, pa i na ovoj sa SG2002 procesorom. Lako se mogu naći, i na samom Milk-V sajtu nezavisni imidži. Naravno uz njih uvek idu pitanja o bezbednosti i kvalitetu, ali su sa druge strane dokaz da je moguće pokrenuti Ubuntu, Debian, Fedoru, ArchLinux ili Alpine Linux. Ovaj poslednji, iako kod nas gotovo nepoznat, čest je izbor na ovakvim tanušnim platformama.

Milk-V DUO 256M Fedora minimal

photo: magazin Mehatronika

Zaključak

Za $9 koliko košta Milk-V Duo 256M, $5 dodatnih za USB & Ethernet IO Board i još $7 za kamera modul, uz napomenu da ako se potrudite možete naći komplet na netu za ispod $15, ovo je primamljiv entry RISC-V razvojni sistem. Govoreći striktno ekonomski, za taj novac možete dobiti novi Raspberry Pi Pico 2 koji je isto mešavina ARM i RISC-V arhitekture, ali tamo nećete dobiti ploču koja može pokrenuti Linux. Za sličnu cenu možete dobiti recimo Luckfox Pico u kompletu sa kamerom i Ethernet portom, koji isto može pokrenuti Linux.

Međutim, iako se poređenje ove tri platforme nameće, ono ipak nije umesno budući da je Raspberry predstavnik mikrokontroler. Možda bi bilo bolje posmatrati Zero modele kada bi oni bili RISC-V arhitekture. Ipak, rad sa Raspberry Pi Pico 2 sa podrškom koju nudi kompanija i kompatibilnošću sa prethodnim ultra-popularnim Raspberry Pi Pico modelom, je kao šetnja (150 MHz) po dobro poznatoj bašti posle preuređenja: sve je modernije, malo brže, šarenije, poneki deo je sasvim (RISC-V) drugačiji, ali je ukupni utisak poznat. Šetnja po Milk-V Duo 256M je izazov brze vožnje (1 GHz) po neistraženim (RISC-V i 8051) „terra incognita“ tipa u realnom vremenu (drugi C906) poznatim (Linux) reverom. Ništa manje „lude sreće“ nije potrebno ni za reli sa Luckfox Pico modelima.

Mnoge stvari ovde sa svaničnim imidžima OS-a neće raditi, ili bar neće zajedno raditi, kao recimo USB-C i USB-A na IO Board-u. Sa jednim OS imidžom ćete pokretati kod na RISC-V arhitekturi, sasvim drugi ćete morati sami da napravite za ARM jezgro, a treći će vam trebati za Arduino IDE. Ako niste mejkerski avanturista i ako ste zadojeni „svoj novac hoću da radi“ idejom izgubili strast za istraživanjem i sebe time lišili osećaja sreće „kada proradi“, onda ova platforma nije za vas. Generalno ni jedan RISC-V sem Raspberry Pi Pico 2 onda još uvek nije za vas.

Aleksandar Dakić
Follow me