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