Tutorials - PIC

 

ICSP-ICD



ICD

ICD (In Circuit Debug) è un modulo integrato nei PIC che permette di effettuare un debug senza richiedere hardware speciale.

Con debug si intende la possibilità di seguire passo passo lo svolgersi delle istruzioni del programma, l' arresto del programma con breakpoint, l' accesso ai registri di memoria e la possibilità di modificarli, l' accesso agli SFR con la possibilità di modificarli, ecc.

Questo permette di essere in diretto contatto con l' hardware e il firmware del sistema in sviluppo, correggere errori di logica e di comando, verificare il funzionamento di quanto collegato ai pin. 

Il supporto è dato da uno dei tools economici come i PICkit o gli ICD oppure anche da strumenti più sofisticati come il REAL ICE, che comunicano con il processore attraverso due pin, in via seriale sincrona (dati + clock).

Qualunque sia la tipologia del chip, il Costruttore ha previsto di utilizzare gli stessi pin della programmazione; di conseguenza basta un solo connettore comune, installato sulla scheda, per debuggare e programmare senza bisogno di altro che di uno dei tools, tra cui ce ne sono di estrememente econom ici (PICkit)..

Per ICD serviranno

  • ISCPDATA - PGD

  • ICSPCLK - PGC

Questi pin possono essere resi disponibili all' esterno della scheda attraverso un semplice connettore unificato. Questo, se realizzato correttamente, permette ii debug del programma senza togliere il chip dalla scheda su cui è montato (indispensabile per gli smd).

Questa connessione viene chiamata ICD - In Circuit Serial Programming, ed esendo in comune con ICSP, si denomina anche ICSP-ICD.

Inoltre, in diversi PIC è stata implementata una circuiteria ausiliaria che ha lo scopo di supportare la funzione di debug on-board, direttamente attraverso le risorse del componente e senza aggiungere altri moduli esterni.
Questa funzione è denominata ICD (In Circuit Debugger).
Attraverso l' ICD è possibile avanzare passo-passo le istruzioni, eseguire il programma con breakpoint, visualizzare i registri di memoria e modificarli, visualizzare gli SFR e modificarli, il tutto senza rimuovere il chip dalla sua posizione sulla scheda.


  • Non tutti i PIC dispongono di questo modulo, la cui implementazione aumenta il costo del componente; di conseguenza è possibile trovare chip che ne sono privi perchè previsti per produzione di massa, dove il costo del componente diventa sensibile. Questo va verificato consultando il foglio dati.
     

  • Per questi componenti Microchip ha una serie di adattatori (headers) che permettono lo sviluppo.
     

  • La funzione ICD utilizza gli stessi pin ICSPDATA-ICSPCLK che sono usati in programmazione e li impegna per tutto il tempo del debug, dove non possono essere utilizzati per altri scopi. Però, al termine del debug, i pin sono rilasciati alla destinazione prevista dal programma

 

Vediamo i dettagli.


L' hardware di ICD

E' lo stesso identico di quello descritto per ICSP: un connettore a 6 poli che mette in comunicazione il dispositivo di sviluppo con il chip sulla sua scheda.

  1. Vpp - non utilizzato
  2. Vdd +V
  3. Vss GND
  4. ICSPDATA - PGD
  5. ICSPCLK - PGC
  6. PGM - non utilizzato

Nulla di più !

Non serve nient' altro che un semplice connettore ! 

Più semplice di così: solo un connettore comune è sufficiente per cambiare totalmente il modo di lavorare.
E questo si può fare sia su breadboard che sul circuito stampato o su millefori, mentre è di default sulle board di valutazione e di sviluppo di Microchip e praticamente di tutti i costruttori terzi.

Valgono le stesse indicazioni date per ICSP.

PGM e Vpp non vengono usati in ICD.

GND deve essere la massa comune.

Vdd può essere usata per alimentare il circuito sotto test attraverso i tools che possono fornire tensione, come i PICkit. Altrimenti sarà necessario alimentare la scheda separatamente e la connessione Vdd non sarà usata.

Il software che controlla il debug è incorporato in un ambiente di sviluppo; quello di Microchip è MPLAB IDE ed è disponibile gratuitamente in download dal sito del Costruttore.



 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 30/03/13.