Newsgroup: it.hobby.elettronica.digitale
Titolo: ARM o NON-ARM?

Ciao a tutti!
Oggi da lavoro ho letto con gusto la discussione sull'altro gruppo 
riguardo gli ARM Cortex-M3 in salsa Luminary, e mi ha incuriosito.
Spiego il contesto e su cosa sono abituato a lavorare quando devo fare 
del firmware: fino ad oggi nelle applicazioni *veramente* semplici ho 
usato un qualche PIC con il suo ambiente di sviluppo MPLAB ed il 
compilatore C HiTech. Per le cose poco più complesse un freescale 56F834x 
a 60MHz con CodeWarrior e un mini scheduler fatto in casa. 
Vorrei passare dai 16 bit del freescale a 32 bit, giusto per rimanere al 
passo con i tempi, e ho due prospettive: 
1- cpu "software" tipo NIOS-II su fpga altera: l'ambiente di sviluppo è 
eclipse, ci sono valanghe di periferiche e fare delle periferiche custom 
è una sgambata. Sbattimento poco: è tutto configurato, qualche click e 
via.
2- cpu arm: eclipse da configurare, altri tool? Il debug?
Probabilmente in realtà le due alternative che mi pongo non sono neanche 
confrontabili tra loro (soprattutto per il costo, ma quello è abbastanza 
trascurabile), e la persona sensata penderebbe al 99% verso arm. Io sono 
titubante e pendo verso il nios-II perchè l'ambiente di sviluppo è del 
tipo "tutto integrato" in cui scrivo il mio codice, inserisco i miei file 
dentro al progetto, compilo, scarico e debuggo senza tanti sbattimenti.
Per gli arm, tutti dicono che c'è una montagna di informazioni, di 
ambienti di sviluppo, che eclipse e gcc vanno da dio, però stringi 
stringi un tutorial fatto per il verso su come è la toolchain e su come 
si devono fare le cose non l'ho trovata. Dei gran makefile che non 
capisco dove mettere (lo ammetto, so a malapena cosa sia un makefile), 
dei gran siti ognuno contenente la "ricetta definitiva", nessuno dei 
quali però uguale all'altro... Il debugger con esecuzione a step, 
breakpoint, watchpoint?
Insomma, ho l'impressione sia una babele e siccome di tempo per imparare 
le cose partendo da zero (rompendo le scatole nei forum e aspettando che 
qualche anima pia voglia rispondere :-) ) purtroppo non ne ho proprio, mi 
sento un po' spaesato.
Avete qualche suggerimento?

 Avete qualche suggerimento?
Per iniziare, piů che pensare agli ARM in generale ti consiglio di legarti
all'implementazione specifica di un costruttore. Molti costruttori ti
forniscono un kit di sviluppo a basso costo, corredato da tutto il software
che ti serve per iniziare; la Luminary che hai citato in precedenza č un
buon esempio: per cinquanta euro ti danno una dev board che ha
dell'incredibile, quando l'ho accesa sono rimasto sbalordito. Una volta che
hai installato tutto, fatto i primi giochini e dato una prima ordinata alle
idee, allora sě che ti puoi avventurare fra i dettagli. Inutile farlo
subito, ti causerebbe soltanto sconforto e frustrazione.
-- 
emboliaschizoide.splinder.com

 Avete qualche suggerimento?
No!:-)
ciao
Angelo

 utile:
Quindi penderesti verso la soluzione altera+nios? La flessibilità è 
chiaramente su un altro pianeta e forse pure le prestazioni (puoi farti 
le istruzioni custom, puoi fare hardware custom, ecc...), però ho paura 
di pagarla molto nel footprint: una fpga, la sua eprom di configurazione 
più una ram.

 frustrazione.
