Eseguibile Arduino?

Mi levate una curiosità?
Ho installato Arduino in attesa dagli USA del materiale per
costruire un quad copter.
Lanciando il compilatore non ottengo eseguibili: ma solo
il messaggio di ok, tot bytes ma? dove è l'eseguibile? >:(
Poi mi presento.

Grazie
Paolo

Beh, non lo trovi perchè non c'è l'eseguibile, non farti ingannare dall'IDE di Processing che esteticamente sono identici.
L'IDE di arduino serve per scrivere, compilare e caricare le istruzioni al microprocessore. Fare un eseguibile esterno non avrebbe senso, basta che riapri il file contenente gli script e riesegui l'upload.
Saluti.

In altre parole, l' "eseguibile" gira su Arduino, ma è l'IDE stesso a mettercelo dentro, tu non devi fare niente. :wink:

Il IDE unisce un editore, compilatore, caricatore, programatore ISP (se hai il hardware giusto) e terminale seriale.

Questo spiega un po: http://arduino.cc/en/Guide/Environment

Ciao Uwe

Mi sfugge il senso.
Quindi il linker lavora solo collegato ad un target?
Sono sempre più perplesso.....

Ciao paolo1957

Adesso non ti capisco.

Devi pensare che l' idea di Arduino non é di conoscere i registri del Controller e il linguaggio macchina ma dare la possibilitá di gente con poche nozioni elettronice che vuole fare dei progetti nel ambito di design, arte e installazioni un mezzo per realizzare le loro idee senza avere troppi problemi.

Se tu vieni da un ambito dove usi un controller a livello di HW Arduino Ti sembra strano, ma insieme con la licenza scelta penso che abbia piú persone che lo usano, ci lavorano e giocano che altri controller tipo PIC.
È proprio la facilitazioni di non dover pensare alla parte compilazione e tutto il connesso che fa diventare facile.
Comunque puoi usare comandi che interagiscono direttamente i registri del controller.

Ciao Uwe

Grazie Uwe ma non mi ci trovo lo stesso.
Non dirò cosa faccio di mestiere (da decenni) altrimenti vengo espulso dal forum... :slight_smile:
Volevo solo capire se era possibile, magari con uno script o un
parametro da linea di comando ottenere l'eseguibile.
Magari anche avere una dritta su un help non fatto con la
stessa non logica dell'IDE ma con un senso pratico.
L'alternativa è scaricare i tool da Atmel, magari sotto Ubuntu, e riscrivere la libreria.
Ma mi secca: in fondo è un giocattolo...
Passi per la bizzarra loop() o la setup() ma almeno il codice. :frowning:

Ciao paolo1957, se quello che fai di mestiere gira intorno al mondo dei microcontrollori o processori o in genereale con l'elettronica ed ai anche un poò di esperienza con il C/C++, puoi leggere il codice sorgente del core di arduino che sono scritte in C/C++.

In effetti chi ha già sviluppato software embendded si trova un pò spiazzato sviluppando con arduino.
La compilazione avviene tramite avr-gcc o avr-g++ e cpp è il preprocessore, il collegamento con le librerie ovviamente è statico, poi si usa avr-objcopy per trasformare il codice oggetto in hex da iniettare nel micro tramite un programma "avrdude" che nel caso di arduino comunica con il bootloader che implementa un protocollo simile a STK500, quindi sarà il bootloader a scrivere il programa in flash.

