programmazione:
in questa categoria ci sono articoli ed applicazioni di informatica. Vengono trattati tutti i linguaggi di programmazione, come ad esempio il Python ed il linguaggio C, ma anche Assembler/Assembly.
Perché dovremmo preoccuparci di questo tema in un sistema embedded? La problematica della sicurezza e, di riflesso, quella dei puntatori a funzioni rientra sicuramente nella fattispecie dell’affidabilità del codice e per un sistema embedded questa necessità diventa prioritaria per via delle implicazioni che ne conseguono. Il tema di questo articolo è davvero molto vasto. L’affidabilità di un sistema software …
Le criptovalute alternative, o altcoin, sono nate come moneta alternativa alla criptovaluta più nota e diffusa: il Bitcoin. Nel corso dell’articolo approfondiremo il concetto di altcoin, esaminando le principali criptovalute alternative presenti sul mercato, per poi presentare un progetto applicativo …
Realizziamo un completo controllo luci a otto canali tramite Bluetooth, con la possibilità di pilotare delle lampade a tempo della musica riprodotta dal PC. Grazie al Software Editor, progettato appositamente per Windows, esso permette di creare a proprio piacimento i …
Esistono diversi ambienti di sviluppo basati sul microcontrollore ARM, ognuno con proprie caratteristiche e specifici strumenti di lavoro, ma tutti condividono, le stesse funzionalità, magari svolte in modo diverso. IAR Embedded Workbench per ARM o mVision della Keil sono degli ambienti di sviluppo di tipo IDE realizzati per permettere a un progettista software lo sviluppo e …
Dopo aver presentato la scheda di sviluppo a basso costo per FPGA della famiglia IGLOO di ACTEL/Microsemi, sperimentiamo un primo progetto dove utilizziamo un controllo di tastiera per la generazione di toni. Per incominciare a sperimentare progetti utilizzando l’AGL-NANO-KIT, completo di sorgenti in linguaggio Verilog. Gli strumenti necessari …
Gli operatori orientati ai bit sono sicuramente uno degli aspetti più rilevanti nei sistemi embedded; infatti, in questo modo è possibile accedere, direttamente, ai singoli bit dei dispositivi hardware. É universalmente riconosciuto, poi, che questi operatori non possono essere applicati a variabili di tipo float o double. Le informazioni, siano essi concetti astratti o meno, sono …
Il linguaggio C conosce poche operazioni aritmetiche. Per estendere la sua potenza, nel campo matematico, è necessario utilizzare le funzioni esterne. Grazie ad esse il programmatore può disporre di tante possibilità per arrivare a svolgere complessi calcoli in maniera molto …
Si è iniziato a parlare di intelligenza artificiale molto tempo fa, in libri e film di fantascienza, ma se prima si trattava del frutto dell’immaginazione di qualche autore negli ultimi anni sta prendendo vita sotto forma di bot, assistenti vocali …
Utilizzare Arduino connesso in rete che invia dati al cloud di Dropbox per produrre Open Data. In questo articolo viene descritto un nuovo modo di fare innovazione che guarda alle tante tecnologie che ci portano verso una nuova rivoluzione industriale: …
Dal 12 al 14 ottobre 2018 si svolgerà presso la Fiera di Roma la sesta edizione di Maker Faire, l'evento annuale più atteso da tutti gli appassionati di tecnologia. Come da tradizione noi di Elettronica Open Source saremo presenti con …
I due linguaggi per la programmazione più diffusi al mondo sono il Basic ed il C. Esaminiamo pregi e difetti di entrambi al fine di scegliere ed utilizzare quello più adatto alle proprie esigenze. Non esiste un linguaggio di programmazione “perfetto” in assoluto, quello che elimina tutto i problemi legati alla velocità, …
Il linguaggio assembly è uno strumento tipico per programmare sistemi embedded di piccola fascia. Oggi, con l’efficienza dei compilatori, è fortemente sconsigliato utilizzarlo; infatti, solo un linguaggio strutturato, come il C, rende la nostra architettura più versatile e manutenibile. Da diverso tempo i sistemi embedded di piccola fascia sono programmati utilizzando l’ormai classico linguaggio C, magari utilizzando qualche …
Il chip FT232BM di FTDI è un convertitore seriale USB che permette di implementare una comunicazione USB nella propria applicazione senza entrare nel merito dello standard USB, ma comunicando semplicemente attraverso un UART. Dal punto di vista software dal lato USB il dispositivo può …
Normalmente il firmware realizzato per una scheda embedded contiene sia i driver di basso livello per la gestione delle periferiche hardware, sia il programma applicativo. Questa soluzione non sempre è vantaggiosa: chi sviluppa il firmware deve conoscere i dettagli dell’ hardware della scheda ed avere le …
Esistono diverse proposte commerciali che permettono di sviluppare codice in ambiente ARM, in questo articolo è presentato l’ambiente MDK-ARM che ha il pregio di fornire una serie di utility attraverso un unico workbench. La proposta MDK-ARM (Keil Microcontroller development kit) è un ambiente completo che comprende, oltre ai tool di debug (uVision), la cross …
Scopriamo in questo articolo il cross compilatore SwiftX, un sistema di sviluppo interattivo basato sul linguaggio Forth in grado di supportare un’ampia gamma di microcontrollori. Il cross compilatore SwiftX è prodotto dalla società americana FORTH Inc. (figura 1), la più grande e referenziata azienda in grado di fornire soluzioni e sistemi basati …
La libreria di conversione in ambiente AVR che presenteremo in questo articolo è ready-to-run per essere utilizzata in applicazioni embedded e dispone di numerosi aspetti che la rendono davvero interessante. Questa libreria di conversione, da rappresentazioni in virgola mobile a stringa, è stata studiata per sistemi embedded con ridotte dimensioni di memoria: si quantifica …
In questa seconda puntata del corso avanzato sul linguaggio C, con il Raspberry Pi, studieremo un tipo di dati molto particolare, la struttura. Essa è una sorta di contenitore al cui interno si possono memorizzare tipologie di dati più semplici. …
Nella scorsa punta si è iniziato ad analizzare come la rappresentazione UML sia applicata ad un caso pratico di un progetto per lo sviluppo di un generico sistema. Continuiamo in quest'ultima puntata a descriverne i tali passi fondamentali. Tutti i diagrammi e le relazioni descritti nelle precedenti puntate del corso hanno un ben preciso …
Da diversi anni, le cosiddette tecniche soft-computing si stanno affiancando ai più tradizionali approcci di programmazione. La loro diffusione in ambito embedded, sta via via crescendo in conseguenza dei notevoli risultati ottenuti anche sul campo. La progettazione dei sistemi embedded è ormai molto diversa dalla programmazione dei calcolatori. I programmatori per PC sono abituati a standard …