Embedded_53 - page 68

EMBEDDED
53 • SETTEMBRE • 2014
68
SOFTWARE
DEVELOPMENT SYSTEMS
scun tool rappresenti l’input
per il successivo. Il termine è
comunque utilizzato in manie-
ra più estesa per riferirsi,
più in generale, a qualunque
insieme di tool di sviluppo
collegati tra loro.
Gli strumenti di sviluppo
disponibili in ambiente GNU/
Linux sono costituiti da una
toolchain nativa, che viene
eseguita sulla workstation e
genera codice per quella wor-
kstation, di solito x86.
Per lo sviluppo di sistemi
embedded, la disponibilità
e l’utilizzo di una toolchain
nativa è impossibile in molti casi e comunque ben poco
interessante in quanto:
• il target dispone usualmente di un quantitativo limitato
e a volte alquanto ristretto di storage e/o memoria;
• il target è molto lento comparato alla tua workstation;
• si potrebbe non voler installare tutti i tool di sviluppo
sulla scheda target.
Perciò sono utilizzate, generalmente, delle cross-compiling
toolchain. Eseguite sulla workstation permettono di gene-
rare codice per il target.
Esistono diversi microcontrollori con tool chain free, tra
cui figurano:
• Atmel AVRMega e AVRTiny (il cuore della piattaforma
Arduino);
• Atmel AVR32 (che include un kernel Linux);
• Texas Instruments MSP430;
• Axis 100LX, utilizzata nella Foxboard;
• ARM7 e oltre. A partire da ARM9 è incluso un kernel
Linux.
Esempi hardware dove trovano spazio questi microcontrol-
lori: Raspberry PI, un single-board computer sviluppato nel
Regno Unito dalla Raspberry Pi Foundation verso la fine
del mese di febbraio 2012; Arduino, un framework open
source che permette la prototipazione rapida nonché l’ap-
prendimento rapido dei principi fondamentali dell’elettro-
nica e della programmazione; la FOX Board G20, un micro
sistema Linux made in Italy ideato a realizzato da Acme
Systems srl: si tratta di una scheda di ridotte dimensioni
con Linux preinstallato e funzionante.
Linguaggio C
embedded
Il linguaggio di programmazione C è stato originariamente
sviluppato su sistemi Unix da Dennis Ritchie. Una delle
migliori caratteristiche di C è che non è legato ad alcun
particolare hardware o sistema. Ciò rende facile a un
utente scrivere programmi che verranno eseguiti senza
alcuna modifica su praticamente quasi tutti macchinari. C
è spesso chiamato anche linguaggio di programmazione
di medio/alto livello per come combina gli elementi dei
linguaggi ad alto livello con il funzionalismo del linguaggio
assembly.
Scegliere un compilatore C per lo sviluppo di applicazioni
embedded è un passo importante che il progettista deve
compiere, soprattutto quando decide di passare dall’as-
sembler a un linguaggio di alto livello. In commercio si
può trovare una varietà di compilatori C-C++ anche open
source o commerciali.
Un esempio classico è il Gcc GNU, utilizzato come compi-
Fig. 2 – CodeWarrior
Fig. 3 – IAR Workbench
1...,58,59,60,61,62,63,64,65,66,67 69,70,71,72,73,74,75,76,77,78,...86
Powered by FlippingBook