Search Results for: assembler

Stack checking in GCC

Lo stack è un’area di memoria di fondamentale importanza, in modo particolare per le applicazioni embedded. Gli ambienti di cross compilazione forniscono strumenti in grado di definire la sua dimensione e di verificarne l’integrità in fase di run-time. La gestione dello stack passa attraverso un particolare puntatore presente all’interno dell’architettura hardware. Con …

Xinu embedded

Xinu è un sistema operativo scritto da Comer alcuni anni fa e oggi disponibile per diverse piattaforme. Esiste anche una versione per il segmento dei sistemi dedicati chiamata Embedded Xinu. Accanto al sistema operativo Linux, sicuramente più blasonato rispetto ad altri, esistono sistemi alternativi. Senza ricorrere in maniera specifica a sistemi definiti microkernel, esistono infatti diversi …

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 …

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 …

La gestione degli interrupt su Linux

Gli eventi asincroni rappresentano un’importante caratteristica di un sistema embedded. Infatti, è attraverso questo meccanismo che il programma comunica con il mondo circostante. La gestione degli eventi asincroni basa la sua tecnologia su diversi aspetti: il compilatore permette di definire funzioni richiamabili da un’ISR, mentre, non di secondaria importanza, il sistema operativo, …

Microcontrollore o FPGA? Criteri di scelta

Un’analisi di base su due delle periferiche programmabili più utilizzate nel momento, soffermandosi prevalentemente sulle caratteristiche che dovrebbero invogliare il progettista nella scelta del componente più adatto al proprio progetto. Negli ultimi anni, i componenti elettronici programmabili, hanno pian piano sostituito la maggior parte degli integrati progettati per assolvere ad un’unica funzione. La …

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 …

Play ARM7!

Già da parecchio tempo, allo scopo di soddisfare le sempre più esigenti richieste del mercato, quasi tutte le case costruttrici di semiconduttori stanno producendo microcontrollori a 32 bit. Parallelamente, le richieste di sistemi di sviluppo sempre più economici hanno reso molti di questi potenti componenti a portata di hobbista. In questo articolo, attraverso un …

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 …

Nucleus Plus

Nucleus Plus è un real-time kernel utilizzato in ambito embedded per applicazioni ad ampio spettro; è impiegato in applicazioni di telefonia mobile ed applicazioni per il controllo industriale. In questo articolo vedremo alcune caratteristiche della sua struttura interna. Nucleus Plus è un kernel che possiamo definire real-time, di tipo multitasking progettato appositamente per applicazioni critiche di tipo embedded. Quando si …

Convertitore ADC via SPI

La casa costruttrice Analog Devices è certamente un punto di riferimento per i prodotti utilizzati nel settore elettronico. In questo articolo vedremo il dispositivo ADC, di casa Analog Devices, utilizzato secondo lo standard SPI. Analog Devices propone un dispositivo hardware in grado di sopperire alla conversione ADC attraverso il bus SPI in …

Send this to a friend