Corso su ARM: programmiamo la scheda con CodeWarrior

Codewarrior

CodeWarrior Development Studio è un ambiente di sviluppo integrato (altrimenti detto Integrated Development Environment – IDE) che rappresenta per tutti i programmatori un framework estremamente potente. Tra i primi e più importanti vantaggi che propone, come vedremo, ci sono alcune feature automatizzate che renderanno lo sviluppo più veloce ed efficiente anche in applicazioni embedded di una certa complessità. Come tutti i framework, anche questo si propone in una serie di soluzioni differenti che proveranno a dare risposte ai novizi come ai professionisti aggiungendo features e funzionalità sempre più avanzate. Vediamoli insieme.

Una volta che avete scelto la vostra scheda, l'avrete studiata e ben compresa, avrete la necessità di programmarla per iniziare ogni genere di esperimento, dal più semplice al più complesso. E per fare questo, naturalmente, avete bisogno dell'ambiente di sviluppo più completo ed appropriato per le vostre esigenze. Tanto per iniziare vi serve scegliere il più congeniale, anche dal punto di vista grafico, perché no.
Dopo di che avete bisogno della giusta versione perché tutti coloro che sviluppano gli ambienti sviluppo tengono a mente che diversi possono essere progetti, di caratura e spessore particolarmente diversificati a seconda del grado di professionalità sia di chi segue il progetto sia di chi lo richiede.

Per la nostra scheda, l'FRDM-KL46Z, utilizzeremo il CodeWarrior Development Studio, un ambiente di sviluppo integrato che propone un framework estremamente potente performante adattandosi alle necessità di cui avevamo accennato. Solo che quanto detto non è corretto, o quantomeno non è tutto, perchè, come vedremo meglio più avanti, non si tratta solo di un'IDE per programmare la scheda ma contiene al suo interno compilatore e debugger. Cioè, in pratica, tutto ciò di cui potete aver bisogno per lavorar seriamente sulla scheda dall'inizio alla fine dello sviluppo. Niente male, eh?

Sul sito di Freescale c'è un'intera sezione dedicata che permetterà non soltanto di capire meglio di che cosa si tratta ma anche di scegliere la più giusta delle soluzioni, a seconda delle vostre esigenze. Ed è di questo che ci occupiamo oggi.

Le possibilità

Scegliere la giusta versione della Suite integrata non è semplice perché bisogna avere una visione già completa sia del progetto sia, almeno orientativamente, degli altri progetti che si andranno sviluppare su questa piattaforma o su altre. Perché dovete tenere presente una cosa: ciascuna di queste versioni espande non soltanto la funzionalità dedicate ma anche il supporto diverse schede appartenenti a diverse generazioni e quindi, se contate di cambiare la board su cui sviluppare il vostro progetto, potrebbe essere molto utile premunirvi con una versione con maggiore supporto per il futuro.

E adesso tutte le opzioni disponibili quando si deve scegliere il tool di sviluppo CodeWarrior più giusto: prima di tutto abbiamo le Suite di sviluppo, che sono quattro per la vedremo meglio tra poco, poi abbiamo la versione CodeWarrior Development Studios, con 3 distinte possibilità ed il CodeWarrior Run Control Devices.

Per quanto riguarda la prima soluzione, abbiamo:

Scegliendo la versione Professional avrete supporto completo per i seguenti prodotti:

  • 68K Professional Edition (Classic, Windows)
  • ColdFire Architectures, Linux Platform Edition (Classic, Linux)
  • ColdFire Architectures, Standard Edition (Classic, Windows)
  • DSC56800/E, Standard Edition (Classic, Windows)
  • HCS12(X) Standard Edition (Classic, Windows)
  • Microcontrollers Standard Edition (Classic, Windows)
  • Microcontrollers Professional Edition (Eclipse, Windows)
  • MPC5xx Professional Edition (Classic, Windows)
  • mobileGT Linux Platform Edition (Classic, Linux hosted)
  • mobileGT Professional Edition (Classic, Windows)
  • MPC55XX/MPC56XX Standard Edition (Classic, Windows)
  • Power Architecture Linux Platform Edition
  • Power Architectures Professional Edition (Classic, Windows)
  • Power Architecture, Professional Edition (Eclipse, Linux)
  • Power Architecture Professional Edition (Eclipse, Windows)
  • StarCore Professional Edition (Classic, Windows)
  • StarCore Professional Edition (Eclipse, Windows hosted)
  • Freescale eTPU Compiler/eTPU2 Compiler

