Sistemi di sviluppo per LINUX

Questo articolo presenta una breve carrellata di sistemi di sviluppo esistenti per il sistema operativo Linux, in modo da mettere in condizione il programmatore a scegliere il prodotto più adatto alle sue esigenze.

Un ambiente di sviluppo è uno strumento, oggi indispensabile, per progettare sistemi elettronici a microcontrollore. Essi, negli ultimi tempi, si sono molto evoluti, dando la possibilità di eseguire il debug e l’emulazione onchip, permettendo in tal modo una rapida produttività e una veloce prototipazione. Grandi passi sono stati fatti anche nelle dimensioni dei sistemi, tanto che oggi esistono sul mercato soluzioni che forniscono nel medesimo tempo la comodità delle ridotte dimensioni legate anche all’intrinseca affidabilità. Se l’hardware e il software sono strettamente legati e ben funzionanti, il successo è garantito.

Un sistema di sviluppo non è un semplice editor, ma un insieme di moltissimi preziosi strumenti per sviluppare le applicazioni basate su MCU. Saper padroneggiare tutti i tools di un ambiente di sviluppo è il risultato che ogni programmatore mira a raggiungere. Meglio utilizzare dunque un solo sistema, ma in maniera approfondita e professionale. È ovvio che nei primi tempi di utilizzo si potrebbero incontrare parecchie difficoltà ma, superato il periodo di “apprendistato” nella conoscenza di un sistema di sviluppo, si capirà che è proprio impossibile farne a meno.

Figura 1: l’editor del PiKdev.

Figura 1: l’editor del PiKdev.

In Linux

È noto a tutti gli utilizzatori di Linux che si possono utilizzare gli applicativi e i programmi che girano sotto Windows tramite piattaforma Wine. Con esso anche la gestione dell’hardware delle risorse viene brillantemente risolta. Tutti i compilatori e i sistemi di sviluppo che funzionano per Windows si possono utilizzare con Linux. Questo articolo comunque approfondisce ed elenca una serie di applicazioni, inerenti ai tools di sviluppo, nativi per il sistema operativo del pinguino. Non si tratta di un elenco completo in quanto i prodotti, seppur con molta fatica e abbastanza timidamente, cominciano ad affacciarsi sul mercato con un ritmo, seppur lento, sempre più crescente.

Figura 2: la programmazione di un dispositivo con PiKdevispositivo con PiKdev.

Figura 2: la programmazione di un dispositivo con PiKdevispositivo con PiKdev.

Pikdev

PiKdev (figura 1 e 2) è un IDE grafico per Linux per lo sviluppo delle applicazioni su microcontrollore PIC. Supporta i linguaggi di programmazione C ed Assembler. È realizzato interamente in C++ per Linux ed è basato su KDE. Dispone di un editor multi finestra che permette la numerazione del codice, la colorazione dello stesso per sintassi e la creazione di segnaposti. Inoltre, tramite un solo clic del mouse è possibile richiamare da quello l’assemblatore, il linker e anche il disassemblatore per permettere la visione del listato in Assembler. Il sistema gestisce ottimamente il progetto, con possibilità quindi di richiamare, salvare ed editare tutte le caratteristiche salienti di un progetto o di crearne uno nuovo. L’IDE può essere direttamente collegato al programmatore PIC (figura 3) attraverso la porta seriale o parallela del PC, con opportuna configurazione delle stesse.

Figura 3: il PiKdev gestisce il programmatore USB PicKit2.

Figura 3: il PiKdev gestisce il programmatore USB PicKit2.

Programmatori utilizzabili

Il PiKdev prevede alcune soluzioni circa il collegamento ai programmatori hardware. Nativamente esso supporta il classico JDM su porta seriale, in rete si trovano centinaia di schemi elettrici al riguardo. Esso gestisce ottimamente anche la programmazione via porta parallela, attraverso una semplice interfaccia che funge da buffer, permettendo il collegamento al microcontrollore. Infine, cosa molto importante, dalle ultime versioni il PiKdev (figura 4) prevede anche il programmatore USB PicKit2, dal momento che il collegamento seriale e parallelo è divenuto obsoleto. Questa soluzione è resa possibile grazie a una utility (pk2cmd) messa a disposizione da Microchip. Il sistema gestisce molti modelli di microcontrollori, appartenenti alle serie 10, 12, 16 e 18.

Figura 4: Il logo di PiKdev

Figura 4: Il logo di PiKdev

Piklab

