Accelerazione della prototipazione e degli aggiornamenti del codice con un moderno debugger in-circuit

Di Kenton Williston

Contributo di Editori nordamericani di DigiKey

Gli sviluppatori sono sotto pressione per accelerare la consegna dei prodotti, anche se i sistemi embedded si fanno sempre più complessi. I debugger in-circuit (ICD) svolgono un ruolo cruciale, aiutando a identificare e risolvere rapidamente i bug. Tuttavia, i debugger tradizionali sono ingombranti, poco flessibili e difficili da usare, il che li rende inadatti alle attuali esigenze di sviluppo.

Gli sviluppatori possono invece scegliere una soluzione moderna, compatta, con funzionalità ampliate e con set di strumenti più semplici per gli sviluppatori. In particolare, devono ricevere il supporto per lo sviluppo rapido e l'aggiornamento dei prodotti in laboratorio e sul campo.

Questo articolo descrive brevemente il ruolo e i requisiti degli ICD. Presenta quindi una soluzione di Microchip Technology come esempio di ciò che gli sviluppatori dovrebbero richiedere in un moderno ICD. Sono menzionati anche strumenti di sviluppo compatibili, forniti suggerimenti per iniziare e una guida rapida all'utilizzo di un ICD in un ambiente di produzione.

Vantaggi e sfide degli ICD

Un ICD è uno strumento che si collega a un processore installato nell'hardware target. Questa connessione consente l'accesso in tempo reale al processore durante il funzionamento del sistema, permettendo di eseguire operazioni come l'esecuzione passo-passo e l'ispezione della memoria. Un programmatore in-circuit (ICP) si basa su queste capacità consentendo di scrivere codice e dati nella memoria del processore. Insieme, queste caratteristiche sono fondamentali per il processo di sviluppo embedded.

Tuttavia, i debugger tradizionali richiedono competenze specialistiche e ambienti di sviluppo che possono limitarne l'utilità. Questi debugger possono anche avere limitazioni nella risoluzione dei problemi dell'hardware di produzione e spesso richiedono connessioni JTAG che non è possibile implementare sull'hardware di produzione a causa dei vincoli di costo e di spazio. Inoltre, il software e l'hardware specializzati necessari per il debug potrebbero essere ingombranti da portare sul campo.

L'ICD/ICP MPLAB PICkit 5 PG164150 di Microchip Technology supera questi vincoli. Tra le altre caratteristiche, può essere utilizzato attraverso un'applicazione per smartphone con connettività Bluetooth Low Energy (BLE). Ciò consente ai tecnici di distribuire immagini di codice sul campo, ampliando notevolmente le possibilità di correzione dei bug e di aggiornamento del software.

Caratteristiche principali di MPLAB PICkit 5

MPLAB PICkit 5 è un dispositivo versatile che supporta quasi tutte le unità microcontroller (MCU) e i controller di segnali digitali (DSC) di Microchip Technology, compresi i dispositivi PIC, dsPIC, AVR e SAM (basati su ARM® Cortex®). Come mostrato nella Figura 1, incorpora uno slot per schede microSDHC che consente allo strumento di memorizzare più immagini nella memoria del dispositivo.

Immagine di MPLAB PICkit 5 di MicrochipFigura 1: MPLAB PICkit 5 con evidenziate le caratteristiche principali. (Immagine per gentile concessione di Microchip Technology)

MPLAB PICkit 5 si collega all'host tramite un cavo USB Type-C e può essere alimentato sia tramite questo cavo che dal dispositivo target. Il debugger include anche la connettività BLE, che consente agli utenti di accedere allo strumento da uno smartphone.

Il debugger dispone di un connettore di programmazione a 8 pin sul lato del dispositivo target che supporta varie interfacce. Queste includono JTAG a 4 fili, Serial Wire Debug (SWD), Ethernet, JTAG a 2 fili retrocompatibile e programmazione seriale in-circuit (ICSP). Microchip Technology offre la scheda di espansione AC102015 (Figura 2) che supporta tutte queste interfacce.

Immagine della scheda di espansione AC102015 di Microchip TechnologyFigura 2: La scheda di espansione AC102015 può accettare un'ampia gamma di interfacce. (Immagine per gentile concessione di Microchip Technology)

