[OT] Da Arduino ad altre MCU (PIC vs AVR)

Salve a tutti,
Son passato ad Arduino dopo anni di Basic Stamp ed ora credo di esser grande abbastanza per passare a MCU "Serie" :slight_smile:
È giunto quindi per me il tempo di schierarmi con una delle due fazioni, PIC o AVR, e quindi chiedo il vostro consiglio.

Per la mia scelta sono fondamentali i seguenti aspetti:

La disponibilità di un programmatore:
che mi permette di programmare In-Circuit
la cui spesa d'acquisto non mi costringa a frugare nei cestini della spazzatura per mangiare
che supporti quanti più "formati" di MCU possibili

E di un IDE gratuito, o perlomeno che sia "regalato" con il programmatore;
E che il tutto sia compatibile con OS X

Aggiungo che vorrei evitare di programmare in assembly, ormai io e il C siam buoni amici...

In sintesi cerco la soluzione più affidabile e duratura. So che chiedo la gallina dalle uova d'oro, ma magari qualcuno di voi ha già vissuto questo momento di transito e può aiutarmi a non serperare i miei risparmi o a pentirmi il giorno dopo l'arrivo del corriere

Grazie mille :slight_smile:

Per il versante PIC sembrerebbe che MPLAB X IDE sia gratuito (Ed Open Source) ma io ricordavo costasse buoni soldi e, su varie pagine, leggo delle più svariate limitazioni nella versione freeware... Forse è una novità relativamente recente il cambio di licenza e sto leggendo informazioni non più valide?

Il PICKit2 e il AVR-ISP-MK2 han prezzi più o meno paragonabili, ma sembrerebbe che la soluzione AVR consenta una compatibilità più ampia,mentre sul versante PIC si rende necessario aver diversi programmatori per diverse famiglie di MCU

È solo una mia impressione che le MCU AVR costino meno delle PIC?

Beh, hai appena descritto i PIC ed il loro ecosistema.

Come al solito è una scelta frutto di cosa si fa nello specifico, condita da irrazionali preferenze personali (l'annosa questione del se è meglio una bella gnocca bionda o una bella gnocca mora...).

Cmq direi che PIC vincono su tutti ai punti.

Per esempio sono simpatici anche gli MSP430 di Texas Instruments, ma i PIC continuano a vincere di un piccolo margine, ai punti appunto.

Comprati un PIC a 40 pin (chessò, un PIC18F4550) e l' IDE di Mikroelektronika, e vedrai che ti sentirai a "casa". :wink:

Azalel:
....
E che il tutto sia compatibile con OS X
....

Non vogli entrare nella "guerra di religione" tra chip Atmel e chip Microchip, ho le mie idee e me le tego :grin: ... però, relativamente a OS X, secondo me ti fasci la testa inutilmente ...

Se hai un MAC abbastanza potente, installati Parallels 9 (... che, devo dirlo, funziona veramente bene) e ti crei quante Virtual Machine vuoi in cui fai girare l'OS che ti pare. Io ne ho una con Win 7 x64, una con Win XP, una con Ubuntu x64 e una con Ubuntu x32. Quando ti serve, attivi la VM che ti interessa e lanci quello che vuoi.

Ad esempio, per Atmel, nella VM Win7 x64 ho installato Atmel Studio 6 (... e, se vuoi lavorare anche con Arduino in Atmel Studio, ti installi anche il tool Visual Micro) e non ho problemi :wink:

MPLAB in effetti gira nativo su OS X ed è free ... sono i compilatori che si differenziano tra free e a pagamento ... e i free, in dipendenza dall'uso, hanno varie limitazioni.

Guglielmo

MPLAB IDE è gratuito, sono i compilatori che bisogna acquistare.

Se sei uno studente che deve giochicchiare e fare qualche esperimento, avrò la mente criminale, ma puoi scaricare qualche crack a UFO, e fare i tuoi aggeggi, nessuno andrà in rovina. Se invece ne devi fare uso professionale è giusto acquistarne le Licenze, allora è bene orientarsi, non solo sul costo del compilatore, ma il costo complessivo di un ecosistema minimo, perché spesso, alla fine dei conti, si trovano delle belle sorprese a quattro cifre!

BaBBuino:
Comprati un PIC a 40 pin (chessò, un PIC18F4550) e l' IDE di Mikroelektronika, e vedrai che ti sentirai a "casa". :wink:

Potessi spendere 200 e rotti USD per un IDE volentieri... xD

BaBBuino:
MPLAB IDE è gratuito, sono i compilatori che bisogna acquistare.

Se sei uno studente che deve giochicchiare e fare qualche esperimento, avrò la mente criminale, ma puoi scaricare qualche crack a UFO, e fare i tuoi aggeggi, nessuno andrà in rovina. Se invece ne devi fare uso professionale è giusto acquistarne le Licenze, allora è bene orientarsi, non solo sul costo del compilatore, ma il costo complessivo di un ecosistema minimo, perché spesso, alla fine dei conti, si trovano delle belle sorprese a quattro cifre!

Studente squattrinato per precisare :wink: Vorrei evitar il discorso crack... Sarò masochista ma non mi sembra giusto, per me è come rubare.

Ok, ora son più confuso di prima xD

Provo a ricapitolare:
Il prezzo dei programmatori diciamo che si equivale, quello dei Microchip stessa storia, entrambi gli IDE son gratis ma il compilatore si paga.

Giusto?

Azalel:
Per il versante PIC sembrerebbe che MPLAB X IDE sia gratuito (Ed Open Source) ma io ricordavo costasse buoni soldi e,

Solo Microchip ha un ottimo ambiente di sviluppo ufficiale che gira su Windows, Linux, MAC OS, ovvero il recente MPLABX che va a sostituire MPLAB Windows.
MPLAB/MPLABX è sempre stato gratuito, quello che è a pagamento sono le varie toolsuite per compilare, attualmente c'è XC8 che copre tutte le famiglie a 8 bit, XC16 per tutte le famiglie a 16 bit, XC32 per i PIC 32 ed è un compilatore C++, gli altri sono C Ansi
Tutti i compilatori Microchip sono ottimi, anche perché in realtà sono il PICC di Hitech che Microchip ha acquisito, per tutti quanti è disponibile la versione free che come unico limite pone il non poter utilizzare i livelli superiori di ottimizzazione, da un punto di vista amatoriale, ma anche professionale, è un limite che non crea problemi, la licenza della versione free consente l'uso per realizzare applicazioni commerciali.

È solo una mia impressione che le MCU AVR costino meno delle PIC?

Dipende da dove li compri, a parità di famiglia/modello i pic costano meno degli AVR se presi dai giusti canali, ovvero Digikey, Mouser o direttamente da Microchip che è l'unico produttore che vende direttamente anche il singolo pezzo tramite il proprio canale di vendita aperto anche ai privati.

Sei un morto i fame? Allora vai di crack, però io non ti ho detto niente e negherò fino al parossismo di averti consigliato tale pratica.

Azalel:
...
Il prezzo dei programmatori diciamo che si equivale, quello dei Microchip stessa storia, entrambi gli IDE son gratis ma il compilatore si paga.
...

NO, Atmel Studio 6 (che include il compilatore) è gratuito ... dove hai visto compliatori a pagamento sul sito Atmel ???

Guglielmo

Azalel:
Ok, ora son più confuso di prima xD

Provo a ricapitolare:
Il prezzo dei programmatori diciamo che si equivale, quello dei Microchip stessa storia, entrambi gli IDE son gratis ma il compilatore si paga.

Giusto?

Mikroelektronika IDE ed il suo compilatore non si possono disgiungere come MPLAB IDE e i vari compilatori XC.

gpb01:
NO, Atmel Studio 6 (che include il compilatore) è gratuito ...

Vero, però il compilatore è il solito avr-gcc, con patch Atmel se usi la loro toolsuite, quindi niente di che :slight_smile:
Se vuoi un buon compilatore AVR per uso professionale devi mettere mano al dindarolo e spendere svariate centinaia di Euro.

Azalel:
Il PICKit2 e il AVR-ISP-MK2 han prezzi più o meno paragonabili, ma sembrerebbe che la soluzione AVR consenta una compatibilità più ampia,mentre sul versante PIC si rende necessario aver diversi programmatori per diverse famiglie di MCU

Il PK2 è obsoleto già da un paio di anni, non ha più aggiornamenti, non programma tutte le famiglie di PIC , nemmeno i modelli recneti recenti delle famiglie supportate.
Devi prendere il Pickit 3 che è un programmatore/debugger, supporta tutte le famiglie e i modelli di pic passati, presenti e futuri, lo puoi usare sia da MPLAB/MPLABX che tramite una sua GUI dedicata (solo per windows), inoltre può memorizzare (max 512k) l'eseguibile e ti permette di programmare i micro senza usare il pc, basta solo alimentarlo.

gpb01:
Se hai un MAC abbastanza potente, installati Parallels 8

... Parallels 9 scusa, è l'ultima versione (... che è quella che ho in uso), la 8 è la precedente.

Guglielmo

Innanzitutto grazie mille a tutti!
Provo a ricapitolare di nuovo, correggetemi per favore, se ho frainteso:
Atmel Studio 6 è gratuito, inclusivo di compilatore, anche se basato su avr-gcc (Quindi affidabile solo fino a una certa complessità).

MPLAB X è gratuito ma serve il compilatore che costa sui 300USD (E ce ne sono tre, ognuno per un architettura diversa)

Quindi per quanto concerne gli IDE, riducendo il tutto al vil denaro si può scegliere fra: Atmel (Gratis) o PIC (300$)

Così sembrerebbe che la cosa migliore sia darsi ad Atmel (Perdonami Astrobeed) che ha anche il programmatore più economico, sebbene le MCU sian più costose.

Perché in fondo, per iniziare, ho bisogno di IDE + Compilatore, programmatore e MCU, giusto? (Quarzi, resistori etcc. etc. li do per scontati)

(Tengo il discorso in termini di spesa iniziale perché do per scontato che le possibilità delle due famiglie siano pressoché identiche, data l'accesa discussione che anima l'argomento.)

I compilatori microchip sono gratis come l'IDE. Paghi solo per le versioni che ti rendono il codice più leggero e performante (cosa che puoi evitare se non hai esigenze particolari).

Azalel:
MPLAB X è gratuito ma serve il compilatore che costa sui 300USD (E ce ne sono tre, ognuno per un architettura diversa)

No, il compilatore XC8 è disponibile in versione free con l'unica limitazione che non ottimizza il codice per la velocità/dimensione del binario. Ma a parte questo, non ha nessun altro tipo di limite. Io ho fatto il passo dei PIC su Linux e con MPLAB X + XC8 + Pickkit 3 e programmo senza problemi.

Quindi: XC8, XC16, XC32 son tutti free con l'unica limitazione che l'ottimizazione del codice si ferma al secondo livello?
Se fosse così non ci sarebbero differenze di prezzo troppo importanti fra le due e la scelta cadrebbe con decisione verso i PIC, data la loro maggior diffusione (Anche se, non so perché, a pelle, AVR mi ispira più fiducia)

@Leo72
@tutti
I pic sono un mondo che mi affascina, voi con che schedine lavorate?

Azalel:
Quindi: XC8, XC16, XC32 son tutti free con l'unica limitazione che l'ottimizazione del codice si ferma al secondo livello?

Si ed è comunque un buon livello di ottimizzazione, crea problemi solo se il tuo codice è al limite della flash/ram disponibile e non puoi usare un pic meglio dotato per motivi di costi, parliamo delle grandi produzioni dove 20 cent in più su un micro pesano sul budget totale.
Se hai problemi di velocità sono sempre risolvibili utilizzando parti di codice in assembly, poche righe possono fare miracoli :slight_smile:

Se fosse così non ci sarebbero differenze di prezzo troppo importanti fra le due e la scelta cadrebbe con decisione verso i PIC, data la loro maggior diffusione (Anche se, non so perché, a pelle, AVR mi ispira più fiducia)

La differenza di prezzo è solo nel costo dei micro, ed è favore dei PIC, il programmatore ha praticamente lo stesso costo però il PK3 è anche debugger hardware mentre l'AVRISP MKII è solo programmatore, inoltre mentre con gli AVR devi avere pure il programmatore HV se vuoi debrickarli con i PIC questo problema non esiste.