2009-06-23 16 views
5

Sto cercando un buon compilatore C per la famiglia PIC 16, che funziona su Windows.Compilatore PIC16 C

  • Un paio di colleghi utilizzare bknudc ma alcuni sembrano non piacere. Apparentemente non è possibile utilizzare il linker in modo efficiente, e si scopre che la cosa migliore è impostare tutto il codice nei file include.

  • SDCC sembra bello, ma sembra che sia ancora in versione beta e non facile da configurare o da gestire.

  • Ci sono alcune altre opzioni, tutte sono le migliori disponibili in base a se stesse. Ho trovato alcuni forum che parlano dell'argomento e nessuno sembra essere d'accordo l'uno con l'altro. MikroC, CCS (costoso), HiTech, BoostC.

Vorrei avere qualche informazione reale su ciò che è bene e ciò che è male.

Se ho capito bene, l'architettura PIC16 non è veramente C-friendly? Esiste un compilatore che permetta comunque al programmatore di funzionare in ANSI C? E un modo per impostare un debugger abbastanza carino?

risposta

9

Hai ragione nella tua valutazione che PIC16 non è veramente C-friendly. Se si desidera codificare in C, è molto meglio farlo con PIC18.
Microchip emette un IDE e un compilatore IDE e compilatore gratuiti chiamati MPLAB per PIC18. È davvero facile lavorare. Inoltre, la famiglia PIC18 è generalmente più potente ma ha alcuni chip con un ingombro non molto più grande di quello della famiglia PIC16.
Iniziare a sviluppare un nuovo prodotto con PIC16 non è una buona idea.

+1

IMO qualsiasi PIC non è C friendly. Ma +1 sul compilatore gratuito Microchip e sulla raccomandazione PIC18. – kenny

+0

Non sono sicuro di come un micro-chip possa ottenere C-friendly rispetto al PIC18. Spiega per favore. – shoosh

+0

concordato; abbiamo usato il compilatore IAR per PIC16, ma il compilatore ha dovuto inserire un sacco di codice per la gestione dello stack e le chiamate alle funzioni, ecc. Alla fine siamo passati a un PIC18 con il compilatore Microchip, che era molto meglio. –

3

Credo che SDCC ora abbia qualche supporto per PIC16.

5

HI-TECH ha un compilatore C per PIC16 e offre anche una versione freeware.
HI-TECH C Compiler

1

CCS compila per qualsiasi PIC da 12, 16, 18 e superiore. Non è gratuito, ma fa un lavoro infernale come compilatore di immagini. (Batte ASM ogni giorno per me)

0

Sourceboost BoostC è un compilatore C molto bello per le serie PIC12/PIC16/PIC18. Hanno anche il compilatore BoostC++ e BoostBasic. Viene fornito con IDE fine, ha opzioni di simulazione di base. Mi piace molto la sintassi CCS e Microchip C18. Si sente più pulito e meno ingombrante. Tuttavia, non è gratuito, ma le licenze sono abbastanza economiche. La versione gratuita/Lite consente 2kB di codice. Con questo puoi già fare molto.

0

Il compilatore BKND C è davvero bizzarro e in realtà non supporta il linker. Ma poi, la maggior parte dei chip PIC16 sono abbastanza piccoli che non è davvero un grosso problema includere solo tutta la tua fonte in un file C.

Ho fatto un confronto tra il compilatore BKND e HiTECH C e il BKND sembra generare un codice significativamente migliore. Almeno nella mia applicazione, questo era necessario per soddisfare i requisiti di velocità/spazio della mia applicazione su un MCU così piccolo.

Molte delle stranezze del compilatore BKND (tipi di dati aggiuntivi, ecc.) Sono molto utili per l'ottimizzazione del codice da eseguire su un MCU piccolo.Lo standard C che scriveresti su un ARM o su un x86 in realtà non è appropriato per una piccola CPU con solo un paio di centinaia di byte di RAM.

Per i chip PIC più grandi (18, 24F, ecc.) Il compilatore C fornito da Microchip è ottimo.

4

Ho trovato l'Hi-Tech molto buono. Avrei votato la risposta di Louis se avessi una reputazione migliore. Sono anche d'accordo sul fatto che il PIC18F sia un'ottima alternativa. Cerca una parte della k-series in quanto queste sono le parti nuove, migliori e più economiche. Hanno anche un assorbimento di corrente molto basso (se questo è importante per te).