Il debugger supporta tensioni di alimentazione del dispositivo target da 1,2 V a 5,0 V per l'ingresso in modalità programma a bassa tensione e da 1,8 V a 5,0 V per l'ingresso in modalità programma ad alta tensione. Può anche alimentare direttamente il dispositivo target con 150 mA.

Le funzionalità aggiuntive includono una porta di comunicazione virtuale (VCOM), molteplici punti di interruzione hardware e software, un cronometro per le operazioni di temporizzazione e la possibilità di eseguire direttamente il debug dei file del codice sorgente. Il debugger è alimentato da un MCU ATSAME70N2 da 300 MHz che esegue un sistema operativo in tempo reale (RTOS), garantendo l'assenza di ritardi nel download del firmware quando si passa da un dispositivo all'altro. Questa intelligenza integrata consente inoltre al debugger di supportare nuovi dispositivi e funzioni finali.

Principali miglioramenti rispetto a MPLAB PICkit 4 e MPLAB PICkit 3

La serie MPLAB PICkit si è evoluta con miglioramenti in termini di flessibilità, velocità e compatibilità dei dispositivi a ogni iterazione. La Tabella 1 riassume gli aggiornamenti critici di MPLAB PICkit 5 rispetto ai suoi predecessori.

Caratteristica MPLAB PICkit 3 MPLAB PICkit 4 MPLAB PICkit 5
Dispositivi supportati PIC PIC, dsPIC Tutte le architetture Microchip
Connettività cablata USB Mini Micro-USB USB Type-C
Connettività wireless No No Bluetooth Low Energy (BLE)
Programmazione remota No No Programmer-To-Go (PTG)
Programmazione sul campo No Limitata Molteplici immagini del programma
Fattore di forma Compatto Limitata Molteplici immagini del programma
Velocità Moderato Veloce Più veloce

Tabella 1: MPLAB PICkit 5 offre molti vantaggi rispetto ai suoi predecessori. (Tabella per gentile concessione di Kenton Williston)

Ambienti di sviluppo supportati da MPLAB PICkit 5

MPLAB PICkit 5 supporta ambienti di sviluppo, tra cui:

Particolarmente degna di nota è l'applicazione per smartphone (Figura 3), che consente agli utenti di programmare a distanza l'hardware target con un processo semplice:

  • Il codice viene sviluppato con MPLAB X e compilato in un file esadecimale .ptg che racchiude codice, dati e informazioni di configurazione.
  • Il file esadecimale viene scaricato su una scheda microSDHC inserita in MPLAB PICkit 5.
  • La scheda microSDHC può contenere più file esadecimali, offrendo agli utenti una certa flessibilità nella programmazione dei dispositivi target.
  • MPLAB PICkit 5 viene collegato all'hardware target.
  • Utilizzando l'applicazione per smartphone, l'utente seleziona un'immagine di programma salvata sulla scheda di memoria per programmare il target.

Immagine dell'applicazione per smartphone MPLAB PTG di Microchip Technology (fare clic per ingrandire)Figura 3: L'applicazione per smartphone MPLAB PTG offre un'interfaccia semplice. (Immagine per gentile concessione di Microchip Technology)

MPLAB PTG è particolarmente utile in ambienti remoti o mobili dove non è possibile utilizzare apparecchiature aggiuntive. Può programmare i dispositivi direttamente sul campo senza computer, trasformando di fatto MPLAB PICkit 5 in uno strumento di programmazione autonomo.

Per gli sviluppatori, ciò facilita il rapido aggiornamento del firmware in loco, accelerando i cicli di sviluppo e riducendo il time-to-market. I tecnici possono quindi utilizzare MPLAB PTG per aggiornare altri dispositivi sul campo, per la rapida implementazione degli aggiornamenti dei prodotti. Lo strumento è utile anche in caso di emergenza, dove è necessaria una rapida riprogrammazione per ripristinare la funzionalità di un dispositivo.

Primi passi con MPLAB PICkit 5

L'utilizzo di MPLAB PICkit 5 con l'IDE MPLAB X è un processo che dovrebbe essere familiare a qualsiasi sviluppatore embedded. Le fasi fondamentali sono le seguenti:

  • Installazione: è necessario installare l'ultima versione di MPLAB X IDE. MPLAB PICkit 5 è solitamente supportato senza driver aggiuntivi, ma gli sviluppatori dovrebbero cercare le informazioni più aggiornate sul sito web di Microchip Technology.
  • Impostazione del progetto: quando si crea un nuovo progetto, è possibile selezionare PICkit 5 come strumento hardware per la programmazione e il debug. Questa selezione viene effettuata nelle proprietà del progetto sotto la categoria "Hardware Tool".
  • Programmazione: una volta configurato un progetto e preparato il codice, è possibile programmare l'MCU attivando il pulsante "Make and Program Device".