In effetti ho visto il link su farnell, e ce ne sono una caterva a 
pochissimo! Tu quale hai? 

   
Ovvio, la flessibilità poi si paga. Se poi come sempre le funzioni 
'custom' che non siano di pura
logica richiedono componenti esterni, anche lo stampato 'multi-purpose' 
diventa una utopia
a meno di mettere la FPGA su uno stampatino piggy-back, che comunque è 
una soluzione
costosa e senza vataggio.
Iinvestendo sul NIOS, che è una soluzione proprietaria, ci si lega 
mani-e-piedi ad
Altera .... se proprio dovessi usare una fpga, altera stessa propone 
comunque (tra gli altri)
un core ARM11 e userei quello ;-)
Bye
b.

brix99luftballons wrote:
Quoto quasi tutto.
La soluzione fpga mi sembra davvero costosissima, la userei solo se ci 
sono grosse richieste di periferiche strane (che so, una CPU con 100 
pwm, ad esempio), perché altrimenti si fa tutto prima e a costo più 
basso con un normale microcontrollore.
Per quanto riguarda la possibilità di riusare lo stesso pcb, io 
ritengo che sia un'utopia.
Il problema non è la CPU o le sue periferiche interne, ma quello che 
per forza sta sulla scheda. Se devi pilotare uno stepper dovrai 
metterci un driver di potenza, o al limite, dei mosfet (se implementi 
la logica del driver nell'fpga) e se non li hai previsti, la tua 
scheda supergenerica andrà riprogettata. E di esempi del genere ne 
posso fare a decine, alla fine ti ritroveresti con poco più che una 
demo board: utile per sviluppare ma inutile per la produzione.
Al limite, come dice brix, potresti fare una scheda solo CPU da 
montare in piggyback, ma il problema del costo elevato rimane.
Mi ricordo che qualcuno qui sul ng una volta disse qualcosa di simile 
a questo: "Se puoi risolvere un problema con un FPGA o un'altra 
soluzione, risolvilo con l'altra soluzione :-)", e devo dire che sono 
d'accordo.
Se comunque decidi di usare un ARM (e te lo consiglio) devo comunque 
dire che hai ragione, attualmente c'è un po' di confusione in giro.
Secondo me stiamo assistendo a un grosso cambiamento, e ritengo che 
sia un processo inevitabile. I micro a 8 bit stanno morendo e gli ARM 
si stanno piano piano affermando.
Questo comunque non significa che non esistano soluzioni tutte 
integrate, ogni azienda propone la sua implementazione ARM a seguito 
di un'IDE che consente di fare tutto comodamente col mouse. Quindi, se 
non vuoi sbatterti troppo, soluzioni complete ci sono anche in questo 
caso, basta affidarsi in tutto e per tutto a una casa e usare i tool 
consigliati.
Come capirai, fare così è facile, ma non paga nel lungo periodo, 
perché ti lega ai loro prodotti a vita.
Io credo che l'innovazione e la ricerca siano fondamentali in un campo 
come il nostro, e credo che dobbiamo sforzarci di restare al passo coi 
tempi (anche perché dovrebbe essere divertente farlo, o almeno per me 
lo è!).
La soluzione più future-proof sarebbe proprio quella di studiarsi un 
po' le cose nel dettaglio, capire cosa sono e come si fanno i makefile 
per arrivare ad essere padroni dei propri strumenti. Questo anche 
perché l'accoppiata C-GCC-Makefile è la cosa più generica e più 
portabile che esista oggi.
Io sono passato da diversi processori/compilatori, praticamente usando 
lo stesso codice/infrastruttura, tant'è che alla fine ci siamo 
addirittura accorti di aver fatto un RTOS, nato praticamente da solo.
Ti assicuro che le conoscenze che acquisirai in questo campo saranno 
veramente ben spese, saranno certamente più riusabili che non imparare 
a fare 4 click su una IDE colorata.
-- 
  _|/ Francesco Sacchi - Develer S.r.l., R&D dept.
   |\ 
http://www.develer.com/
 - 
http://www.bertos.org

 che sia un'utopia.
Forse mi sono solo spiegato male, oppure ho capito male la 
richiesta e sono andato fuori tema, comunque sia, non stavo 
assolutamente parlando di riusabilità in senso commerciale. 
Per mia esperienza, in fase di sviluppo, una sola scheda, 
munita di front end, cpld, ram statica, microcontrollore 
(AtMega32/16) e connettori per l'I/O, mi permette di 
sviluppare diverse applicazioni, e a questo mi riferivo.
ciao
Angelo

 risolvilo con l'altra soluzione :-)", e devo dire che sono d'accordo.
Si mi ricordo io qualcosa del genere, se non ricordo male it sounds like:
"Se ti stai domandando se sarà meglio usare una fpga o una cpld allora vuol 
dire che una fpga non ti serve!"
Perchè quando serve te ne accorgi :)
(ma poi io che ne so chi l'ha mai programmate?! :DD )
salutoni!
coals 

vorrei acquistarla anch'io,ma riguardo a Farnell confermo....non accettano 
iscrizioni di privati 

 iscrizioni di privati 
Prova a dare un occhio a 
http://it.digikey.com
.
Nonostante che gestiscano il tutto dagli USA si paga in euro e i prezzi 
sono comprensivi di oneri doganali, alla consegna tu devi pagare solo 
l'IVA. I prezzi sono spesso inferiori a Farnell e RS e mi pare che non 
abbiano problemi a vendere a privati.
Con il dollaro cosi' basso anche 
http://www.mouser.com
 non e' male.
La loro efficienza e' notevole: la scorsa settimana ho ordinato del 
materiale venerdì e lunedì e' stato consegnato senza alcun problema alla 
dogana. Ovviamente al corriere ho dovuto pagare gli oneri doganali e 
l'IVA ma ti assicuro che risparmiato parecchio rispetto a Farnell e RS.
Ciao
Paolo

 ma ti assicuro che risparmiato parecchio rispetto a Farnell e RS.
C'č anche il sito italiano se non ricordo male e cmq per l'Italia era 
chiaramente indicato come e quanto pagare per gli ordini, c'era anche una 
volta una discreta somma da pagare per la gestione dell'ordine (mi 
permetterei di dire ma vaff....).
Cmq si credo che sia la via migliore!
coals 

 a fare 4 click su una IDE colorata.
