Firmware - Novembre 2014 / N°106 - (Page 48)
TOOLS
permette di scrivere le proprie applicazioni in forme differenti come l'assembler dei
processori di riferimento consentendo di
utilizzare istruzioni specifiche.
Il codice correttamente compilato genera un file con estensione out che può essere trasferito ed eseguito nelle memorie
del calcolatore oppure inserito nelle memorie della scheda attraverso opportuni
programmi per la sua scrittura su dispositivi di tipo EEPROM: strumenti già presenti comunque nel software fornito dalla casa costruttrice Texas Instruments.
IL SISTEMA DI SCRIPTING
Con Code Composer Studio è possibile
utilizzare un meccanismo basato sugli
script consentendo di attivare, ad esempio, alcune funzionalità in modo trasparente. Infatti, attraverso il suo ambiente
integrato, o IDE, il Code Composer Studio
fornisce una libreria di comandi integrati
con Javascript o Perl utili, ad esempio,
se volessimo invocare sessioni di debug.
Non solo, con il suo debug server scripting, o DSS, è anche possibile, - sempre
ricorrendo a particolari API offerte dal
costruttore quale Javascript via Rhino o
Python con Jython -, allo scopo di garantire una maggiore flessibilità, eseguire scripting code anche fuori dal tool di
lavoro e senza la necessità di particolari configurazioni. Allo scopo di mostrare questa particolarità, Code Composer
Studio contiene un semplice script: questo script permette il caricamento e l'e-
secuzione di un programma. Per lanciare
questo script, "LoadProgram.js", occorre, una volta che si è entrato a livello di
prompt, in Windows, o shell se Unix, posizionarsi in
/ccsv5/
ccs_base/scripting/examples/DebugServerExamples e inserire il comando:
In Windows - ..\..\bin\dss LoadProgram.js
In Linux - ../../bin/dss LoadProgram.js
Possiamo, a questo punto, notare che lo
script "LoadProgram.js" è simile ai diversi script che possiamo scrivere e lanciare
nell'apposita finestra di "CCS Scripting
Console" con diverse piccole e insignificanti differenze: la chiamata alla classe
ScriptingEnvironment permette di creare l'oggetto DebugServer utilizzato al pari
quando utilizziamo la finestra CCS Scripting Console e, infine, con la direttiva import ci garantisce la possibilità
di includere qualsiasi package Java che ci
risulta utile. La forma più comune è però
quella dove lo script è invocato direttamente nella finestra della console associata. Questo script può contenere una lista di
comandi DSS che possono essere eseguiti direttamente in "CCS Scripting console".
Per fare questo è necessario creare prima
un file di testo, myscript.js, e inserire tutti
i vostri comandi come in questo esempio:
ds.setConfig( );
var debugSession = ds.openSession(".*");
debugSession.memory.loadProgram(
);
debugSession.target.run();
tch, che permette di configurare l'intero
ambiente. Questo script si trova nella cartella di installazione, o più precisamente
è possibile trovarlo in'\
Al termine è necessario eseguire il comando loadJSFile sempre nella solita console per caricare ed eseguire lo
script, in altre parole loadJSFile("c:/
Temp/myscript.js").
La console, CCS Scripting Console, è
aperta ricorrendo a 'View->Scripting
Console' dal menu principale.
Per utilizzare le diverse API che Code
Composer mette a disposizione occorre interagire in questo modo. Per prima
cosa occorre impostare il device configuration o ccxml, così ds.setConfig("C:/
ccsv4\scripting\bin'
Temp/my_device.ccxml"),
Non solo, siccome ogni script è, in sostanza, un piccolo programma Javascript
e, di conseguenza, non immune a errori,
all'interno di Code Composer Studio si trova anche un debugger (Rhino Debugger).
Questo debugger dispone di un'interfaccia
grafica che permette una facile interazione
con il proprio script: è possibile inserire un
breakpoint o vedere le variabili utilizzate.
A questo proposito la figura 1 mostra
come si presenta all'utente finale. Per
utilizzare questo debugger con i vostri
scripts, nella versione 6 è necessario:
successiva-
mente è necessario aprire una sessione di debug con var debugSession
= ds.openSession(".*") e, solo in seguito, caricare il programma con debugSession.memory.loadProgram("C:/
Temp/my_program.out").
In ultima istanza è necessario, poi, lanciare ed eseguire il programma con debugSession.target.run().
UTILIZZARE JAVASCRIPT
Per utilizzare le prerogative di Javascript
è necessario configurare l'ambiente
DSS. Ovvero, è necessario impostare, ad
esempio, le variabili d'ambiente e le classpaths. Al fine di facilitare l'utente finale,
all'interno dell'ambiente di lavoro esiste
uno script, invocato a livello di shell o ba-
(CCSv4),
'\ccsv5\ccs_base\scripting\
bin' (CCSv5) o '\ccsv6\
ccs_base\scripting\bin (CCSv6)', a se-
conda della versione di Code Composer
Studio in uso.
Ricordiamo che il file ha l'estensione .bat se
si trovassimo in ambiente Windows o .sh in
Linux (dss.bat o dss.sh). Il file deve essere
lanciato passandogli alcuni parametri:
> dss myscript.js scriptParam1 scriptParam2
> dss.bat -dss.debug myScript.js
Mentre nella versione 5.2, una volta aperto dss.bat, è necessario sostituire %RHINO_SHELL% con %RHINO_DEBUGGER%, così, da:
Tabella dei contenuti per la edizione digitale del Firmware - Novembre 2014 / N°106
SOMMARIO
FOCUS on “Don’t try this at home”
Skills Accesso e controllo remoto RF
INside
I motori Brushless DC
Silicon Labs Si106x-108x: MCU con Wireless Sub-Giga ad Alte Prestazioni
ANALOG Alimentatore DC da Banco ad Alte Prestazioni
SPOTlight Carica, Scarica e Bilanciamento dei Supercondensatori
Tools
“Low Cost Controllerless” con PIC32
Code Composer Studio: il Ruolo degli Script nello Sviluppo del Codice
Linear Technology “PowerCAD II” La Progettazione Assistita dei Convertitori DC/DC
News
EVENTS
Guida
Firmware - Novembre 2014 / N°106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-02_109
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2015-01_108
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-12_107
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-11_106
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-10_105
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-09_104
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-07_102
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-06_101
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-05_100
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-04_99
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-03_98
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-02_97
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2014-01_96
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-12_95
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-11_94
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-10_93
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-09_92
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-07_90_91
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-06_89
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-05_88
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-04_87
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-03_86
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-02_85
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2013-01_84
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-12_83
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-11_82
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-10_81
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-09_80
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-07_78-79
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-06_77
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-05_76
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-04_75
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-03_74
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-02_73
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2012-01_72
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-12_71
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-11_70
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-10_69
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-09_68
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-07_66_67
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-06_65
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-05_64
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-04_63
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2011-02_62
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-02_61
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2011-01_60
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-12_59
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-11_58
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-10_57
https://www.nxtbook.com/newpress/inwaredizioni/Firmware/2010-09_56
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-07_54-55
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-2010-06_53
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Maggio-2010-52
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Aprile-2010-51
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Marzo-2010-50
https://www.nxtbook.com/newpress/inwaredizioni/Firmware-magazine/Febbraio-2010-49
https://www.nxtbookmedia.com