Firmware - Ottobre 2014 / N°105 - (Page 45)

TOOLS Senza dilungarsi in righe e righe che potranno sembrare una ripetizione inutile, si procede con la creazione della cartella del progetto, si passa dunque alla creazione dei nuovo progetto in X IDE assegnando come percorso di lavoro la directory appena creata, si passa poi alla stesura del main file, il main.c, con la dichiarazione della funzione standard, per poi arrivare alla stesura del system configuration file dipendente dal microcontrollore in uso. IDENTIFICARE LE LIBRERIE INTERESSATE Il punto di forza del framework sono le librerie che vengono messe a disposizione del programmatore, risulta quindi importante individuare per la stesura del listato quali sono necessarie al corretto funzionamento dello stesso. Una volta in operatività con MPLAB X IDE, si è pronti per cominciare a realizzare l'applicativo per il sistema che si ha intenzione di realizzare. Il framework sostanzialmente si divide in tre sezioni: - Libreria di sistema: alcune periferiche, come le porte di Input/Output e gli Interrupt del controllore, supportano tutte le risorse messe a disposizione dagli altri moduli applicativi. Queste risorse sono realizzate per eliminare i conflitti tra i driver e il middleware, garantendo alla propria applicazione una stesura più facile. - Libreria delle periferiche: Se nessu- na tra le librerie di sistema o i driver del dispositivo permette di accedere a tutte le funzionalità di cui si ha bisogno, ecco che la libreria delle periferiche (o PLIB) viene in soccorso al programmatore. Mediante questa funzionalità, l'interfacciamento con il dispositivo è al più basso livello conosciuto, il ché richiede dal programmatore una maggiore attenzione per le modifiche che verranno apportate in fase di compilazione. D'altro canto però ogni modulo che si interfaccia con PLIB sarà proprietario dell'esecuzione in corso, dando un controllo pieno al sistema. - Libreria driver: Essendo Harmony un sistema modulare o "a stack" è chiaro che alcuni moduli dipendono da altri, che a loro volta sono consentiti solamente se in esecuzione se ne presentano degli altri. Generalmente, però, il driver di un dispositivo dipende solamente dalla libreria della periferica e dall'esecuzione di alcuni pacchetti di sistema. Nella libreria saranno messi a disposizione tutti gli utensili necessari per l'interfacciamento codice macchina. Se ciò non è agevole, Harmony copia la libreria direttamente all'interno della cartella del progetto. La cosa più efficiente da fare in questi casi è creare un sotto-progetto in modo da poter compilare singolarmente ogni parte dello stesso. Configurare il modulo Quasi tutte le librerie a disposizione richiedono la specifica di un ingente numero di parametri di configurazione in fase di programmazione. La maggior parte delle volte i valori di default sono ottimali per il progetto in corso, ma spesso l'autore preferisce adattare il comportamento del codice alle proprie esigenze. Ci sono invece altri parametri, definiti critici, che vengono forniti senza valore standard, appunto perché il programmatore ponga attenzione nella scelta dello stesso. Per identificare che la configurazione supporti ogni singola libreria è bene leggere attentamente le specifiche in dotazione ma, una volta individuato il valore opportuno, basterà inserire il parametro all'interno del file system_config.h. Un esempio dello stesso è visibile nel listato 1. Listato 1: Code: system_config.h #ifndef _SYSTEM_CONFIG_H #define _SYSTEM_CONFIG_H /* Prevent superfluous PLIB warnings. */ #define _PLIB_UNSUPPORTED /* TMR Driver Build Options */ #define DRV_TMR_INSTANCES_NUMBER 1 #define DRV_TMR_CLIENTS_NUMBER 1 #define DRV_TMR_INTERRUPT_MODE false #define DRV_TMR_COUNT_WIDTH false . .. ... di quelli che probabilmente, in assenza di uno strumento del genere, avrebbero fatto passare serate insonni anche al programmatore più esperto. CONCLUSIONI Aggiungere un modulo al progetto Una volta individuata la libreria interessata, è giunto il momento di inserirla nel progetto. Nella maggior parte dei casi sono forniti i sorgenti delle librerie, quindi la cosa più semplice da fare non è altro che copiare il codice e inerirlo all'interno del listato. I framework non rappresentano una tecnica innovativa, ma da molti anni aiutano gli sviluppatori alla realizzazione degli applicativi. Nell'ambito dei microcontrollori, e più specificatamente nei PIC, permettono di implementare anche gli interfacciamenti più complessi, del tipo http://microchip.wikidot.com/tls2501:start http://whatis.techtarget.com/definition/framework http://www.microchip.com/pagehandler/en-us/ family/mplabx/ http://microchip.wikidot.com/tls2501:start http://whatis.techtarget.com/definition/framework http://www.microchip.com/pagehandler/en-us/family/mplabx/ http://www.microchip.com/pagehandler/en-us/family/mplabx/ http://www.fwonline.it/fw/?page_id=7

Tabella dei contenuti per la edizione digitale del Firmware - Ottobre 2014 / N°105

SOMMARIO
FOCUS on “Infrared Gesture Sensing”
Skills
Leggere le Termocoppie con TI MSP430
Rilevazione del Tocco Senza Interferenze
INside
File System in soluzione embedded: la proposta di Renesas
Analisi e Misura dell’Impedenza del Sangue
ANALOG Un controller per i motori Brushless DC
SPOTlight
PLL a N frazionario con VCO Integrato da oltre 6GHz
Addio DDR, Benvenuta Memoria Seriale!
Tools
MPLAB® Harmony: il framework targato Microchip
LA PIATTAFORMA ZYNQ-7000 AP SoC Intelligent Drives
ALTERA ModelSim
News
EVENTS zapping
Guida

Firmware - Ottobre 2014 / N°105

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