Riquoto tutto :-) :-)
Mi metto al lavoro!

 ha scritto nel messaggio 
news:4861f322$0$18160$4faf...@reader3.news.tin.it...

ancora una volta vi ringrazio 

 breakpoint hardware...
Sì, IAR e KEIL costano diverse migliaia di euro cadauno.
Da CodeSourcery compri invece solo "l'integrazione" di tutti gli 
strumenti (gcc, eclipse, etc...), in quanto i singoli package sono 
opensource. Tutto sommato tra le 3 è la soluzione migliore perchè se 
anche volessi comprarlo costa solo qualche centinaio di euro.
Io ho un loro kit di sviluppo ancora intonso che aspetta di essere 
spippolato non appena ho un po' di tempo libero.
Tra l'altro per questa estate sarebbe in programma di fare il port di 
BeRTOS su piattaforma Luminary... speriamo di riuscire a trovare il tempo.


 pochissimo! Tu quale hai?
Dovrebbe essere questo:
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=726-1052-ND
-- 
emboliaschizoide.splinder.com

 
io ci ho comprato 2-3 volte e sono privatissimo :|
-- 
Nuno on zx-6r '04 & CRe 250 '99 working in progress...
Say you, say me...say 'na mignotta!
*** 
www.gladio.org
 ***

 -- 
mi dà qualche speranza
ma come si fa a iscriversi se la signorina al tel. ribadisce "assolutamente 
solo con partita IVA"? 

 
telefono? io mi sono registrato sul sito e al campo "partita IVA" ho messo 
tutti zero se non sbaglio. Arriva tutto regolarmente.


 anche volessi comprarlo costa solo qualche centinaio di euro.
