lunedì 29 dicembre 2014

Fernvale - dagli autori di Novena

Fernvale - notare lo slot MicroSD 
accanto al minuscolo MT6260DA
Poco più di un anno e mezzo fa Bunnie comprò in Cina, in un mercatino dell'area di Shenzhen, un telefonino da dodici dollari. Spartano ma funzionante.

Siccome il suo SOC (system-on-chip) Mediatek MT6260 basato su ARMv5 a 364 MHz (e con a bordo 4 mega di ROM e 8 mega di RAM e uno squinterno di controllers e porte) costa solo tre dollari a pezzo (contro i sei dollari del solo processorino Atmel 16 MHz usato nelle Arduino), in questo anno e mezzo nel tempo libero insieme a un amico ci ha smanettato in ogni modo per capire come utilizzarlo su una board "fatta in casa" e tutta open source - che ha chiamato Fernvale (e su cui oggi riesce a farci girare NuttX, un sistema operativo real-time open-source basato su standards POSIX).

Con a disposizione qualche strumento serio (tra cui un oscilloscopio da 25700 dollari) e molta pazienza è riuscito a scoprire dove sono mappate molte delle periferiche interne (la casa produttrice ti dà un datasheet striminzito utile solo se vuoi usare quel SOC per costruire un telefonino, ma non per implementare un tuo sistema operativo) e anche l'algoritmo usato dalla ROM interna per validare il boot-loader.

Una Fernvale su una Arduino
Gran parte del merito dell'impresa va al computer open source Novena (progettato dagli stessi due del Fernvale) che a bordo ha integrata una FPGA con la quale ha "emulato" memoria e periferiche interne (mappandone la memoria nella RAM del PC: in pratica dal prompt Linux del Novena vedeva cosa sta succedendo in tempo reale nel MT6260 attraverso la FPGA). Non è bastato a scoprire almeno l'essenziale, e dunque ha dovuto smanettare con Qemu per costruirsi una board fittizia basata su ARM e farsela emulare in parallelo a quella reale (sempre sullo stesso Novena).

Leggendo l'articolo di presentazione (che comincia con considerazioni "legali" sul fatto che i brevetti - IP, intellectual properties - stanno ammazzando l'informatica occidentale a favore del modello cinese) mi sono reso conto della spaventosa quantità di lavoro fatto da quei due in appena un anno e mezzo di "ritagli del tempo libero" (in realtà quello che c'è da invidiare è che portano a termine un progetto anche se così colossale).

Perciò tanto di cappello a Bunnie e Xobs (che combinano grande esperienza di elettronica teorica e pratica, sistemi operativi, assembler, linguaggi, informatica teorica, conoscenza del mercato, processi industriali...), sperando che non sia troppo tardi: questi SOC restano sul mercato pochi anni, e non è detto che i modelli successivi siano altrettanto facili da sbrogliare.

Nessun commento:

Posta un commento