Se vi indirizzerete verso la versione Standard, invece, il supporto sarà per quelli che seguono:

  • ColdFire Architectures, Linux Application Edition (Classic, Windows & Linux)
  • ColdFire Architectures, Standard Edition (Classic, Windows)
  • DSC56800/E, Standard Edition (Classic, Windows)
  • HCS12(X), Standard Edition (Classic, Windows)
  • Microcontrollers, Standard Edition (Classic, Windows)
  • Microcontrollers, Standard Edition (Eclipse, Windows)
  • MPC5xx, Debug Only Edition (Classic, Windows)
  • MPC55XX/MPC56XX, Standard Edition (Classic, Windows)
  • Power Architecture, Standard Edition (Eclipse, Windows)
  • Power Architecture, Linux Platform Edition, Debug Only
  • Power Architecture, Debug Only Edition (Classic, Windows)
  • StarCore, Professional Edition (Classic, Windows)
  • StarCore, Professional Edition (Eclipse, Windows)
  • Freescale eTPU Compiler/eTPU2 Compiler

La versione Basic vi consentirà di lavorare con:

  • ColdFire, Compiler Upgrade Edition (Classic, Windows)
  • ColdFire, Linux Application Edition (Classic, Windows & Linux)
  • DSC56800/E, 256K Compiler Upgrade Edition (Classic, Windows)
  • HCS12(X), 64K Compiler Upgrade Edition (Classic, Windows)
  • MCU, Compiler Upgrade Edition (Classic, Windows)
  • MCU, Basic Edition (Eclipse, Windows)
  • MobileGT, Flash Loader Only (Classic IDE, Windows)
  • MobileGT, Linux Applications Edition (Classic IDE, Windows & Linux)
  • Power Architecture, Basic Edition (Eclipse, Windows and Linux hosted)
  • Power Architecture, Linux Application Edition (Classic, Windows and Linux hosted)
  • Power Architecture, Flash Loader Only (Classic, Windows hosted)

E, per concludere, la versione Special vi aprirà le porte di:

  • ColdFire Architectures(Classic IDE, Windows)
  • DSC56800/E (Classic IDE, Windows)
  • HCS12(X) (Classic IDE, Windows)
  • MCU (Classic IDE, Windows)
  • MCU (Eclipse IDE, Windows)
  • MPC55xx/MPC56xx MCU (Classic IDE, Windows)

La versione Studios prevede:

  • CodeWarrior Development Studio for MCUs;
  • CodeWarrior Development Studio for Processors;
  • CodeWarrior Development Studio for DSPs and DSCs.

Run Control Devices, invece, presenta 4 tool:

Tra queste quella che dovrà certamente catturare la vostra attenzione prima di tutte le altre è la Development Studio – Special Suite perché è free trial e rappresenta il modo migliore, ne siamo sicuri, per tutti voi, di prendere confidenza con l'ambiente di sviluppo in maniera rapida e sufficientemente intuitiva. Sebbene si tratti di una versione Trial, limitata solo nell'utilizzo e non la funzionalità, dal momento che la versione sarà full ma limitata nel tempo ad un periodo di 30 giorni, avrete tutta la libertà di sperimentare le possibilità offerte.

Non abbiamo finito, in realtà, perchè esistono altre due soluzioni, la Freescale eTPU(2) Development Suite ed anche il Processor Expert Software. Nel secondo, in particolare, avremo modo di parlare molto approfonditamente nella prossima puntata e non sarà il solo ospite. Vi anticipiamo che grazie alla prossima, la seconda fase del nostro corso si potrà considerare conclusa ed inizieremo a lavorare sperimentalmente sulla scheda proprio grazie a queste soluzioni software.

Se cercate altri dettagli, la documentazione completa, le istruzioni per l'uso ed una serie di guide relative ai primi passi, potete sempre fare riferimento a questa pagina.

Freescale, molto attenta scrupolosa rispetto ai suoi utenti, ha previsto sul sito, come potete vedere voi stessi grazie al link riportato in precedenza, una sezione dedicata proprio alla scelta della Suite più utile per voi. La trovate nella sezione che prende il nome di "Choosing the right CodeWarrior Suite". Considerate che si tratta di un investimento vero e proprio per cui è importante sapere come farlo e su cosa puntare.

