Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Compilatore per ARM: Keil o IAR o Atollic o cosa?

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto UtenteTardoFreak » 7 apr 2012, 0:52

Un saluto a tutti, in particolare ai microcontrollisti che sviluppano per lavoro.
E' venuto il momento di prendere una decisione, di scegliere quale sistema utilizzare per sviluppare in modo serio e duraturo con i Cortex-M3.
La situazione è la seguente: oggi sto sviluppando e valutando sulle versioni demo della IAR (riformattando il muletto ogni mese), sul KEIL rimanendo entro i 32KB e sull' Atollic senza debugger.
Devo decidere quale sistema adottare e visto che questi software costano come il fuoco mi piacerebbe avere informazioni dagli sviluppatori che usano, o che hanno valutato, questi sistemi.
In passato ho usato un compilatore IAR per l' H8 e devo dire che mi è sembrato una potenza della natura: l' assembly compilato dall' ICC sembrava scritto a mano. In effetti anche con gli ARM si comporta egregiamente producendo un codice compatto ed efficiente. Il KEIL, dal canto suo, sembra sia il sistema ufficiale della ARM, l' Atollic usa i GCC e in pratica vende solo il debugger.
Visto che la cifra da sborsare si aggira intorno ai 5 "bulloni" (trad. 5000€) la scelta deve essere oculata.
Per questa cifra il KEIL offre anche il suo RTOS (molto completo, sembra il Power Pack della IAR) mentre la IAR no. L' atollic costa la metà ma mi sembra un mezzo pacco visto che usa il gcc senza niente di nuovo, a questo punto tanto vale usare il gcc che è gratis e fregarsene del debugger o usare l' Atollic sempre senza debugger.

Ringrazio anticipatamente chi avrà la gentilezza di scrivere le proprie opinioni ed esperienze dirette relative a questi sistemi e sapere quale sistema hanno scelto e perché. iOi
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,8k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15763
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[2] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto UtenteKirkegaard » 7 apr 2012, 13:54

ciao...

non ho esperienze dirette... conosco soggetti che lavorano con gli Arm della Texas e altri con gli Arm della Nxp.. in entrambi i casi hanno scelto CodeComposer ...
Mi sono scaricato il sistema hiTop ma non mi convince.. e proprio adesso sto guardando Codecomposer ma non ho progetti in cantiere....
Iar lo uso per lavoro e per me sarebbe l'ideale ( l'interfaccia la conosco già..). Keil mi sembra un po' farraginosa come quella hiTop ( ma è un giudizio sommario, ci vuole tempo per capire le funzionalità...)
Atollic mi è sconosciuta...
Avatar utente
Foto UtenteKirkegaard
7.415 1 7 10
Master
Master
 
Messaggi: 17
Iscritto il: 12 giu 2011, 19:09

2
voti

[3] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto UtenteAOX » 7 apr 2012, 14:33

Diversi anni fa anche io mi sono trovato a fare questa scelta.
In particolare ho sempre usato i micro 8051 fin dall'inizio e la scelta è caduta su Keil. Avevo valutato anche lo IAR ma poi, per questa famiglia, il Keil era molto più sviluppato e prevedeva i driver software per centinaia di derivati della serie con i quali ho simulato quasi interi progetti prima ancora che mi arrivassero gli stampati. Inoltre il compilatore è ottimizzato da paura e te lo dice uno che, per anni prima, ha usato solo assembler. Addirittura dopo la generazione del binario lo scansiona per sostituire sequenze binarie (non logiche) ripetute con una subroutine se il numero di bytes per la chiamata è conveniente.
Poi successivamente Keil è diventata ARM company e si sono molto buttati su questo fronte ereditando tutte le funzionalità sviluppate in precedenza. Keil quindi ha tutti i miei voti positivi. L'assistenza è ottima e gli ho segnalato anche io diverse cose prontamente corrette.
Sono sistemi comunque costosi e poi, a parte la cifra iniziale, senza accorgertene, anno dopo anno, ne spendi molti di più. Per esempio ogni anno per mantenere la licenza si paga il 20% del prezzo iniziale. Quindi dopo 5 anni lo hai come comperato 2 volte (io lo uso da parecchio e mi rifiuto di farlo il conto finale).
Avatar utente
Foto UtenteAOX
3.555 2 6 11
Master EY
Master EY
 
Messaggi: 232
Iscritto il: 20 mar 2011, 12:29

3
voti

[4] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto Utentexyz » 7 apr 2012, 14:38

