Search Results for: assembler
Nel 1983, un gruppo di ingegneri britannici di Acorn, fu sfidato a trovare una soluzione ingegneristicamente valida per la seconda versione di uno degli home computer più diffusi dell’epoca, il BBC Micro. Fu l’inizio di una lunga avventura tecnologica, che avrebbe portato, ai giorni nostri, …
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 …
Lo sviluppo di codice indipendente dal compilatore per i microcontrollori conferisce un elevato livello di flessibilità a qualsiasi progetto di sistema embedded. I progettisti di sistemi embedded devono affrontare problematiche quali cicli di sviluppo sempre più brevi, sono sottoposti a carichi di lavoro sempre maggiori e si trovano a operare costantemente …
Quando in molti progetti è necessario unire alla logica programmabile la funzionalità di un piccolo microprocessore le soluzioni semplici come il core ABC possono essere la risposta. Ci sia concesso il gioco di parole, ma è un modo per introdurre questa soluzione di progetto basata su FPGA proposta da ACTEL, il cui nome …
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 …
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 …
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 …
TMS470 è la famiglia di microcontrollori per applicazioni automotive sviluppata da Texas Instruments. Basati su processore RISC ARM7TDMI a 32 bit, disponibili nelle versioni con memoria ROM o flash, i dispositivi integrano una serie di periferiche intelligenti che includono un coprocessore timer, convertitori analogico/digitali a …
Dal punto di vista dei compilatori C per PIC, il mercato offre veramente una moltitudine di prodotti, sia di fascia commerciale che gratuiti. Non c’è che l’imbarazzo della scelta e spesso l’utente, specialmente se principiante, può trovarsi in difficoltà nell’affrontare una simile scelta. Per chi programma per …
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, …
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 …
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 …
Nella maggior parte dei pic è implementata una periferica seriale, che viene identificata con il termine di “UNIVERSAL SYNCRONOUS ASYNCHRONOUS RECEIVER TRASMITTER (USART)”, nel presente articolo si fa riferimento a quella presente nel pic16f628. La USART è uguale per tutta la famiglia pic16, quindi una routine scritta per un pic16 è utilizzabile …
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 …
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 …
L’architettura AVR è del tipo RISC e dispone di un ricco ed efficiente set di istruzioni con 32 registri general purpose: questi sono connessi direttamente all’ALU in modo da renderne accessibili due contemporaneamente in un singolo ciclo di clock e poter in tal modo raggiungere velocità di …
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 …
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 …