download di uno sketch

30 views
Skip to first unread message

Marco Clocchiatti

unread,
Jan 10, 2018, 12:58:38 AM1/10/18
to Treviso Arduino User Group
possiedo un arduino mbot che presenta un comportamento anomalo.
non esegue i programmi predefiniti richiamati con il telecomando.

ho già verificato che il telecomando funziona e interagisce con il dispositivo quando lo stesso è connesso al computer e comandato via schratch.

un mio amico possiede un secondo mbot che funziona correttamente.
il mio sospetto è che i due oggetti carichino degli sketch differenti.
è possibile fare un download dello sketch binario corrente di entrambi per verificare le eventuali differenze?

lavoro in linux e posso usare la linea di comando.

Marco Clocchiatti

unread,
Jan 13, 2018, 6:29:23 PM1/13/18
to Treviso Arduino User Group
in qualche modo ho risolto.
purtroppo non sono stato capace di estrarre il binario precaricato su arduino, come avrei voluto.
ma se non avete saputo rispondermi voi, probabilmente non è così facile.

allora mi sono arreso e ho chiesto a un utente windows di installare per me una versione di mbot, con la quale ho effettuato il restore del firmware. neanche a dirlo, il restore del firmware della versione windows funziona, mentre il restore del firmware della versione linux non funziona.

io speravo che, per arduino, il mondo girasse in un modo diverso, ma a quanto pare non è così.

Samuele Zanin

unread,
Jan 23, 2018, 7:50:27 AM1/23/18
to Treviso Arduino User Group


On Sunday, January 14, 2018 at 12:29:23 AM UTC+1, Marco Clocchiatti wrote:
in qualche modo ho risolto.
purtroppo non sono stato capace di estrarre il binario precaricato su arduino, come avrei voluto.
ma se non avete saputo rispondermi voi, probabilmente non è così facile.

Ho visto solo ora il messaggio (passo di qui ogni tanto).
Se il firmware non è protetto, è possibile estrarlo.
Cercando "extract firmware arduino" viene menzionato il comando avrdude.
Ovviamente ottieni il binario, non il sorgente in C/C++.
Si possono controllare le differenze tra due binari? Si, ma non è semplice, ottieni del codice in assembler o anche in C, ma ovviamente i nomi delle funzioni e delle variabili, non sono significativi.


allora mi sono arreso e ho chiesto a un utente windows di installare per me una versione di mbot, con la quale ho effettuato il restore del firmware. neanche a dirlo, il restore del firmware della versione windows funziona, mentre il restore del firmware della versione linux non funziona.

io speravo che, per arduino, il mondo girasse in un modo diverso, ma a quanto pare non è così.

Uso arduino su linux e non ho problemi che in windows non ci sono (è vero il contrario con il collegamento seriale).
Sicuro che non fosse qualche problema di configurazione di scratch? Purtroppo non conosco né mbot né scratch, ma da come la descrivi sembra che sul tuo mbot non fosse caricato uno sketch in grado di gestire in autonomia mbot, quanto uno sketch che accetta dei comandi via seriale (da scratch) e poi li esegue (questa versione è più pratica in fase di sviluppo/debug o se hai un programma che non ci sta nella memoria di arudino).

Mirco Piccin

unread,
Jan 23, 2018, 8:07:41 AM1/23/18
to Treviso Arduino User Group
Ciao,

>> lavoro in linux e posso usare la linea di comando.

la versione di mBlock per Linux è uscita da relativamente poco, ed è
probabile ci siano ancora delle cose che non funzionano.
Ma puoi certamente segnalare l'anomalia agli sviluppatori, così che la
problematica possa venire risolta quanto prima.

>> io speravo che, per arduino, il mondo girasse in un modo diverso, ma a
>> quanto pare non è così.

Infatti l'IDE arduino (e arduino pure) lavora meglio su Linux (e Mac)
piuttosto che su Windows :)
Per il resto quoto Samuele.

Mirco

Marco Clocchiatti

unread,
Jan 24, 2018, 9:19:50 AM1/24/18
to Treviso Arduino User Group
grazie per le risposte.
è bello trovare due persone che la pensano esattamente come la pensavo io prima di scaricare mbot.
:)

ma purtroppo quando l'utente finale viene avvicinato da una certa parte finisce sempre così.
vi dico solo che ho scaricato il .deb e ho provato a installarlo su una linuxmint.
mi ha detto: "tutte le dipendenze sono soddisfatte". poi non partiva.
un rapido check con ldd ha mostrato che un buon ottanta per cento delle librerie era mancante...

sono stato perciò costretto a usare una installazione particolarmente affollata di programmi dove il problema non si è manifestato.
quanto al problema del firmware, ho risolto sostituendo nel pacchetto linux il binario rubato al pacchetto windows.
sinceramente, non ho una gran voglia di riferire agli sviluppatori del programma, perché ho tutta l'impressione che i difetti che ho osservato non siano bachi, ma omissioni macroscopiche e deliberate.

quanto ad avrdude, confermo che la strada che mi avete indicato è corretta. io stesso avevo fatto delle prove dopo l'ultimo post, ma non mi sono fidato a spingermi oltre un certo limite, perché ero costretto a trattare con codice binario necessariamente criptico.

Marco Clocchiatti

unread,
Mar 18, 2018, 3:28:07 PM3/18/18
to Treviso Arduino User Group


Il giorno martedì 23 gennaio 2018 14:07:41 UTC+1, pictux ha scritto:
Ciao,

Infatti l'IDE arduino (e arduino pure) lavora meglio su Linux (e Mac)
piuttosto che su Windows :)
Per il resto quoto Samuele.

alla fine, ho trovato anche io qualche ragione per confermare la vostra idea.
ma ne ho spesa di fatica.
mbot è un sistema distribuito (per linux) in modo balordo, ma per fortuna il sistema IDE arduino lavora egregiamente.
dopo qualche travaglio, sono riuscito a compilare anche gli sketch  di mbot sia con la IDE sia in linea di comando.

è necessario usare arduino-builder, che è forse l'unico compilatore veramente completo. gli altri compilatori più semplici (come arscons o arduino-mk), che non precompilano non possono essere usati.

invece, la mia versione di scratch rimane semi-funzionante, e dubito che riuscirò mai a integrarla correttamente nel sistema.
Reply all
Reply to author
Forward
0 new messages