2009-06-23 18 views
5

Estoy buscando un buen compilador de C para la familia PIC 16, que trabaja en Windows.compilador PIC16 C

  • Un par de colegas utilizan bknudc pero algunos parece que no les gusta la misma. Aparentemente no se puede usar el enlazador de manera eficiente, y resulta que lo mejor es configurar todo el código en archivos de inclusión.

  • SDCC parece agradable, pero parece que todavía está en versión beta, y no es fácil de configurar o tener que tratar.

  • Hay muchas otras opciones, todas son las mejores disponibles según ellos. Encontré algunos foros discutiendo el tema y nadie parece estar de acuerdo el uno con el otro. MikroC, CCS (costoso), HiTech, BoostC.

Me gustaría tener alguna información real sobre lo que está bien y lo que está mal.

Si lo hice bien, la arquitectura PIC16 no es realmente amigable para C? ¿Hay un compilador que permita al programador trabajar en ANSI C de todos modos? ¿Y una forma de configurar un depurador suficientemente bueno?

Respuesta

9

Tiene usted razón en su evaluación de que PIC16 no es realmente amigable para C. Si quiere codificar en C, es mucho mejor que lo haga con PIC18.
Microchip entrega un IDE y compilador excelente y gratuito llamado MPLAB para el PIC18. Es realmente fácil trabajar el trabajo. Además, la familia PIC18 es generalmente más poderosa, pero tiene algunos chips con una huella no mucho mayor que la de la familia PIC16.
Comenzar a desarrollar un nuevo producto con PIC16 no es una buena idea.

+1

IMO cualquier PIC no es C amigable. Pero +1 en el compilador gratuito de Microchip y la recomendación PIC18. – kenny

+0

No estoy seguro de cómo un microchip podría obtener un C-amigable que el PIC18. Por favor explique. – shoosh

+0

De acuerdo; utilizamos el compilador IAR para el PIC16, pero el compilador tuvo que insertar una gran cantidad de código para la gestión de pila y llamadas a funciones, etc. Eventualmente nos movimos a un PIC18 con el compilador de Microchip, que era mucho mejor. –

3

Creo que SDCC ahora tiene algo de apoyo para PIC16.

5

HI-TECH tiene un compilador de C para el PIC16 e incluso ofrecen una versión de software gratuito.
HI-TECH C Compiler

1

CCS compila para cualquier PIC de 12, 16, 18 y superior. No es gratis, pero hace un gran trabajo como compilador de imágenes. (Le gana a ASM cualquier día)

0

Sourceboost BoostC es un compilador de C muy bueno para las series PIC12/PIC16/PIC18. También tienen el compilador BoostC++ y BoostBasic. Viene con IDE fino, tiene opciones de simulación básicas. Me gusta mucho sobre la sintaxis de CCS y Microchip C18. Se siente más limpio y menos abarrotado. Sin embargo, tampoco es gratis, pero las licencias son bastante baratas. La versión gratuita/Lite permite 2 KB de código. Con esto ya puedes hacer mucho.

0

El compilador BKND C es realmente peculiar, y realmente no es compatible con el enlazador. Pero entonces, la mayoría de los chips PIC16 son lo suficientemente pequeños como para que no sea realmente un gran problema simplemente incluir toda su fuente en un solo archivo C.

Hice algunas comparaciones del compilador BKND y HiTECH C, y el BKND parece generar un código significativamente mejor. Al menos en mi aplicación, esto fue necesario para cumplir con los requisitos de velocidad/espacio de mi aplicación en una MCU tan pequeña.

Muchas de las peculiaridades del compilador de BKND (tipos de datos adicionales, etc.) son muy útiles para ajustar el código para que se ejecute en una MCU pequeña.El C estándar que escribirías en un ARM o x86 realmente no es apropiado para una pequeña CPU con solo un par de cientos de bytes de RAM de todos modos.

Para los chips PIC más grandes (18, 24F, etc.) el compilador de C suministrado por Microchip es excelente.

4

He encontrado que Hi-Tech es muy bueno. Hubiera votado la respuesta de Louis si tuviera una mejor reputación. También estoy de acuerdo con que el PIC18F es una muy buena alternativa. Busque una pieza de la serie k ya que estas son las partes más nuevas, mejores y más baratas. También tienen un consumo de corriente muy bajo (si eso es importante para ti).