MPLAB IPE offre un processo più semplice ai tecnici in un ambiente di produzione. I passi fondamentali per l'utilizzo di questo strumento sono i seguenti:

  • Configurazione: è necessario selezionare MPLAB PICkit 5 tra gli strumenti disponibili. Selezionare quindi il dispositivo target (modello di MCU) e il file esadecimale destinato alla programmazione.
  • Programmazione: dopo aver scelto il dispositivo e il file esadecimale, è possibile programmare l'MCU premendo il pulsante "Program". Se necessario, MPLAB IPE cancella il dispositivo target, lo programma e verifica la programmazione.

In entrambi gli ambienti, è probabile che gli utenti incontrino difficoltà tecniche. Spesso questi problemi sono causati da motivi semplici che possono essere risolti come segue:

  • Assicurarsi che le connessioni siano corrette: lo sviluppatore deve verificare le connessioni all'host e al dispositivo target. Se si utilizza un'interfaccia ICSP, occorre prestare attenzione all'orientamento del connettore.
  • Controllare le impostazioni di alimentazione: è necessario verificare le impostazioni di alimentazione. Alcuni dispositivi possono essere alimentati direttamente da MPLAB PICkit 5, mentre altri possono richiedere alimentazione esterna.
  • Aggiornamento del firmware: gli aggiornamenti del firmware MPLAB PICkit 5 vengono rilasciati periodicamente da Microchip Technology. Gli sviluppatori devono assicurarsi che sia installata la versione più recente.

Kit di sviluppo compatibili con MPLAB PICkit 5

MPLAB PICkit 5 è compatibile con diversi kit di sviluppo progettati per l'apprendimento, la prototipazione e lo sviluppo di applicazioni. Ad esempio, le schede di sviluppo Curiosity Low Pin Count (LPC) come il modello DM164137, che supportano 8, 14 o 20 pin, sono progettate per la sperimentazione con gli MCU PIC. Queste schede spesso includono un programmatore e un debugger, ma uno strumento esterno come MPLAB PICkit 5 può offrire ulteriori funzioni. Gli sviluppatori devono verificare se il programmatore su scheda può essere scollegato tramite un ponticello.

Le schede di valutazione Xpress, come il modello DM164140 per il PIC16F18855, sono un altro esempio. Queste schede sono progettate per la prototipazione rapida con MCU PIC specifici. Sono dotati di un programmatore e di un debugger, ma gli sviluppatori possono utilizzare MPLAB PICkit 5 per garantire la coerenza tra i progetti o per le funzioni specifiche di questo debugger.

Microchip Technology offre anche starter kit, come la scheda di valutazione DM320105 PIC32MX XLP, che forniscono l'hardware e il software necessari per iniziare rapidamente lo sviluppo. MPLAB PICkit 5 è utile per la programmazione e il debug degli MCU inclusi in questi kit, offrendo un'esperienza senza soluzione di continuità.

Conclusione

I moderni ICD possono aiutare gli sviluppatori ad accelerare i cicli di sviluppo e a lanciare gli aggiornamenti dei prodotti sul campo. MPLAB PICkit 5 supporta una gamma più ampia di dispositivi target, opzioni di connettività e strumenti software rispetto ai debugger precedenti, offrendo un elevato grado di flessibilità e utilità. L'applicazione per smartphone è particolarmente degna di nota, in quanto consente di utilizzare MPLAB PICkit 5 in ambienti difficilmente accessibili con i debugger tradizionali.

DigiKey logo

Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.

Informazioni su questo autore

Image of Kenton Williston

Kenton Williston

Kenton Williston ha conseguito un B.S. in ingegneria elettrica nel 2000 e ha iniziato la carriera come analista di benchmark dei processori. Da allora ha lavorato come redattore presso il gruppo EE Times e ha contribuito a lanciare e condurre numerose pubblicazioni e conferenze al servizio del settore dell'elettronica.

Informazioni su questo editore

Editori nordamericani di DigiKey