Il Piklab (figura 5) è un ambiente di sviluppo integrato (IDE) per le applicazioni basate su microcontrollori Microchip PIC e dsPIC, molto simile all’ambiente MPLAB. Si integra con diversi compilatori (ad esempio gputils, SDCC, C18) e con il simulatore gpsim. Supporta i programmatori più comuni (seriale, parallelo, ICD2, PICkit2, PICSTART+), il debugger ICD2, o bootloader diversi (Tiny, PICkit2 e PICDEM). Allo stato attuale può compilare e linkare gli eseguibili con i seguenti compilatori: GNU PIC, MPLAB C30m, PICCLite, PICC, PICC-18, MPLAB C18, JAL ,JALV2, BoostC, BoostC++, BoostBasic, CCS, MPC, CC5X. Inoltre gestisce molte famiglie di microcontrollori PIC e dsPIC, tra i quali le serie 10F, 12C, 16C, 16F, 17C, 18C, 18F, 18J, 24F, 24H, 30F e 33F. L’IDE può programmare i microcontrollori (figura 6 e 7) utilizzando i seguenti programmatori: Serial direct programmers (JDM), Parallel direct programmers (Tait, Asix, Propic), ICD1, ICD2, Pickit1, Pickit2, Picstart+.

Figura 5: l’editor del Piklab.

Figura 5: l’editor del Piklab.

Yapide (Yet Another Pic Ide)

Questo prodotto gratuito (figura 8, 9, 10 e 11) , più che un sistema di sviluppo è un completo simulatore per microcontrollori PIC per il sistema operativo Linux e Unix. Il suo funzionamento si basa solo su interfaccia IDE e manca il supporto a console e riga di comando. Attualmente gestisce solo il microcontrollore PIC 16F628. Le particolarità di questo interessante simulatore possono essere così riassunte:

  • editor di sorgente con colorazione contestuale del codice;
  • visualizzatore stato della RAM;
  • visualizzatore stato della ROM;
  • visualizzatore stato della CPU e dei suoi registri speciali;
  • gestione del Timer0;
  • visualizzazione dello Stack;
  • gestione dei breakpoints e tracepoints;
  • watch delle variabili e dei registri;
  • esecuzione passo

Il simulatore è stato testato con successo in molte implementazioni di Linux. Se il processore del PC lo permette, può essere utilizzato un quarzo virtuale di clock con frequenza superiore a 15 Mhz.

Figura 6: la programmazione di un dispositivo con Piklab.

Figura 6: la programmazione di un dispositivo con Piklab.

 

Figura 7: il logo di Piklab.

Figura 7: il logo di Piklab.

 

Figura 8: la schermata principale di YaPIDE.

Figura 8: la schermata principale di YaPIDE.

Mplab X Ide

È notizia che Microchip ha migrato MPLAB IDE su piattaforma Open Source, basata su Java, permettendo così di eseguirlo su Linux, Mac OS e Windows. Grazie a NetBeans IDE, un ottimo plug-in, si può adesso sviluppare un’applicazione per microcontrollori sul sistema operativo del pinguino. Si tratta dunque di un ambiente di sviluppo integrato (IDE) e gratuito (figura 12, 13 e 14). Esso gestisce più di 800 dispositivi e con trollori digitali, a 8, 16 e 32 bit. Include un potente editor di testo di tipo Rich, quindi il sorgente può anche essere formattato secondo le proprie esigenze. Dispone di un debugger con il quale testare e collaudare le proprie applicazioni, anche passo passo, e possiede inoltre un simulatore software. È basato sulla piattaforma NetBeans e gira su Windows, Mac e Linux. In più è interfacciabile a diverse utility di Microchip e a vari compilatori di terze parti. Allo stato attuale il download impiega un po’ di tempo, poiché il file di installazione da scaricare “pesa” più di 200 Mb.

Figura 9: stato della Ram in YaPIDE.

Figura 9: stato della Ram in YaPIDE.

 

Figura 10: disassemblato in YaPIDE con status delle variabili.

Figura 10: disassemblato in YaPIDE con status delle variabili.

 

Figura 11: stato della CPU in YaPIDE.

Figura 11: stato della CPU in YaPIDE.

 

Figura 12: la schermata di MPLAB X.

Figura 12: la schermata di MPLAB X.

Conclusioni

La carrellata appena esaminata degli ambienti di sviluppo rappresenta ovviamente solo una piccola parte di ciò che il mercato, ma soprattutto la Rete, offre ai programmatori. Essendo Linux un sistema operativo Open Source, aspettiamoci nell’immediato futuro un rapido e prolifico incremento delle soluzioni proposte e dei prodotti sviluppati.

Figura 13: gli Stop Watch in MPLAB X.

Figura 13: gli Stop Watch in MPLAB X.

 

Figura 14: il logo di MPLAB X.

Figura 14: il logo di MPLAB X.

Approfittane ora!

6 Commenti

  1. ZOPDAR ZOPDAR 16 Febbraio 2020
  2. Alessandro Alessandro 17 Febbraio 2020
  3. tattolilm tattolilm 17 Febbraio 2020
  4. Maurizio Maurizio 17 Febbraio 2020
    • Alessandro Alessandro 20 Febbraio 2020
  5. Tony21 Tony21 18 Febbraio 2020

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend