Go Down

Topic: Secondo voi come dovrebbe essere un IDE per lo sviluppo embedded (Read 2515 times) previous topic - next topic

#15
Jan 30, 2011, 06:57 pm Last Edit: Jan 31, 2011, 04:44 pm by Aurelio Bignoli Reason: 1

se si avesse voglia si potrebbe importare tutto in Eclipse o NetBeans.. IDE generici a cui tu aggiungi comandi ecc..

ma chi lo fa?


http://www.arduino.cc/playground/Code/Eclipse

il plugin per Eclipse

http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download

non sembra molto aggiornato, ma può essere un buon punto di partenza. Ne parlavano di recente nel forum:

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1277930203/0


Massimo Banzi


Se il team Arduino pensasse di piu' a facilitare l'entrata della programmazione nella vita di tutti i giorni della massa, avrebbero sviluppato un IDE piu' open,
Se la cosa fosse completamente open e libera da meccaniche commerciali sarebbe meglio, esempio sarebbe interessante poter proporre modifiche all'idea, upgrade e nuove possibilità.


Ciao
Il team Arduino ha portato migliaia di persone, compreso te, a programmare microcontrollori. Persone che prima di Arduino non avrebbero mai pensato di poter o voler fare programmazione embedded. A questi temi ci pensiamo ogni secondo della nostra vita professionale... E lo abbiamo fatto quando non fregava a nessuno e quando non c'erano soldi da guadagnare.

L'IDE di Arduino è completamente open source. Inoltre se avessi letto un po' di documentazione ti saresti accorto che per aggiungere altri processori basta aggiungere una directory con i files giusti e sei a posto.

Infatti la persona che per prima ha portato arduino sul 2560 l'ha pubblicato come plugin da aggiungere ad arduino.
L'IDE di Arduino nasce per essere modulare e supportare più processori e più cores.

Chiunque voglia contribuire si registra gratis su github, forca il progetto, fa delle modifiche ed invia una pull request. Se le patch hanno senso vengono incluse.

Invito tutti gli interessati a registrarsi sulla mailing list developers e partecipare alla discussione visto anche che non c'è un italiano attivo...

Detto questo l'IDE di Arduino è progettato per essere ultra semplice e leggero , quando uno arriva al limite delle sue possibilità migra ad Eclipse o qualche altro mostro.

Ovviamente le chiacchiere da bar sport sono più semplici del dare un contributo fattivo :)

m






leo72

Ciao Massimo, una richiesta che penso non sia difficile e che potrebbe rendere il codice più leggibile.
L'attuale IDE non mi pare marchi tutta la sintassi. Ad esempio le direttive #define ecc.. non vengono colorate come le altre istruzioni, ne deduco che ciò sia o per scelta o perché l'IDE non le identifica come comandi riconosciuti. Pensi che potresti/potreste rivedere questa cosa?

Massimo Banzi

Le parole da colorare sono contenute in un file di configurazione.
Ho notato la sett scorsa che non funzionava neanche "const"
Ora li inserisco come bug report.

In ogni caso se trovate qualcosa che non funziona o è migliorabile in arduino la cosa migliore è andare qui

e inserire http://code.google.com/p/arduino/issues/entry un bug report (o enhancement request)

qui la lista di quelli correnti http://code.google.com/p/arduino/issues/list

m

Da quando frequento questo forum ho notato che non sono capace di mantenere la discussione in tema, e devo dire che la cosa mi scoccia.
Forse sono mal abbituato, ho notato che il moderatore non modera, e non solo per questo post. Il post recita "secondo voi come dovrebbe essere....", invece è andata a finire a quanto fà pena e quanto non è open o forse lo è troppo. Non posso dire che siamo fuori tema ma quasi, se si va oltre si finisce OT.



Ora secondo voi a senso riportare qui quello che ho fatto, al di la del fatto che possa o meno interessare discuterne.
Ho usato qmake (generatore di project file e makefile di QT(Nokia)) con il quale ho compilato le librerie di arduino e lo scketch, ma quando ho paragonato la dimensione del file .elf generato da arduino con quello generato tramite makefile ho notate una certa differenza.

