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.

Coldfire TCP/IP Stack

Il Coldfire TCSP/IP stack è una sorgente pubblica di comunicazione in linea con i microprocessori. Lo stack è molto robusto e facilmente configurabile. Supporta molti comuni protocolli di comunicazione e include molti esempi di applicazioni. Vediamo alcune caratteristiche. Il Freescale/NXP ColdFire è un microprocessore della famiglia 68k concepito per sistemi embedded prodotto da …

Gcc e i sistemi embedded

Chi realizza sistemi embedded utilizza per forza di cose un compilatore. In questo articolo si vuole affrontare un tema decisamente interessante: quali sono le attività da svolgere per realizzare un proprio cross-compilatore partendo da GCC. La cross-compilazione (cross-compilation) è una tecnica nella quale un generico compilatore, ospitato su un ambiente host, ad esempio un desktop o notebook, produce …

AvrX un kernel per AVR

AvrX è un kernel real-time multitasking scritto per la famiglia AVR da Barello. Grazie alla disponibilità del codice sorgente e alle sue caratteristiche di real-time, è in grado di sopperire alle esigenze delle applicazioni embedded. AvrX è utilizzato in diversi contesti, dalle applicazioni di movimentazione a quelle più squisitamente ludiche. AvrX è scritto in assembler e …

Conversione da UART a SPI con FPGA

Molto spesso è necessario poter utilizzare direttamente componenti che abbiano un’interfaccia di tipo SPI come sistema di comunicazione. L’articolo evidenzia come sia possibile una comunicazione diretta su questi componenti, utilizzando la classica seriale RS232 senza uso di microprocessori e relativi FW, ma integrando il  tutto in una piccola ed economica FPGA. L’articolo fornisce i dettagli per l’integrazione di un sistema …

Attenzione ai puntatori a funzione

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 …

Mining delle criptovalute alternative con il Raspberry Pi

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 …

Sistemi di sviluppo per ARM

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 …

L’arte di manipolare i bit

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 …

Meglio BASIC o C?

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à, …

C e Assembly: due mondi a confronto in ambiente AVR

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 …

Sistemi di sviluppo per LPC2000

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 …

SwiftX: Un cross compiler per sistemi embedded

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 …

Conversioni float-string in AVR

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 …