IAR Embedded Workbench per ARM è un ambiente di sviluppo integrato (IDE) progettato per consentire lo sviluppo ed il debug di applicazioni embedded per il microprocessore ARM. Il pacchetto include un compilatore C/C++ in grado di raggiungere un livello di ottimizzazione del codice molto elevato, generando così un eseguibile per FLASH e PROM molto compatto ed efficiente.
Un IDE modulare ed estensibile
L’IDE IAR Embedded Workbench presenta delle caratteristiche molto potenti ed utili tra cui:
- un project manager in grado di gestire progetti multipli nello stesso workspace
- ciascun progetto può essere rappresentato con una struttura gerarchica
- le opzioni del tool possono essere configurate ed applicate a singoli file, a gruppi di file, oppure ad un livello globale
- supporto per la compilazione di file multipli in grado di generare un codice con un’ottimizzazione estremamente elevata
- possibilità di integrazione con strumenti per il controllo di configurazione del codice sorgente
L’immagine seguente mostra il contenuto di una tipica schermata dell’IDE di IAR Embedded Workbench:
Ampio supporto per i processori ARM
IAR fornisce il supporto per numerosi tipi di processori ARM, inclusi i seguenti:
- ARM7 (ARM7TDMI, ARM7TDMI-S e ARM720T)
- ARM7E (ARM7EJ-S)
- ARM9 (ARM9TDMI, ARM920T, ARM922T e ARM940T)
- ARM9E (ARM926EJ-S, ARM946E-S e ARM966E-S)
- ARM10E (ARM1020E e ARM1022E)
- ARM11
- SecurCore (SC100, SC110, SC200, SC210)
- Cortex-M1
- Cortex-M3
- Xscale
Per i microcontrollori basati sull’architettura ARM dei seguenti fabbricanti sono inoltre fornite e pronte per l’uso le definizioni relative ai registri delle varie periferiche: Actel, Analog Devices, Aiji Systems, ARM, Atmel, Cirrus Logic, Freescale, Keil, LogicPD, Luminary, Micronas, Nohau, OKI, Olimex, Pasat, NXP, Phytec, STMicroelectronics, Texas, ecc.
Oltre al compilatore C/C++, il Workbench comprende i seguenti strumenti: assembler, linker, gestore delle librerie, text editor, project manager, ed il debugger C-SPY. Fanno inoltre parte di IAR Embedded Workbench per ARM un utilissimo flash loader per la maggiorparte dei dispositivi, ed oltre 1400 progetti di esempio.
Compilatore C/C++ con elevata ottimizzazione del codice
Il compilatore fornito con il Workbench presenta diverse funzionalità interessanti; tra queste, le seguenti meritano di essere menzionate:
- Supporto completo per I linguaggi C e C++, inclusi i namespace, i template, e lo Standard Template Library (STL)
- Conformità con gli standard EABI (Embedded Application Binary Interface) e CMSIS (ARM Cortex Microcontroller Software Interface Standard)
- Supporto per le regole di controllo di conformità allo standard MISRA C (MISRA C versione 2004), molto richiesto per applicazioni nel settore automotive
- Supporto per applicazioni da 4 Gb applications in tutte le modalità previste dal processore
- Supporto per le variabili a 64-bit di tipo long-long
- Supporto per la scrittura di codice rientrante
- Supporto per I tipi in virgola mobile a 32- e 64-bit second oil formato previsto dallo standard IEEE
- Possibilità di scrivere funzioni di risposta agli interrupt (ISR) direttamente in C/C++
- Librerie run-time fornite unitamente al corrispondente codice sorgente
- Oltre 1400 progetti di esempio per diversi tipi di evaluation board
Il debugger C-SPY
IAR C-SPY può essere utilizzato per eseguire il debug sia a livello puramente software oppure direttamente sul sistema target. C-SPY è un debugger per linguaggi di alto livello destinato ad applicazioni di tipo embedded: esso è progettato per essere impiegato unitamente al compilatore e all’assemblatore di IAR Systems per l’architettura ARM, ed è completamente integrato nell’IDE, fornendo uno strumento di sviluppo e di debug integrati nella stessa applicazione. I debugger C-SPY sono disponibili per la maggiorparte dei microcontrollori ARM nelle versioni simulatore, emulatore, e ROM-monitor. La versione simulatore, come dice il nome stesso, simulate le funzionalità del processore target interamente a livello software. La versione emulatore permette invece di controllare un emulatore in-circuit (ICE), collegato al sistema host; i tipi di interfacciamento più utilizzati includono: IAR J-Link probe con connessione USB oppure Ethernet, JTAG, Remote Debug Interface (RDI), ecc.
La versione ROM-monitor, infine, rappresenta una soluzione a basso costo per il debug di applicazioni real-time. Le principali caratteristiche del debugger C-SPY possono essere così sintetizzate:
- Supporto per il processore Cortex-M3
- Possibilità di impostare i breakpoint sia a livello hardware che a livello software
- Possibilità di analizzare il contenuto dello stack in tempo reale: un’apposita finestra dell’IDE permette di controllare l’integrità e l’utilizzo dello stack durante l’esecuzione del programma. Viene anche supportata una funzionalità di visualizzazione dello stack all’indietro, anche per I livelli di ottimizzazione più elevati
- Disponibilità di strumenti in grado di eseguire l’analisi statica e la misura del grado di copertura del codice integrati nel debugger
- Utilità avanzata di trace in grado di tracciare il flusso dell’applicazione durante la sua esecuzione; espressioni, registri, variabili, e contenuto di aree di memoria possono essere facilmente ispezionati ed analizzati
- Completa simulazione degli interrupt e delle procedure di I/O
Nella seguente imagine viene mostrata un’applicazione in fase di debug con lo strumento C-SPY.
Supporto per Real Time Operating System
IAR Embedded Workbench per ARM include il supporto per numerosi tipi diversi di RTOS. Alcuni di essi sono gestiti attraverso dei plug-in integrati nell’ambiente di sviluppo, altri richiedono invece l’acquisto di un apposito plug-in dal corrispondente fornitore. Esempi di RTOS appartenenti al primo grppo includono: IAR PowerPac, CMX-RTX/Tiny+, Micrium μC/OS-II, OSE Epsilon, OSEK (ORTI).
Il plug-in relativo ad ogni RTOS installa un certo numero di nuove finestre per il debugger C-SPY. In particolare, sono molto importanti ed utili le finestre relative ai task ed ai thread, all’interno delle quali possono essere impostati specifici breakpoint, e ciascun task o thread può essere eseguito in modalità step-by-step. Diverse finestre di ispezione (inspector windows) permettono poi di visualizzare il contenuto delle strutture dati interne dell’RTOS, come ad esempio i timer, le code, i semafori, le risorse condivise, e le mailbox.
IAR PowerPac
IAR Embedded Workbench per ARM include anche l’evaluation edition di IAR PowerPac, un piccolo RTOS combinato con un file system molto versatile. La versione di valuazione di IAR PowerPac supporta la gestione di tre task a livello di RTOS e la gestione di un file aperto a livello di file system.
IAR PowerPac è un sistema operativo real-time (RTOS) completo basato su un file system dalle prestazioni elevate. IAR PowerPac è profondamente integrato con IAR Embedded Workbench e viene fornito con progetti di esempio e software di supporto per evaluation board di diversi fabbricanti.
La famiglia IAR PowerPac include anche altri due prodotti: IAR PowerPac USB e IAR PowerPac TCP/IP. Questi sono venduti opzionalmente come add-on di IAR PowerPac per ARM. IAR PowerPac FTP server è un’estensione opzionale che aggiunge il protocollo FTP allo stack TCP/IP di IAR PowerPac.
IAR PowerPac per ARM supporta i dispositivi della serie ARM7, ARM9, ARM9E, ARM10E, ARM11, SecurCore, Cortex M3, e XScale.
Integrazione con Eclipse
I tool di sviluppo per ARM di IAR Systems possono essere anche integrati con l’IDE Eclipse. Ciò consente all’utilizzatore di Eclipse di costruire un’applicazione usando il compilatore IAR C/C++, l’assemblatore IAR, ed il linker IAR ILINK. Il debugging con Eclipse non è supportato, tuttavia il codice generato può essere debuggato usando il tool C-SPY. Il plug-in necessario per integrare gli strumenti di IAR Systems in Eclipse può essere richiesto gratuitamente contattando [email protected].
Evaluation edition
Un’evaluation edition di IAR Embedded Workbench per ARM con una licenza d’uso di 30 giorni può essere scaricata qui.
Post del 28 aprile
La versione di valutazione la puoi scaricare a questo indirizzo:
http://supp.iar.com/Download/SW/?item=EWARM-EVAL
mentre se sei interessato al prodotto completo puoi contattare direttamente IAR a questo indirizzo:
http://www.iar.com/website1/1.0.1.0/667/1/
Saluti,
slovati