Eppure ho usato il parametro -Os di gcc, allora nonostante l'allergia a java ho guardato il sorgente dell'ide (file Compiler.java), e non ci sono sostanziali differenze tra i prametri passati a gcc da arduino e quelli sepcificati nel makefile, vedro come risolvere. Ho notato un'altra coso ne approfitto visto che uno degli sviluppatori ha postato qui.

Nel file menzionato in BaseCommandCompiler viene aggiunto un argomento che viene passato ad avr-gcc, ma questo argomento non è riconosciuto da gcc, o meglio richiede "x" per non avere errori, l'argomento in questione è il seguente:

Da cpp.pdf:
-x assembler-with-cpp
          Specify the source language: C, C++, Objective-C, or assembly.

Ora, ho quel codice non entra in azione (non sono in grado di capirlo) oppure viene aggiunto -x e io non lo vedo nel codice.

Per favore, se avete qualcosa da dire in tema io sono interessato a leggere ed argomentare, altrimenti questo post per me è chiuso qui.

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

Federico

http://www.adafruit.com/blog/2011/02/01/arduino-plugin-for-textmate/

Questo puo' interessare a qualche amico che usa il mac?
UhMph peccato che non sia per linux :-)
Fede
Federico - Sideralis
Arduino &C: http://www.sideralis.org
Foto: http://blackman.amicofigo.com

Massimo Banzi

Per rispondere alla domanda del topic vorrei darvi una prospettiva sullo stato attuale dell'IDE di Arduino e di come personalmente vedo l'evoluzione degli strumenti di sviluppo.

L'IDE di Arduino è progettato per coprire le necessità del suo pubblico principale: il principiante che vuole qualcosa che non lo intimidisca al primo approccio. La semplicità del menu e della toolbar sono progettati per non sopraffare l'utente con un'infinità di opzioni che non servono quando stai partendo.

L'altra necessità è di mantenere una continuità tra processing e arduino. Processing è un ottimo modo per insegnare a programmare ad un principiante e poi permettergli di passare ai microcontrollori mantenendo quasi tutte le conoscenze acquisite. Questo è il prodotto di alcuni anni di lavoro fatti dai nostri due gruppi dal 2001 in poi all'MIT Media Lab, IDII Ivrea, K3 Malmo, ITP New York,  CIID Copenaghen,  Domus e centinaia di workshop.

Il nostro IDE probabilmente non è adatto a un professionista che svolge progetti molto complicati in cui ci sono Interrupt complessi o gestioni molto intricate di timers e cose simili.

Molta gente ha chiesto un IDE più potente e secondo me il percorso da fare è la creazione di un plugin Arduino per Eclipse.

Questa strada è stata seguita già da processing e gli sviluppatori pro dopo un po di tempo sull'IDE di base passano a Eclipse.

Eclipse è potente, cross platform ed ha tutta l'infrastruttura necessaria a supportare un debugger. Nel momento in cui possiamo far parlare Eclipse con GDB e avere un'interfaccia simile a OpenOCD (che si usa per il JTAG) sarà possibile fare il debug linea per linea, monitorare le variabili etc.

Stiamo lavorando con ATMEL per convincerli ad aprire un po' i loro protocolli di debug. Ce la possiamo fare :) (mi sono anche fatto un viaggio in norvegia tre settimane fa per andare a trovarli)

Se qualcuno è interessato alla creazione di questo plugin ce lo dica e cerchiamo di lavorarci sopra.

Un'altra area che vorremmo esplorare sono gli IDE visuali. Quando si scende di età verso i bambini, uno strumento cosi può funzionare. A barcellona hanno modificato Scratch per parlare con Arduino e lo usano con i bambini per programmare i robot. CI piace l'esperimento e lo seguiamo.

Avevo anche pensato alla riscrittura dell'IDE in QT ma alla fine ci siamo accorti che l'IDE corrente è il prodotto di una quantità immensa di ore/uomo di lavoro fatto da processing e noi. Se non c'è una ragione molto importante per cambiare meglio tenersi un programma che funziona.

Il discorso è lungo ed è un'argomento su cui lavoro da 8 anni perciò se non sto attento scrivo un libro :)

m



Go Up