Il potente ambiente di sviluppo proposto per applicazioni embedded, non mancherà di stupirvi per la sua grande capacità di adattamento alle dimensioni del progetto.
Code Warrior è un ambiente di sviluppo integrato, utilizzato dagli utenti per sviluppare applicazioni con microprocessori e DSC. L’ambiente è strutturato in modo da risultare multi target (vari tipi di microprocessore supportati), multi language (vari tipi di linguaggi di programmazione) e multi host (piattaforma Windows/Linux supportate). Inoltre, Code Warrior consente lo sviluppo di applicazioni per Playstation, Nintendo, Sony e telefonia mobile. L’ambiente di sviluppo è composto dai moduli che seguono.
Project Manager
Consente la gestione delle risorse di livello alto nell’ambito del progetto, organizza in gruppi i vari file del programma, gestisce le date ed i livelli di revisione del software scritto dal progettista, coordina, tramite plug-in, il controllo delle varie versioni e consente l’accesso al supporto del sistema operativo (RTOS).
Text Editor
Consente la creazione e modifica delle linee di codice in formato sorgente, con una modalità perfettamente integrata con l’ambiente di sviluppo IDE (figura 1).
Search Engine
Consente il confronto tra strutture di file e ne evidenzia le differenze funzionali, per individuare specifiche porzioni di testo e sostituirle o modificarle in ogni ricorrenza nell’ambito di ciascun file o all’interno di più file.
Source Browser
Ricerca e mostra i simboli utilizzati nel programma sia in formato di oggetti che in forma testuale: nomi di variabili, simboli, funzioni, ecc, consentendo la navigazione all’interno del programma e stabilendo un link continuo tra il codice oggetto ed i nomi delle procedure utilizzate dal progettista.
Build System
Complila, linka ed assembla, converte il codice sorgente in codice eseguibile rendendolo utilizzabile in altri contesti di sviluppo.
Debugger
Consente l’utilizzo dei break point, il monitoraggio delle variabili, l’avanzamento a step del programma per poterne definire la funzionalità. Il modulo debugger associa ad una potente interfaccia grafica (GUI) una serie di strumenti che aiutano il progettista nello sviluppo rapido del lavoro, raggiungendo in tempo utile i risultati proposti. La messa a punto del codice scritto in linguaggio C/C++ viene gestito in modo del tutto nuovo, grazie alla tecnica del “point and click” che rende il lavoro facile e veloce. Code Warrior è disponibile in varie edizioni, a partire dalla versione di valutazione gratuita, con alcune restrizioni, per finire a quella professionale, più completa ed ovviamente anche più costosa. Il prezzo della suite varia notevolmente dal modello Basic al modello Professional. Tuttavia è possibile sottoscrivere una licenza annuale che dà diritto al supporto ed all’aggiornamento on line per un anno, ovviamente meno costosa, oppure acquistare una licenza perenne. La scelta dell’edizione da utilizzare dipende, innanzitutto, dalla dimensione del progetto da sviluppare e poi dal tipo di microprocessore scelto. Per applicazioni in ambito Linux sono disponibili due edizioni: Linux Application e Linux Platform. La prima è adatta ad applicazioni che utilizzano un kernel Linux con i suoi driver nativi e la seconda, operante su sistema operativo Linux, consente di interagire con le risorse di programmazione Linux fino alla generazione di driver specializzati. Comunque, per applicazioni limitate fino a circa 32/64 Kb di codice, la versione Special disponibile “for free” (gratuita) risolve egregiamente il problema, lasciando i costi di acquisto della licenza agli utenti professionali ed alle applicazione a maggiore valore aggiunto, dove si giustifica la spesa. Personalmente ho potuto valutare l’efficienza di utilizzo del pacchetto CWX-MCU-SE Window based in una applicazione del microprocessore MC9S08JM60 per realizzare un dispositivo USB con interfaccia HID. In particolare, si apprezza il notevole supporto in termini di strumenti e documentazione che compongono il pacchetto. Code Warrior supporta, inoltre, le famiglie MCP51/52xx, MPC5xx, MPC55/56xx, 68K, Mobile GT Power Architecture, Star Core e molte altre ancora per entrambe le piattaforme Windows e Linux. Il range delle famiglie supportate si estende, quindi, dai microprocessori a 8 bit fino ai modelli da 32 bit e al Digital Signal Controller (DSC) per i settori più avanzati della tecnologia. Ovviamente, non essendo possibile sintetizzare le innumerevoli prestazioni delle varie “suite” di sviluppo, si rimanda al sito ufficiale per l’approfondimento dei contenuti. Una volta individuato il processore che si intende utilizzare, conviene scaricare dal sito il documento “Quick Reference Guide for Code Warrior”. Tramite questa guida sarà facile individuare il pacchetto che meglio si addice alle nostre esigenze, di solito la versione “special” consente di affrontare e spesso risolvere il problema in maniera del tutto gratuita. Attenzione, però, il pacchetto è abbastanza “pesante”, oltre i 700 Mb, ed il download è di conseguenza lungo, meglio perdere qualche minuto in più a individuare la suite giusta. Il pacchetto di valutazione gratuita è disponibile sul sito ufficiale.