Io uso il GCC per x86, x86_64, ARM, PowerPC, MIPS, AVR, MSP430. Lo conosco talmente bene che ormai tutti i tool chain gli compilo io tranne quello per Android (anche se posso farlo se voglio :-)). Il GCC è molto aggiornato nella parte ARM, Google e Apple lo usano per Android e iOS quindi è parecchio collaudato (il numero di telefonini + tablet venduti è impressionante). Stanno già lavorando al supporto per il prossimo core ARM a 64 bit che uscirà entro quest'anno.

Come debug uso il GDB ma lo uso molto poco quasi mai, molto spesso il codice viene scritto su PC e poi adattarlo per il micro, al massimo ho utilizzato il debug per ARM con Android via gdbserver ma era solo un test in caso mi servisse, mai successo.

Alcuni programmi che avete indicato non sono compilatori ma degli IDE, il compilatore è poi esterno. Ad esempio "Code Composer Studio" è una versione modificata di Eclipse.
Avatar utente
Foto Utentexyz
6.350 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1679
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

1
voti

[5] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto UtenteAOX » 7 apr 2012, 14:50

Come fai a provare un software su un PC se la tua schedina o schedona contiene un sacco di periferiche ed integrati che devovo essere gestiti dal firmware oltre che lavorare con il resto della macchina?
Prima di scrivere il software di un micro occorre mettere a punto tutti i driver delle periferiche e questo lo si può fare solo sull'hardware reale verificando anche con oscilloscopio, analizzatore stati logici e quant'altro. Poi per provare il programma applicativo serve di nuovo l'hardware reale conneso alla macchina o a un suo simulatore. Per esempio se c'è un display occorre verificare sullo stesso il layout della grafica oppure se il sistema interagisce con altri occorre tenerlo connesso agli altri (lo stesso vale per gli IO vari).
Lavorare su un sistema totalmente diverso, senza interazione col resto, al massimo permette di provare qualche funzione isolata per conto suo, purchè la sua verifica non richieda quanto sopra. A quel punto si fa prima a debuggare anche le funzioni isolabili tutte da una parte.
Quindi non vedo molte altre alternative ad una totale integrazione tra IDE-compilatore-debugger-scheda-macchina-strumentazione.
Avatar utente
Foto UtenteAOX
3.555 2 6 11
Master EY
Master EY
 
Messaggi: 232
Iscritto il: 20 mar 2011, 12:29

0
voti

[6] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto UtenteTardoFreak » 7 apr 2012, 14:57

Anche io preferisco tutto integrato insieme.

Grazie comunque per le risposte.
A dire il vero il KEIL mi sembra ottimo e mi fa piacere che la sensazione che ho auto sia giusta. In effetti la scelta si riduce fra IAR (che ho conosciuto ed apprezzato in passato) ed il KEIL.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,8k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15763
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[7] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto Utentesimo85 » 7 mag 2012, 9:19

Buongiorno Foto Utentexyz, leggendo il tuo post mi sorge una domanda.

Ho recentemente acquistato una STM32F4 Discovery Board, architettura ARM Cortex M4, e vorrei programmarlo con gcc..

Per il momento, ho trovato questo link che mi dovrebbe aiutare con la compilazione, questo è senz'altro utile e perché no anche questo.

Volevo gentilmente chiederti se mi potresti indirizzare su qualche eventuale guida, o eventualmente qualche consiglio su come muovermi.

Ti ringrazio in anticipo.
Buona giornata.

O_/
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

1
voti

[8] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto Utentexyz » 7 mag 2012, 13:40

I link che hai postato spiega come compilare tutto il toolchain per ARM compresa la Glibc, non sei obbligato a fare tutti quei passaggi (sono abbastanza standard), serve una certa conoscenza soprattutto del mondo Linux. E' possibile trovare i binari per il proprio sistema operativo già pronti. Alcune distribuzioni Linux hanno il cross-compiler GCC per ARM tra i pacchetti disponibili.

La libreria Glibc di solito viene utilizzata solo nei desktop, è troppo grossa e complessa per i sistemi embedding, infatti l'ultimo link usa la newlib come libreria c, come altra alternativa esiste la uClibc.

Nel link della STM c'è il download del firmware package con esempi, tra di questi c'è una libreria statica per il GCC per interfacciarsi con hardware proprietario presente nel chip.
Avatar utente
Foto Utentexyz
6.350 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1679
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[9] Re: Compilatore per ARM: Keil o IAR o Atollic o cosa?

Messaggioda Foto Utentesimo85 » 7 mag 2012, 13:42

OK, grazie mille!
Avatar utente
Foto Utentesimo85
30,8k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti