Arduino M0 Pro la nuova board di sviluppo made in Italy con microcontrollore a 32 bit e DEBUG (EDBG) integrato. Questa scheda rappresenta una estensione della nota Arduino UNO, con la stessa dimensione e posizione dell'header ma con un cuore più potente, un Cortex M0+. Grazie alla sua velocità di clock (48Mhz), a una flash più capiente (256Kb) e al core a 32bit questa scheda si posiziona tra le migliori board ad MCU in commercio ma la vera rivoluzione, utile soprattutto per i maker, è l'integrazione a bordo del controller per il debug; finalmente Arduino diventa professionale!
La scheda di sviluppo Arduino M0 Pro è dotata di un microcontrollore Atmel ATSAMD21G18 basato su un core ARM Cortex M0+ a 32 bit. Il D21G18A è provvisto di una memoria Flash di 256 Kb (di cui 4 occupati dal bootloader), 32 Kb di SRAM e opera a una frequenza di 48Mhz. Questo core offre all’Arduino M0 Pro una elevata flessibilità, aumentando il ventaglio di progetti possibili da realizzare: dai dispositivi indossabili, Internet of Things, automazione high tech, fino alla robotica, e tanto altro ancora. Una caratteristica fondamentale, che rende unico questo dispositivo nella famiglia Arduino, è il debugger incorporato a bordo della scheda (EDBG) che elimina la necessità di hardware aggiuntivi. L' EDBG (Embedded Debugger) offre uno streaming di dati tra il PC e la MCU; oltre alla programmazione e il debug, attraverso Atmel Studio, supporta inoltre una porta COM virtuale per programmare il dispositivo nella funzionalità bootloader di Arduino.
Caratteristiche
Microcontroller | ATSAMD21G18, 48pins LQFP |
Tensione di funzionamento | 3.3V |
Pins Digital I / O | 14, con 12 PWM e UART |
Pins di ingresso analogico | 6, 12-bit ADC channels |
Analog pin di uscita | 1, 10-bit DAC |
Corrente Max per Pin O/I | 7 mA |
Memoria Flash | 256 KB |
SRAM | 32 KB |
EEPROM | fino a 16KB per emulazione |
Frequenza di clock | 48 MHz |
NOTA: Al contrario della Arduino Uno, che ha una tensione di funzionamento di 5V, questo microcontrollore supporta solo i 3.3V; Una tensione operativa che si adegua ai nuovi standard richiesti dalle periferiche di ultima generazione, come l'ESP8266.
La M0 dispone di due porte USB; la prima detta "Native" è connessa direttamente al MCU, come per la board Arduino Micro, utilizzata per la programmazione tramite l'IDE e per essere collegata facilmente alle periferiche esterne quali: telefoni, tablet, macchine fotografiche e così via, consentendo così di realizzare un numero variegato di applicazioni in cui la scheda possa comunicare con i dispositivi più disparati. La seconda porta USB è chiamata "Programming", connessa direttamente al controller EDBG, utilizzata per la programmazione e per il debug del SAMD21G18A.
Programming e Debug con l'IDE di Arduino
Per programmare l'Arduino M0 Pro è necessario l'utilizzo dell'IDE aggiornata alla versione 1.7 o maggiore; le prove eseguite per questo articolo sono state realizzate con la versione 1.7.3. La M0 Pro è stata rilasciata dall'azienda Arduino srl, pertanto tutti i driver e software sono sul portale arduino.org. Durante l'installazione del nuovo software si noterà l'aggiunta del pacchetto "Atmel USB Driver", una novità rispetto alle vecchie versioni, per il supporto e la gestione del driver Jungo.
Terminata l'installazione collegare l'Arduino M0 Pro al PC tramite la porta USB native e attendere il riconoscimento del dispositivo da parte del sistema operativo.
Avviare l'IDE per scrivere lo sketch di prova, come esempio ho utilizzato il classico progetto per far lampeggiare il led sulla board, come di seguito:
/* Blink Led Maggio 2015 Sorrentino Ernesto */ #define LED_PIN 13 // Definisce la porta DGT 13 come LED_PIN #define LED_ON HIGH // Definisce il livello logico ALTO come LED_ON #define LED_OFF LOW // Definisce il livello logico BASSO come LED_OFF void setup() { pinMode(LED_PIN, OUTPUT); // Imposta la porta DGT 13 come uscita } void loop() { digitalWrite(LED_PIN, LED_ON); // Setta la porta DGT 13 a livello logico alto (led acceso) delay(250); // Attesa di 250ms digitalWrite(LED_PIN, LED_OFF); // Setta la porta DGT 13 a livello logico basso (led spento) delay(250); // Attesa di 250ms }
La prima parte del codice è composta dalle dichiarazioni “#define” per settare di default lo stato del led e il numero del pin dove è collegato il led al micro
#define LED_PIN 13 #define LED_ON HIGH #define LED_OFF LOW
La seconda parte setta la configurazione hardware, in particolar modo imposta la porta digitale 13, dove è collegato il led della board, come uscita
pinMode(LED_PIN, OUTPUT);
La terza parte, corrispondente al ciclo del programma, ci sono le istruzioni per settare il livello logico sulla porta DGT 13 e la routine di ritardo impostato a 250ms.
digitalWrite(LED_PIN, LED_ON); delay(250); digitalWrite(LED_PIN, LED_OFF); delay(250);
Prima di compilare lo sketch è necessario settare il software per la board in utilizzo; dal menù "Strumenti/Scheda" selezionare "Arduino Zero Pro (Native USB Port)"
Impostare la porta di comunicazione dal menù "Strumenti/Porta", selezionare la COM riconosciuta dal sistema operativo
Terminato il settaggio compilare lo sketch e programmare la scheda con la combinazione dei tasti "Ctrl + U" o con l'apposito pulsante in alto a sinistra della finestra. Al termine della programmazione, se tutto è andato a buon fine, noterete il led lampeggiare; al contrario se il led non lampeggia bisogna effettuare un "debug" per risalire al problema. Per l'IDE in uso l'unico debug disponibile è la funzione "Serial.print()", cioè inviare dall'Arduino, tramite la porta seriale, un comando testuale per avvisare durante l'esecuzione del programma il raggiungimento della riga che si vuol tenere sotto controllo. Per la M0 il comando di "stampa" si differenzia in base alla porta USB in utilizzo:
Serial5.print(); | Per la porta "USB Programming" |
SerialUSB.print(); | Per la porta "USB Native" |
Dato che la scheda è connesa al PC tramite porta USB Native, useremo quest'ultimo comando per modificare lo sketch come segue:
/* Blink Led Maggio 2015 Sorrentino Ernesto */ #define LED_PIN 13 // Definisce la porta DGT 13 come LED_PIN #define LED_ON HIGH // Definisce il livello logico ALTO come LED_ON #define LED_OFF LOW // Definisce il livello logico BASSO come LED_OFF void setup() { pinMode(LED_PIN, OUTPUT); // Imposta la porta DGT 13 come uscita SerialUSB.begin(9600); // Inizializza la porta seriale } void loop() { digitalWrite(LED_PIN, LED_ON); // Setta la porta DGT 13 a livello alto (led acceso) SerialUSB.println("Led ON"); // Messaggio inviato da Arduino delay(250); // Attesa di 250ms digitalWrite(LED_PIN, LED_OFF); // Setta la porta DGT 13 a livello basso (led spento) SerialUSB.println("Led OFF"); // Messaggio inviato da Arduino delay(250); // Attesa di 250ms }
Le istruzioni SerialUSB.println() inserite nel ciclo del programma consentiranno di avvisare l'utente il passaggio avvenuto da una riga all'altra, in corrispondenza del cambio stato sulla porta DGT 13.
Compilare lo sketch e programmare la scheda con la combinazione dei tasti "Ctrl + U"; aprire la comunicazione con la serial port avviando il tool "Monitor seriale" dal menù "Strumenti", ottenendo una nuova finestra dove visualizzare un "debug" elementare.
Programming e Debug con Atmel Studio
Le prove effettuate e descritte nei seguenti passi sono state realizzate con Atmel Studio 6.2 e con l'ASF (l'Atmel Software framework) aggiornato alla versione 3.23; quest'ultima è molto importante che sia aggiornata dato che contiene tutte le librerie per utilizzare al meglio l'integrato SAMD21G18A.
L'aggiornamento può essere scaricato attraverso "Extension Manager" dal menù "Tools" o dal sito ATMEL.
ASF è una raccolta di software per lo sviluppo di programmi sui microcontrollori di Atmel ed è integrata nella IDE di ATMEL STUDIO. Il framework è organizzato in strati di livelli come di seguito:
BOARDS | rappresenta la board (pin, pulsanti, led, ecc...) |
DRIVERS | sono le funzionalità di basso livello per interfacciarsi con le periferiche (DMA, SPI, DAC, ecc...) |
COMPONENTS | driver per la funzionalità ai componenti esterni (Display, sensori, ecc...) |
SERVICE | funzione che offre un più alto livello, di DRIVERS, per interfacciarsi con le periferiche |
APPLICATION | esempi già pronti |
UTILITIES | funzioni utilizzate da tutti gli altri strati |
YOUR CODE | il nostro programma |
Per la programmazione e il debug utilizzeremo la porta USB Programming dell'Arduino M0 Pro, tale porta è connessa al controller EDGB che simula una porta COM virtuale.
Dopo aver avviato l'ambiente di sviluppo Atmel Studio creare un nuovo progetto da "File/New/Project..." .
Il progetto da creare sarà basato sul framework perciò selezioneremo [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2586 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Questo articolo è, a mio avviso, la chiave di lettura di questa scheda: Arduino M0 Pro.
E’ ben spiegato infatti quali sono le differenze tra un classico debug con l’Arduino IDE ed il vero debug con Atmel Studio. La forza di questa scheda è appunto la possibilità di avere entrambi sulla stessa piattaforma hardware.
Makers e Professionisti insieme! Finalmente!!
Salve,
ho acquistato l’abbonamento con la scheda arduino M0 pro e mi è venuto in mente un progettino da realizzare per iniziare a capirne un po’ il funzionamento. Volevo sapere se c’è un modo per controllare il mouse del computer tramite questo arduino. Leggendo in rete ho visto che questo si può fare con arduino Leonardo o Due tramite una libreria, ma che non è possibile farlo con la versione d’arduino in questione (se non ho capito male!). Mi interessava sapere se, anche con qualche shield, è possibile estendere questa funzione su arduino M0 pro.
Grazie!
Buongiorno,
ho acquistato anch’io l’abbonamento con la scheda Arduino M0 pro e mi complimento per la velocissima spedizione della stessa e delle pronte e cortesi risposte di Sara in seguito a problemi derivati probabilmente dalla mia non corretta registrazione. Sono ora a disturbare ancora perchè non riesco a far connettere la scheda ai PC. Ho provato sia con un PC con S.O. XP – sia con uno sul quale gira Win 7 ultimate (64) – anche con la nuova release Arduino 1.7.6. Il caricamento dei programmi non mi è stato possibile a causa del mancato riconoscimento della porta pur seguendo tutte le indicazioni reperibili (corretto collegamento con programming port, ecc.). Chiedo, tra l’altro, se deve comparire l’icona della porta USB nell’area di notifica. Ho una discreta pratica con le porte del “vecchio” Arduino uno, con il quale ho realizzato con soddisfazione diversi progetti e mi chiedo se c’è qualche ulteriore procedura da seguire che mi è sfuggita. Vi ringrazio anticipatamente per la pazienza… f.a.
Ciao Fulvio,
la “programming port” non appare nelle notifiche ma è visibile nella “Gestione dispositivi” di Windows. L’IDE di Arduino riconosce la board quando è connessa tramite la porta “USB Native”?
Grazie intanto per la immediata risposta!
Confermo che la board non viene riconoscita nemmeno se connessa tramite la porta “USB Native”, ho provato anche a fare il reset. I led della scheda risultano lampeggiare regolarmente.
I driver di Atmel sono installati? La procedura è automatica durante l’installazione dell’IDE ma se hai scaricato la versione “non-administrator ” li dovrai installare manualmente da “\Arduino\Drivers\driver-atmel-bundle-7.0.712.exe”.
Ho seguito tutte le precise indicazioni che ho letto ed ho installato la versione per amministratore che prevede tutta la procedura per i driver di Atmel che sono stati correttamente installati. Per questo motivo ho scritto perchè trattandosi di un prodotto nuovo pensavo potesse avere dei problemi che si potessero risolvere con qualche procedura ancora sconosciuta. Grazie ancora per l’attenzione!
Hai provato a scrivere il Bootloader come descritto nell’articolo? Ha volte capita che l’impostazione del fuse 0x07 sia errata.
Proverò questa sera e vi farò sapere. Grazie.
Buonasera,
mi sono scaricato Atmel Studio 6,1 confidando in una possibile soluzione, sono giunto fino al punto:
Settare “EDBG” + “ATSAMD21G18A” + “SWD”
poi buio pesto, perché le cose non sono poi così elementari come lo erano con Arduino UNO & C. Nella finestra indicata non comprendo come si possa “settare” quanto indicato poiché nella prima tendina compare soltanto l’opzione “simulatore”.
Ringrazio per l’aiuto prontamente prestato, ma penso la mia avventura con Arduino MO Pro per il momento terminerà qui e riproverò nel caso dopo il periodo estivo.
Ciao Fulvio,
ho lo stesso tuo identico problema. Ho scaricato Atmel studio 7.0.
Scusa ma hai più risolto questo problema ?
Mi chiedo ma quando si arriva al punto che tu indichi la scheda Arduino deve essere già collegata ?
Grazie anticipatamente
Salve!
Ti confesso che ho abbandonato per il momento Arduino MO perché mi sto dedicando con molta soddisfazione al raspberry pi 2 b ed al linguaggio python. Di certo avevo collegato la scheda ed avevo fatto diversi tentativi anche perché con Arduino uno non ho mai avuto alcun problema ed ho realizzato diversi progetti anche complessi, con più servocomandi e motori passo passo che tuttora funzionano ottimamente. Confidavo di trovare qualcuno che avesse trovato le mie stesse difficoltà per condividere eventuali soluzioni, perciò prenderò nuovamente in mano la scheda per tentare di farla funzionare. Restiamo in contatto e… buon divertimento!
Salve Fulvio,
io ci proverò ancora. Comunque credo che il problema non coinvolga la scheda ma sia solo un problema dell’ambiente di sviluppo (nel mio caso io ho provato solo con ATMEL Studio 7.0).
Senza mai collegare il prototipo mi succede la stessa identica cosa che accadeva a te, in pratica sono giunto fino al punto:
Settare “EDBG” + “ATSAMD21G18A” + “SWD”. Non mi consente nessun tipo di scelta e di settare quanto ondicato dall’articolo.
Ci provo ancora; se ho novità mi faccio vivo.
Nel frattempo in bocca al lupo con Raspberry pi 2 b.
A presto
Ciao f.amantea,
vorrei aiutarti ma non ho capito bene la procedura che hai eseguito; la M0 è collegata al PC, tramite porta Programming, quando effettui i passaggi indicati?
Salve Ernesto,
ti spiego quello che ho fatto: ho eseguito la procedura come spiegato nell’articolo (a meno di mie disattenzioni) utilizzando l’ambiente ATMEL Studio 7.0. Tutta la procedura l’ho effettuata, fino al punto in questione, senza collegare la scheda Arduino. Come dicevo, sono arrivato a questo punto:
. (qui non mi consente di scegliere EDBG in quanto non esce alcun elenco)
Non ho collegato la scheda M0 Pro in quanto convinto che andava prima compilato il programma e settato opportunamente l’ambiente. Forse il mio errore è proprio questo ?
Comunque grazie dell’aiuto che tenterai di darmi, a presto
Francesco Amantea
Ciao,
non è possibile selezionare un dispositivo di programmazione/debug perché manca fisicamente. Prima di arrivare al punto in questione bisogna che la board sia collegata al PC. Fai attenzione che sia riconosciuta prima dal sistema operativo (Windows), controllando che appaia in “gestione dispositivi”. Fammi sapere.
Ciao Ernesto,
ho seguito i tuoi consigli, sono riuscito a caricare il programma e a lanciarlo. Tutto OK.
Ho poi modificato, nel sorgente, i parametri temporali di ON/OFF del led e ho provato a ricaricare il programma. Si è presentato subito il problema a cui avevi accennato nell’articolo e cioè è stato rimosso il BootLoader dalla memoria, probabilmente dal mio tentativo (maldestro ?) di ri-caricare il programma da me modificato.
Adesso devo ricaricare il BootLoader. Hai una qualche idea di qual’è la manovra da evitare affinchè questo problema capiti ancora ?
Comunque grazie 1000 dell’aiuto e a presto
Francesco A.
Ciao Francesco,
non ho ancora provato ma dovresti risolvere il problema impostando il registro “NVMCTRL_BOOTPROT” a 0x06 e ricaricare il bootloader. Fammi sapere.
Ciao Ernesto,
come lo imposto a 0x06 oppure 0x07 come dici nell’articolo ?
Impostare il registro “NVMCTRL_BOOTPROT” a 0x07
Grazie e a presto
Francesco F.
Esatto.
Ciao Ernesto,
ho provato a cercare il Bootloader nella mia installazione (Atmel Studio 7.0).
Purtroppo il path da te indicato nell’articolo (C:\Program Files\Arduino\hardware\arduino\samd\bootloaders\zero) non esiste.
In pratica è inesistente proprio la cartella Arduino.
Dove potrei reperire il Bootloader_zero_pro_150504.hex che tu indichi nell’articolo ?
Grazie anticipatamente
Francesco A.
Il nuovo file si chiama “Bootloader_D21_M0_Pro_150427.hex”e lo torvi in una cartella dell’IDE di Arduino:
\arduino-1.7.8\hardware\arduino\samd\bootloaders\zero
Da scaricare a questo link:
http://download.arduino.org/IDE/1.7.8/arduino-1.7.8.org-windows.zip
Ok Ernesto,
prelevato il Bootloader e caricato su M0 Pro. Funziona. Tutto OK anche la demo LED ON/LED OFF.
Adesso ho la bicicletta e quindi …. pedalare!
Grazie di tutto, buon lavoro e a presto
Francesco A.
Ma a breve farai anche una guida per Visual Micro? Io l’ho installato ho acquistato la licenza ma non riesco a farlo andare correttamente in debug, sia con windows 8 che con vista
Ciao Mario,
in effetti non ho mai pensato a una guida per Visual Micro; se ci saranno altre richieste potrei mettere “in cantiere” l’articolo 😉
Per il debug prova a utilizzare Atmel Studio, è più semplice di quanto si possa immaginare.
Io l’ho testato con Win8.
Certo.. Il problema è che non riesco a trovare una guida ben fatta “apparte la tua” che spieghi come programmare le porte i registri interni etc..etc..
Hai qualcosa da Consigliarmi..? Sto provando Visual micro ma non va, nonstante i produttori insistano a dire che è compatibile… sto segnalando loro diversi errori e nello stesso tempo hanno rilasciato anche una versione beta per Arduino M0, ma il debug a me non funziona!
Tu lo hai mai provato?
Oppure Usi Atmel Studio nudo e crudo senza IDE Arduino?
Fammi sapere… Io esco dal mondo dei PIC micro ho voluto provare Arduino ma mi sta passando decisamente la voglia, almeno per ciò che riguarda la Mo Pro
Grazie mille e complimenti per l’articolo
Ciao Mario,
non ho mai provato Visual Micro con la M0; per la programmazione e il debug uso Atmel Studio.
Non demordere, fra qualche giorno uscirà un articolo che illustra come effettuare il debug, sulla M0, con una tecnica alternativa….. Sono sicuro che ti piacerà 😉
OK!
ALLORA ASPETTO CON PAZIENZA…. GRAZIE MILLE
Ciao Mario,
Oggi hanno pubblicato l’articolo che ti avevo accennato
http://it.emcelettronica.com/arduino-m0-pro-debug-con-gdb-e-openocd
Spero che ti piaccia.
Salve,
Iscritto da poco alla rivista, sto iniziando a leggere i vari Post presenti nel sito.
Per quanto riguarda arduino, sto lavorando ad un progetto per utilizzarlo in campo forestale legato a misure ambientali.
Sono passato da Arduino UNO al modello M0 Pro e ho qualche problema a sincronizzare l’orologio del PC con quello della board Arduino M0 PRO. La libreria RTCLib che utilizzavo prima non è riconosciuta durante la compilazione e a quanto sembra la libreria RTCZero non ha un comando paragonabile al Date.Now (). Qualche consiglio?
Grazie mille per eventuali suggerimenti e consigli.
si possono importare progetti arduino utilizzando il tool apposito su atmelstudio 7 e fare comunque il debug come nella tua guida?
vorrei fare le seguenti operazioni:
1)la scheda su cui vorrei lavorare è un arduino m0pro per poter fare debug etc…
2) vorrei ricompilare il programma per una arduino uno
grazie in anticipo per quanti volessero aiutare
Ciao yesenergy,
dipende dallo sketch e dalle funzioni che vuoi usare, non tutto è compatibile. Ad esempio la gestione dei timer è diversa tra i due micro. Non ho avuto ancora modo di provare il tool d’importazione ma direi che con programmi semplici sia fattibile.
ho risolto il caricamento di una libreria esterna:
basta andare sulla cartella src in atmel studio /tastodestro/add/existingitem/ e poi selezionare il file cpp della libreria desiderata
ora è rimasto solo di poter utilizzare la m0pro come debugger del tutto
usando la procedura guidata seleziono la m0pro ma in fase di esecuzione ho un problema in compilazione,
Quale errore genera il compilatore?
Ottimo, fammi sapere poi il risultato finale e i passaggi utilizzati 😉
io è da poco che sono su elettronicaopensource quindi rischio di scrivere cavolate, magari ECCO IN SEQUENZA GLI SCREENSHOOT del AtmelStudio7 quando cerco di compilare l’esempio blink con arduino m0 pro usando l’importazione automatica, PS(il path di riferimento all’IDE arduino è di arduino 1.7.8 di arduino.org)
ecco il link dropbox per le immagini:
https://www.dropbox.com/sh/frnqo0npbwb6cgn/AAAj1bFnf0akng2BUOZgJxzGa?dl=0
La notizia positiva in vece è che impostando come board arduino uno e device ATMEGA328 RIESCO A COMPILARE TUTTO lo sketch con facilità(a patto di importare le librerie mancanti, aggiungendo il file.h e .cpp nelle apposite cartelle dal menu a destra), in questa seconda situazione ho il problema che in fase di simulazione (utilizzando il simulator atmelstudio ) il debug step by step mi va a scorrere anche le librerie fno a bloccarsi su un delay perchè naturalmente nn variando il dato riguardante il tempo il software nn puo andare avanti sapete darmi una dritta su come utilizzare simulator e debugin insieme per debuggare un programma completo? inizia ad essere questione di vita o di morte;-) causa sistema cancello automatico bloccato e sviluppo schede future da realizzare!
Ciao yesenergy, prova a utilizzare, per il tuo progetto, Arduino Studio.
http://it.emcelettronica.com/arduino-studio-getting-started
Puoi fare il debug dello sketch tramite OpenCD e GDB già integrati nell’ambiente di sviluppo.
http://it.emcelettronica.com/arduino-m0-pro-debug-con-gdb-e-openocd
infatti sto provando a fare prorpio quello anche se l’idea di poter fare un meshup tra parte in c con link alle librerie in cpp di arduino mi piaceva molto, anche perchè con la nuova funzionalità di atmel studio 7 è una passeggiata importare un progetto di arduino.
Con arduinoStudio nn riesco ad importare questa libreria ( https://github.com/sui77/rc-switch ) che serve per la comunicazione con i telecomandi rf433, ma per adesso posso tranquillamente farne a meno, la riaggiungero dopo.
anche seguendo le guide non sono riuscito a fare il debug con arduinostudio arrivo fino a fare il debug dopodichè riompilail progetto in cpp e quando provo a fare uno step del debug viene fuori quest’errore:
Cannot find bounds of current function
per sicurezza ho anche rimesso il bootloader originale
Ciao, hai caricato il file .elf nella prima finestra che appare dopo aver premuto il pulsante Debug?
esatto penso che il problema fosse quello, cmq seguendo questa guida si puo fare un programma n arduino ide e fare il debug in atmel studio, ho provato il tutto con arduino IDE 1.7.8 e ATMELSTUDIO 7:
http://labs.arduino.org/Debug+sketch+using+Arduino+M0+Pro+and+Atmel+Studio+6
perdonami ernesto potresti linkarmi l’immagine di quello che dici per ATMEL STUDIO per favore? grazie.
l’errore in arduinostudio invece è questo:
https://www.dropbox.com/s/rmxscmwhnwzrdcr/arduinostudio%20problema.png?dl=0
stranamente arduinostudio a volte funziona a volte no in debug nn ho ben capito ma nn fa vedere niente praticamente se n il debug step step del programma.
su atmel studio ho provato a seguire diverse guide tra cui la tua ernesto ma nn mi è stato semplicissimo adattarla al processore diverso dell’arduino m0 e cmq con risutati nn buoni.
l’unica guida che funziona per quanto riguarda il debug è quella sul sito di arduino org ufficiale http://labs.arduino.org/Debug+sketch+using+Arduino+M0+Pro+and+Atmel+Studio+6.
DOMANDE:
1)COME POSSO UTILIZZARE A PIENO il debug di arduino m0 pro?
2) come posso utilizzare delle librerie fatte per arduino in atmelstudio 7?
3) dove posso trovare materiale da studiare per approfondire l’argomento?
4)in fase di debug in atmel studio dopo aver importato il file.elf e .ino posso vedere in tempo reale i valori delle porte in ingresso e uscita? se si come?
riguardo arduino m0pro nn c’è molto di sicuro mi sembra
Capisco che riesumare un articolo di quattro anni fa è antipatico, ma mi trovo in difficoltà con questo oggetto. L’ho riesumato dopo anni dopo non averlo mai utilizzato (ricevuto con l’abbonamento alla rivista), scopro una volta questo oggetto era gestito con l’ide di arduino,org e non di arduino.cc, che va reinstallato il bootloader, cosa che non riesco nè a fare con l’IDE arduino (da errori), nè saprei come farlo con atmel studio, dato che la cartella dove dovrebbe essere il bootloader da caricare (sempre indicata da questo sito) non esiste. C’è speranza da uscire da questa situazione di stallo o mi conviene buttare via tutto?
Se sei ancora interessato, la programmazione del bootloader con l’IDE Arduino funziona bene scegliendo come Programmatore da Strumenti EDBG. Inoltre la USB da collegare al PC è quella di programmazione non quella Native. La porta USB di programmazione ha bisogno dei driver che puoi trovare nell’IDE Atmel Studio. Ho avuto anche io problemi con il bootloader di questa scheda ma installandolo dall’IDE di Arduino ho risolto. In alternativa puoi installare il bootloader anche da Atmel Studio come indicato in questo articolo andando a prendere il bootloader al seguente percorso
….AppData\Local\Arduino15\packages\arduino\hardware\samd\1.8.6\bootloaders\mzero
troverai il file Bootloader_D21_M0_Pro_xxxxx.hex
Salve a tutti, e antipatico dirlo, ma mi trovo nella stessa e identica situazione di poggiaus, scusa se ti uso come riferimento, purtroppo e così, solo 2 anno dopo mi sono deciso di riprendere Arduino A0 Pro, per cercare di farla funzionare.
Non sono certo un fautore di Arduino, poiché essendo un progettista hardware e sw di schede elettroniche, il mio cavallo di battaglia è programmare in assembler, su vari microprocessori, come Z80 8051 ecc, nonché la serie Pic 16Fxx della MicroCip. Detto questo si capisce chiaramente che non ho per niente dimestichezza con la serie Arduino, nonostante la notevole diffusione poiché open source. Vorrei tanto potermi inserire in qualche progetto, poiché semplificato, avendo un hardware completo, e non ha bisogno di altro, sufficiente inserire il sw, che io conosco solo per presa visione ma mai messo in pratica. oltretutto bisogna girare su i vari siti Internet per trovare ciò che serve, e se non si è addentrati come me, sono guai
🙁 Mi piacerebbe avere qualche dritta per raggiungere il top. Ringrazio in anticipo saluti.