Leggete attentamente, quindi, non soltanto questo articolo ma tutto il resto della documentazione riportata sul sito Freescale per farvi la migliore e più completa delle idee possibili.

Nella documentazione ufficiale predisposta da Freescale troverete diverse guide e file di interesse. Tra gli altri, alcuni utili per chi comincia, come i *.pdf:

Tutti questi documenti vi permetteranno di avere accesso all'elenco completo di tutti i microcontrollori, e di tutte le schede basate su di essi, che possano essere supportati dalla specifica versione della soluzione software. Consultate questi elenchi e saprete con certezza se e come la vostra scheda può essere supportata.

Esistono poi riferimenti alla Community, molto ben sviluppata, che trattano di tool di sviluppo.
Gli ultimi file che potrete trovare riguardano i termini di licenza e le istruzioni per la registrazione.

Esiste, inoltre, una versione del CodeWarrior denominata Development Studio for Microcontrollers v10.5; si tratta di una nuova release che implementa tool per il build, il debug ed anche il software Processor Expert, già nominato in precedenza, un software dedicato allo studio delle performance. È possibile anche effettuare un debug multi-core  che supporti di microcontrollori Qorivva MCUs ed il MQX RTOS task-aware  per tutti il microcontrollore della serie Kinetis.

CodeWarrior Special Suite

Cosa vi permetterà di fare questo tool? Quali prodotti contiene? La lista è presto fatto: ColdFire Architectures, DSC56800/E, HCS12(X), MCU (Classic e Eclipse IDE, MPC55xx/MPC56xx MCU.
La sua documentazione, invece, prevede una brochure che prende il nome di BRCWPPI e che tratta delle CodeWarrior Development Tools Suites, una guida rapida, denominata CW-SUITE-QS, che vi aiuterà a muovere i primi passi nella CodeWarrior Development Suite, la 950-00437, ovvero una guida a tutte le CodeWarrior Suites.
Ci saranno, inoltre, una guida rapida al CodeWarrior Development Suite, denominato 926-76000 ed infine un Fact Sheet riguardante, più in generale, CodeWarrior, dal nome CODEWARRIORFS.

CodeWarrior Development Studio for Microcontrollers

Vediamo, prima di lasciarci, qualcosa su questa soluzione. Essa fa della flessibilità il suo cavallo di battaglia riesce per questo per rendere più efficace tutto il lavoro che si svolge su questa piattaforma. Si tratta di una Suite integrata progettata per permettere di lavorare più velocemente su tutti gli RS08, HC(S)08 e V1 ColdFire che compaiono nella Freescale Controller Continuum.

Sia che il vostro progetto sia ad 8 bit, un'applicazione entry-level come un rivelatore di fumo, oppure un'applicazione high-end a 32 bit, riuscire ad avere tutti gli strumenti che mi servono per poter lavorare.

Un aspetto fondamentale, assolutamente non trascurabile di questa soluzione è la facilità con la quale potrete far migrare il posto codice grazie a Processor Expert; se lo utilizzerete, vi renderete conto che la migrazione del codice sarà molto semplice che basterà definire le funzionalità di cui avete bisogno della vostra applicazione e Processor Expert si occuperà il sesso di generare codice C testato ed ottimizzato per l'applicazione singola sul microcontrollore selezionato. Altro aspetto positivo sarà la facilità con la quale potrete cambiare, eventualmente, il microcontrollore coinvolto nel vostro esperimento ed il Wizard interno permetterà di rielaborare facilmente il codice.

Ecco un'immagine del programma al lavoro:

(fate click sull'immagine per ingrandirla)

(fate click sull'immagine per ingrandirla)

Siamo ai saluti

Che ve ne pare? Come vi sembrano queste Suites? Avete avuto modo di guardarle nel dettaglio? Avete letto la documentazione? Avete visto di cosa sono capaci? Quale scegliereste?
E ancora: ne avete mai usata una? Se sì, per cosa?
Ed è con la consueta caterva di domande che vi salutiamo e vi diamo appuntamento alla prossima puntata; mercoledì prossimo tratteremo di MQX Lite e Processor Expert, per completare tutta la panoramica sul software di cui avete bisogno. Alla prossima.

 

                    

Per ulteriori informazioni potete scrivere a questa email: ggalletti@arroweurope.com

Leave a Reply