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.
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 …
La valutazione dell’affidabilità di un sistema a partire dai suoi componenti o dal verificarsi dei guasti è una fase importante dell’analisi dell’affidabilità. Tale aspetto sta assumendo un rilievo tale da impiegare nelle varie realtà aziendali unità operative dedite alla modellazione dei sistemi in fase di sviluppo secondo vari approcci. In questo articolo ci occuperemo principalmente d’introdurre l’argomento ‘previsioni affidabilistiche’, di cercare di capire l’utilizzo che si …
Nella scorsa puntata è stato introdotto l’uso di un comodo strumento open-source per la realizzazione di diagrammi UML, è stato mostrato come creare gli elementi base e come interconnetterli tra loro. Continuiamo in questa analisi per mostrare come creare rappresentazioni UML più complesse e come generare codice dal relativo diagramma. Si analizzerà inoltre come utilizzare nella pratica gli strumenti finora forniti. Nella …
Il GPGPU ci offre possibilità che, fino a poco fa, erano utopia, ed ha contribuito ai recenti avanzamenti in campo accademico ed industriale. Sfruttare le GPU, però, richiede di assimilare concetti di programmazione parallela che, spesso, divergono da quelli classici, e …
Con l’avvento di microcontrollori dotati di funzionalità Host, come i PIC32MX460 introdotti tempo fa, è ora possibile usare tutto un insieme di periferiche USB. USB (Universal Serial Bus) è ormai diventato lo standard di comunicazione per interfacciare un PC con i dispositivi più diversi, dai Flash drive ai mouse, alle …
La semplicità di utilizzo e la praticità sono le armi vincenti del kit di sviluppo, PSoC FirstTouch, proposto tempo fa dalla Cypress Semiconductor. Analizziamo più da vicino questo prodotto attraverso degli esempi che evidenziano tutte le sue periferiche e le sue potenzialità. Come già accennato nell’introduzione, il PSoC First touch …