Basato sul processore ARM9 a 400 MHz, Arietta G25 è un micro computer GNU/Linux embedded condensato in pochi centimetri quadrati.
Dispone di 128 MB di RAM, GPIO con 40 pin di I/O configurabili, bus I²C, SPI, I²S e UART.
Oltre agli I/O digitali classici sono presenti dei pin che possono essere configurati sia come I/O digitali generici, sia come ingressi/uscite analogiche ADC e PWM.
Arietta G25 è ad un livello tecnico che la rende un tassello importante in un percorso di formazione e di utilizzo professionale dei sistemi GNU/Linux embedded, che, in pratica, comporta la capacit di personalizzare ed ottimizzare il kernel di GNU/Linux in base alle esigenze dei nostri progetti.
Kernel tuttofare come quello di Raspberry Pi, zeppi di driver e moduli plug and play permettono una gestione semplice per la maggior parte delle periferiche, ma appesantiscono la distribuzione, in termini sia di occupazione di memoria, sia di prestazioni.
Nel nostro caso possiamo mantenere il kernel il più magro possibile, risparmiando memoria e cicli di CPU, godendo di prestazioni di tutto rispetto.
Ciò, anche a vantaggio di un limitato consumo di energia, il che rende possibile l’utilizzo del sistema a batteria.
Sono disponibili informazioni, diversi tutorial e un’applicazione per configurare i diversi pin e generare in automatico il file .dtb (Device Tree Blob) con l’associazione delle funzioni desiderate ai pin fisici.
Alcuni pin condividono informazioni diverse, per questo è necessario configurare un file con le associazioni desiderate.
In alcuni casi è necessario anche modificare il kernell della distribuzione Linux.
Per queste operazioni i progettisti hanno messo a disposizione sul loro sito uno strumento grafico provvisto di interfaccia web che permette di configurare i pin di I/O della scheda nel modo desiderato e poi ottenere e scaricare il file di configurazione con estensione .dtb da inserire nella partizione di boot della scheda.
Nel sito sono presenti istruzioni su come ricompilare il kernel per includervi driver specifici, ma anche immagini precompilate da utilizzare direttamente.
Il file .dtb è letto dal kernel in fase di boot per leggere ed applicare la configurazione iniziale del sistema, associando i pin del SoC ai pin fisici del GPIO e caricando i relativi driver.
In Raspberry Pi la configurazione è pressoché predefinita e dove è possibile si interviene con lo strumento di configurazione in formato testo nella partizione di boot e nella cartella /etc. Attenzione! il modulino WiFi e la micro Sdcard da 4GB non sono compresi.
Software Features
- Linux Kernel version 3.16.1
- EmDebian Grip Linux "Wheezy" 7.6
- Bootable Linux microSDs available on Acme Systems eShop or free microSD images available from the Acme binary repository to make the microSD by yourself.
- Complete tutorials to build all from sources:
- Fully open source firmware, software environments and toolchains available for free
- Freely available tutorials and code examples
- Thousands of Open Source ready to use packages available from the Debian Wheezy for Armel repositories
- Programmable in almost any language: C, C++, Python, Java, PHP, Perl, Node JS, Lua, Basic, Shell
- GNU C, Python, Perl and PHP already installed on microSD for in-board development.
- Codiad Web based IDE to edit your sources directly via Browser
- Shell-in-a-box Web based AJAX terminal emulator to have access to the Linux command prompt
Documentation
Pin muxing
Most of the Arietta lines on J3 can be configured for additional functions using the muxing cabability of the Atmel MPU.
The default configuration depends from the at91-arietta.dtb file stored on the first micro SD partition and used at startup by the Linux Kernel.
The Arietta dynamic pinout page may helps you to understand what are the available peripherals and how to generate this file.