Pages: [1] 2   Go Down
Author Topic: Eseguibile Arduino?  (Read 2703 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?  >smiley-sad
Poi mi presento.

Grazie
Paolo

Logged

Marche
Offline Offline
Edison Member
*
Karma: 34
Posts: 2276
azioni semplici per risultati complessi
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
« Last Edit: January 21, 2011, 02:02:37 pm by Pelletta » Logged

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 989
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 270
Posts: 21860
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
« Last Edit: January 21, 2011, 03:17:08 pm by uwefed » Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 270
Posts: 21860
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Uwe ma non mi ci trovo lo stesso.
Non dirò cosa faccio di mestiere (da decenni) altrimenti vengo espulso dal forum...  smiley
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.  smiley-sad
Logged

0
Offline Offline
Faraday Member
**
Karma: 31
Posts: 2908
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 (;smiley-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.



Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 989
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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?  smiley
Logged

Rome
Offline Offline
God Member
*****
Karma: 1
Posts: 989
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

0
Offline Offline
Faraday Member
**
Karma: 31
Posts: 2908
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
C'è già qualcuno che vorrebbe riscrivere tutto in formato "umano"?
Io sono disponibile.
Ma in che senso umano?
Che linguaggio vorresti usare?
Quote
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.

Quote
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.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Naples (IT)
Offline Offline
God Member
*****
Karma: 6
Posts: 716
Andrea E.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Arduino, MODs e DIY: blackstufflabs.com

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 69
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


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....  :-/


Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 270
Posts: 21860
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  
Logged

Pages: [1] 2   Go Up
Jump to: