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