Global Positon System with Amber2

The global position system (GPS) it’s a system able to provide geographic position expressed in spatial coordinates and based on radio signal received from artificial satellites orbiting the Earth. We really think this is one of the most interesting and useful technology introduced in the last Years: officially up and running since 1994. Initially developed and in use just for U.S.A. military environment, it has been extended to civil purposes very soon (sjust some years later). What we mostly know, born thanks to that technology, is for sure ‘the car navigator’: maybe younger people don’t even think possible to have a car without it. So, how GPS works and how it could be possible to use it to have exact geographic position expressed in coordinates and useful for our personal app?


Without going into too much detail, let’s say that the operating principle is based on a spherical positioning method. The GPS receiver ‘receives’ signals emitted by the different satellites and, based on the temporal information and their time difference of reception (due to the different sources’ distance), the GPS device can determine its geographical position with a series of triangulations and mathematical calculations.

Continua a leggere

Amber2, sistema di sviluppo e debug embedded con QtCreator

Come in quelle storie d’amore in cui gli amanti di tanto in tanto gli amanti si ri-incontrano e vivono nuove ed inaspettate passioni, nel corso degli ultimi giorni mi sono cimentato in una serie di esperimenti e test relativi ad una piattaforma embedded molto interessante con la quale è possibile realizzare progetti e applicazioni dall’indiscusso valore tecnico.

Si tratta della scheda Amber2, ovvero di una Carrier board che può ospitare i SOM prodotti dall’Isdraeliana Variscite  provvisti dell’ottimo processore NXP/Freescale Cortex-A9  IMX6.

L’Imx6 è un processore dalle alte performance a 1.0 GHz di frequenza, con 1Gb Di RAM, supporto per Video Full HD, accelerazioni grafiche e tutta una serie di periferiche, come il Bluetooth la WiFi, il supporto per le telecamere e molti altri accessori interessanti.

Variscite rilascia per i suoi prodotti una ricca e molto ben documentata dotazione software grazie alla quale è possibile avviare e rendere operativo il sistema in tempi rapidi e senza dover essere per forza dei profondi conoscitori dei sistemi di build dei sistemi embeded.

Basta dare uno sguardo alla pagina del sito per capire subito quali sono le risorse disponibili.

Senza soffermarci troppo sulla scelta di un sistema operativo piuttosto che un altro,  diciamo subito che nelle prossime righe andremo a descrivere come realizzare un sistema di sviluppo Linux e prodotto da  Yocto e come è possibile realizzare un setup con il quale crosso compilare applicazioni basata su Qt, effettuare il deploy automatico sulla scheda targhet e come debbagare l’applicazione tramite l’ IDE del Qt Creator.
Il nostro focus sarà come configurare il sistema partendo da un roof filesystem e dall’ SDK prodotto da Yocto. In pratica quello che si vuole fare è scrivere un programma sul PC utilizzando il Qt Creator, compilarlo e mandarlo n esecuzione della scheda targhet e poterne controllare/ispezionare il funzionamento per poter migliorare e correggere il software.

Realizzeremo un setup di sviluppo denominato “linked” ovvero un Setup composta da:

  • Un PC Host, in cui è installato il sistema di sviluppo (IDE) , il cross-compilatore, il sistema di deploy e quello di debug.
  • Un sistema targhet ( la scheda Amber2 ) in grado di avviare un Linux vanilla ( senza interfaccia grafica) e tutti i servizi per poter ricevere l’applicativo sviluppato sul targhet, eseguirlo e farlo girare in modalità debug.

Per poter lavorare insieme i due sistemi devono essere provvisti delle necessarie risorse, devono in un certo senso essere “syncronizzati” ( stesse librerie,etc..) e devono entrambi essere connessi alla rete Ethernet. Continua a leggere