Quindi pare di capire che anche se si usa il GCC bisogna comunque pagare 
il "kit". Immagino che contenga i file header con le descrizioni dei 
registri, ecc...
Si è però vincolati ad Eclipse in questo caso?
A parte i breakpoint hardware (che sinceramente non ho mai usato) quali 
altre "limitazioni" vi sono usando sourcery? Ho messo le virgolette 
ricordando le innumerevoli discussioni a riguardo dei compilatori 
generici (GCC) e quelli proprietari (vedi CSS e forse IAR e KEIL).
Ciao!
Marco / iw2nzm

 -- 
oh bella...ci  provo?
grazie 

 generici (GCC) e quelli proprietari (vedi CSS e forse IAR e KEIL).
Come già detto nella versione gratuita non c'è nessuna limitazione 
(nemmeno quella dei breakpoint a dire la verità), manca solo la 
"colla" tra il tutto.
Ciao


 Premetto che non l'ho ancora provato, quindi potrei sbagliarmi.
[...]
Scusa il "cuttone" ma sei stato chiarissimo. Ora ho le idee più chiare.
Grazie!
Marco / iw2nzm

 anche volessi comprarlo costa solo qualche centinaio di euro.
Uhm... ho appena scartato la EVB Luminary con CodeSourcery (30 gg). Sul 
sito ho richiesto la versione di valutazione per 30 gg e ho notato il 
pulsante buy, per acquistare la licenza completa.
Beh, costa 2800$, circa un ordine di grandezza sopra la tua stima. Si 
tratta di un altro prodotto?
La descrizione è questa:
Sourcery G++ for Stellaris EABI
Host OS: IA32 Windows
E' molto interessante e stavo già sbavando... ma appena ho letto la 
cifra la bava è risalita....
Marco / iw2nzm

 Host OS: IA32 Windows
In effetti avevi già risposto:
"Quindi anche la versione lite ha tutto ciò che è necessario per 
sviluppare senza limitazioni, mancano le librerie ottimizzate ed Eclipse 
con l'integrazione; sono forniti solo i tool a riga di comando. "
Però la versione di valutazione a 30 gg contiene le varie librerie... 
usando la versione lite non posso usarle a causa della licenza o non 
posso usarle perché anche se incluse non vengono compilate?
Marco / iw2nzm

 cifra la bava è risalita....
Eheeh guarda bene, puoi risbavare :-)



Se ti riferisci alle librerie dei driver, quelle puoi usarle comunque 
perché sono fornite direttamente da Luminiry gratuitamente (le puoi 
scaricare anche dal loro sito).
Se invece ti riferivi alle librerie standard C e floating point 
ottimizzate o l'integrazione Eclipse non so risponderti, non ho ancora 
provato l'evaluation.
Comunque suppongo che sia solo una questione di licenza e che la 
limitazione non venga fatta valere in modo pratico. Siccome sai che la 
licenza scade, sta a te comportarti legalmente e acquistarla se 
continui ad usarla.
P.S.
Anche se sembra non sono un commerciale Luminary/Codesourcery! :-)


 Eheeh guarda bene, puoi risbavare :-)
Hi hi...
Provo a rischiare... il progetto che avrei dovuto fare con due AVR lo 
faccio con un LM3S6965... speriamo di farcela (sia come tempi che come 
prestazioni).
Ma se non si salta sul treno, si rimane in stazione :(
Ciao!
Marco / iw2nzm

 Anche se sembra non sono un commerciale Luminary/Codesourcery! :-)
Però mi hai convinto nel giro di tre post! Proviamo 'sto ARM :-) :-) :-)

 Avete qualche suggerimento?
Posso consigliarti questo link
http://dev.emcelettronica.com/arm
dove trovi molte risorse in formato book,
tra i quali da non perdere il PDF del seminario Silverstar
"Come passare dagli 8 bit ad un ARM in 1 giorno"
http://dev.emcelettronica.com/arm/white_paper
Emanuele
-- 
YOUR ELECTRONICS OPEN SOURCE

 
http://dev.emcelettronica.com/arm
Ben tornato era un po di tempo che non leggevo tuoi interventi.