Mentre per le funzioni setup e loop servono per i principianti purtroppo non se ne può fare ammeno, se guardi nel core vedi un file main.cpp che è poi quello che chiama le sudette funzioni.
[main.cpp]
int main(void)
{
init();

setup();

for (;:wink:
loop();

return 0;
}

Dal momento che questo tipo di implementazione permette semplicità e immediatezza di sviluppo e comoda da usare ma non hai il controllo totale sul processo di compilazione. Cioè se volessi compilare il tuo progetto e far generare in automatico moduli disassemblati per ottimizzarli manualmente o per controllo con arduino non lo puoi fare o meglio diventa più complesso. Arduino IDE compila i sorgenti con le librerie in una directory temporanea però te la devi cercare ma sarà in tmp o var/ ecc su svista non ho idea.

Ciao.

nella cartella TEMP ci sono le cartelle temporanee create dall'IDE: guarda in quelle che iniziano per "build". :wink:

Grazie Mauro (e JJ),
inizio sentire aria di casa con te.... :slight_smile:

P.S.
C'è già qualcuno che vorrebbe riscrivere tutto in formato "umano"?
Io sono disponibile.
Editor a parte, "tabbarlo" in una shell per Windows è un gioco.
Sono pronto a riscrivere l'ambiente se qualcuno vuole.
Una cosa che inizia, sotto File con (New|Open) Project.....
Mi spiego? :slight_smile:

Intendi riscrivere tutto da zero? Un progetto opensource????
Semmai unisciti agli sviluppatori e fai le tue proposte,no?

C'è già qualcuno che vorrebbe riscrivere tutto in formato "umano"?
Io sono disponibile.

Ma in che senso umano?
Che linguaggio vorresti usare?

Editor a parte, "tabbarlo" in una shell per Windows è un gioco.

Non capisco il gerco.

Comunque se l'ide arduino non ti piace e sei su swindow allora cerca nel forum internazionale che c'è qualcuno che ha scritto un'ide in c#.

Mentre se vuoi proprio riscrivere tutto, io ci sono sempre se il linguaggio è python e pyqt4 per librerie.

Una cosa che inizia, sotto File con (New|Open) Project.....

Appunto, ma una cosa ancora più importante, supporto per makefile o cmake.

Per cmake dice che è più facile di make, ma è un'inferno se vuoi aggiungere un modulo ed un'altra piattaforma, ammeno che il programma non crei dei cmakecache in automatico.

Altra cosa di ide in circolazione c'è ne sono, specifici per embedded e liberi invece scarsegiano, sarebbe bello qualcosa come kdevelop, ma specifico.

Ciao.

Invece di riscrivere da zero un ide per arduino, perchè non scrivere plugin per ide come codeblocks o kdevelop?

Beh... non ho detto di riscrivere tutto.
Intendevo solo l'ide, che è poi la sostanza della cosa.
Il compilatore è bene sia quello che è e il C, magari K&R,
più che sufficiente.
OPra guardo nei temp...

P.S.
Con tabbarlo intendevo inserire l'editor in una finestra W
con i "tab" in alto. L'editor completo con il back dal compilatore
è troppo pesante per partire da solo.... :-/

Ciao paolo1957

Stai giudicando Arduino dalle Tue conoscenze di programmatore o sviluppatore (suppongo) dove tante cose intorno al scrivere codice e compilazione e upload a te Ti sono conosciuti e hai voglia di intervenire sui passi per migliorare o guidare a tuo piacimento il risultato.
Puoi farlo.

Devi considerare che Arduino é pensato per persone che malappena sanno C e che di Elettronica sanno ancora di meno.
Per queste persone avere un IDE che é semplice e funzionale (porta a poter eseguire il codice appena scritto sul controller) é utilissimo.
Non dover leggere 460 pagine di datasheet del ATmega328 per sapere cosa come settare é un grosso vantaggio e porta a poter usare un controller senza mezzo studio di informatica e di elettronica.

Come detto l'IDE usa AVRGCC. Se non vuoi usare l'IDE perché Ti sembra troppo dialettale non usarlo.

Ciao Uwe

C'è già qualcuno che vorrebbe riscrivere tutto in formato "umano"?

Questo lo hai scritto tu, e quindi forse intendevi aggiungere funzionalità e quindi sempre in java, se così non contare su di me.

è troppo pesante per partire da solo....

Però non hai risposto alle mie domande, pesante lo è comunque anche in due, ma si potrebbe partire da un IDE di base come Eric che usa Qscintilla come editor ed ha l'evidenziazione della sintassi, ma come ho detto si tratta di Python e PyQt4.

@uwefed

Per queste persone avere un IDE che é semplice e funzionale (porta a poter eseguire il codice appena scritto sul controller) é utilissimo.

Concordo e rilancio dicendo che il nuovo IDE potrebbe essere fatto sulla scia di quello in java, prendendo cioè la parte migliore la semplicità, buttando tutto il resto.

Onestamente:
È brutto, persino un GUI in TK sembra meglio.
È lento, ma io non uso la jvm originale potrebbe essere questo il motivo, anche se un'altro utente lo ha definito con il termine Cassettone il che mi ha fatto ridere.
Poco leggibile, ma questo vale per me che non conosco java.

In più continuando ad usare il core così com'è ma con la possibilità di aprire e gestire anche progetti i C/C++ con altre librerie così chi inizia ne trae vantaggio ma quando poi vuole di più non è costretto ad abbandonare l'ide.

Mia personale osservazione:
Ma Banzi ne avrà guadagnati di soldini e anche tanti o no. Se si perchè non crea un gruppo di sviluppo che si concentri sull'ide?

Ciao.