Autor Tema: Compiladores de lenguaje C para PIC  (Leído 7630 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Compiladores de lenguaje C para PIC
« en: 01 de Febrero de 2010, 23:44:02 »
Compiladores de lenguaje C para microcontroladores PIC

Compilador
Serie PIC soportada
Sistema Operativo

MPLAB C
PIC18 - PIC24 - PIC32 - dsPIC
Windows / Linux (Wine)

HI-TECH
PIC10/12/16 - PIC18 - PIC24/dsPIC - PIC32
Windows / Linux

CCS
PIC10 - PIC12/16 - PIC18 - PIC24/dsPIC
Windows / Linux (nativo y Wine)

BoostC y BostC++
PIC12/16/18
Windows

mikroC
PIC12/16/18
Windows

MPC
PIC12/16
Windows

SDCC
PIC16/18
Windows / Linux (open source)

http://www.iar.com
PIC18 - PIC24 - DSPIC
Windows

Esta es una lista previa de algunos compiladores de lenguaje C para PICs.
El sistema operativo lo tomé de la documentación de los compiladores, para el caso de wine solo menciono los que yo he podido probar. Yo he probado MPLAB C18, CCS y SDCC, los tres me parecen muy buenos. Creo que estaría bien que quien pueda de comentarios sobre ellos, ¿qué piensan?
« Última modificación: 02 de Febrero de 2010, 13:07:23 por migsantiago »
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado anfegori91

  • PIC12
  • **
  • Mensajes: 71
Re: Compiladores de lenguaje C para PIC
« Respuesta #1 en: 02 de Febrero de 2010, 02:30:16 »
Yo utilizo el de Hi-Tech, de hecho, es mi preferido, aunque para obtener una compilación más eficiente se debe actualizar a PRO, de hecho, una vez actualizado, produce código hex más reducido que otros compiladores como el ccs.
También he utilizado el SDCC, pero me quedo con el de Hi-Tech

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Compiladores de lenguaje C para PIC
« Respuesta #2 en: 02 de Febrero de 2010, 11:19:40 »
Hola, agrego uno mas

http://www.iar.com
PIC18 - PIC24 - DSPIC
Windows

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Compiladores de lenguaje C para PIC
« Respuesta #3 en: 02 de Febrero de 2010, 12:07:57 »
Yo he utilizando CCS, C18, MikroC y C30. CCS es muy sencillo de utilizar y hay mucha información/ejemplos/librerías del mismo, pero aveces es un peligro con los bugs que tiene  :D igual es una muy buena herramienta de trabajo. MicroC lo utilice poco, dado que las librerías que trae, no se les puede hacer ningún cambio, y por lo general es necesario retocar algunos detalles  :?
C18 y C30 son compiladores dedicados a ciertas familias de PIC, tienen algunas librerías y lo importante que está disponible todos los archivos fuentes en C y asm. A diferencia de CCS es necesario tener mayor conocimiento del dispositivo que se esta trabajando :mrgreen:


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Compiladores de lenguaje C para PIC
« Respuesta #4 en: 02 de Febrero de 2010, 12:38:01 »
Gracias Richi por la info, no conocía esa empresa, tiene compiladores para varias marcas, por lo que leo en su web se ven muy interesantes :).
En cuanto encuentre cómo modificar el primer post lo agrego a la lista del inicio.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Compiladores de lenguaje C para PIC
« Respuesta #5 en: 02 de Febrero de 2010, 12:44:37 »
Gracias, nose como es la calidad bajo MicroChip, use esa marca para los X-51 y son realmente buenos, también conozco gente que lo usa para ARM y AVR y el resultado es de muy alta calidad.

Saludos !

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Compiladores de lenguaje C para PIC
« Respuesta #6 en: 02 de Febrero de 2010, 13:10:58 »
Hola Geo, aquí tienes una lista con más compiladores de C para PIC.

http://www.mcuspace.com/tree.php?page=compiler

También incluye otros lenguajes como pascal y basic.

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Compiladores de lenguaje C para PIC
« Respuesta #7 en: 02 de Febrero de 2010, 13:58:31 »
Muchas gracias por la modificación y por la lista :).
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Compiladores de lenguaje C para PIC
« Respuesta #8 en: 02 de Febrero de 2010, 16:40:38 »
No se ustedes pero con todo lo que han posteado siempre me quedo con la duda de cual es mejor, por ejemplo al comparar MikroC con CCS hay cosas de suma importantcia.

1. ¿Que tan amigable es el entorno con el usuario?

En este aspecto MikroC supera por mucho a CCS, a mi parecer. Lo que quiero decir es que el entorno de MikroC es muy facil de aprender y el de CCS resulta un poco más complicado.

2. ¿Es posible modificar las librerías propias del complidador?

En MikroC es imposible hacer esto mientras que CCS si lo permite, esta opcion es útil si cosideramos que las librerías del compilador consumen muchos recursos (este es el caso de MikroC) o si las líbrerías tienen algunos bugs.

3. ¿Que tan entendible es el código ASM generado?

MikroC genera un codigo asambler que puede ser entendible ya que en vez de utilizar la dirección de cada registro utiliza un nombre auxiliar, característica que no posee CCS.

3. ¿Cúanto Código Assambler genera?

Como mencioné antes las librerías de MikroC por lo general generan mucho Codigo haciendolo poco eficiente, en lo poco que usado CCS he observado que la cantidad de código generado es menos.

Para comparar esta última caracteristica propongo que hagamos algo muy simple:
  • que alguien escriba un programa en CCS, este puede ser un parpadeo de led o algo con un display diciendo Hola mundo, luego que muestren el código ASM generado por CCS.
  • Una vez que alguien haya escrito ese código yo haré lo mismo pero con MikroC.
« Última modificación: 02 de Febrero de 2010, 16:43:57 por bigluis »
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Compiladores de lenguaje C para PIC
« Respuesta #9 en: 02 de Febrero de 2010, 16:55:19 »
Ya antes había publicado esta tablita:

http://ccsinfo.com/content.php?page=newcompilercomp

Son varias comparaciones ya hechas entre compiladores. Puede estar favorecida ya que está en el sitio de CCS pero responde varias de tus preguntas Bigluis.

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Compiladores de lenguaje C para PIC
« Respuesta #10 en: 02 de Febrero de 2010, 18:17:46 »
Ya antes había publicado esta tablita:

http://ccsinfo.com/content.php?page=newcompilercomp

Son varias comparaciones ya hechas entre compiladores. Puede estar favorecida ya que está en el sitio de CCS pero responde varias de tus preguntas Bigluis.

Esa pagina que mencionas no hace comparaciones reales solo dice cual es bueno y cual no, además me gustaría hacer una comparación con algun programa

Para comparar esta última caracteristica propongo que hagamos algo muy simple:
  • que alguien escriba un programa en CCS, este puede ser un parpadeo de led o algo con un display diciendo Hola mundo, luego que muestren el código ASM generado por CCS.
  • Una vez que alguien haya escrito ese código yo haré lo mismo pero con MikroC.
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Compiladores de lenguaje C para PIC
« Respuesta #11 en: 02 de Febrero de 2010, 19:29:47 »
Hola, mi opinion es esta:

Citar
1. ¿Que tan amigable es el entorno con el usuario?
Para mi es lo de menos, normalmente desisto de usar los IDES, uso el editor de siempre y si puedo uso makes.

Citar
2. ¿Es posible modificar las librerías propias del complidador?
En la mayoria de los entornos no existen librerias salvo la RTL ( memcpy, strcpy ) asi que me armo mis propias funciones, tratando de que sean en ANSI C para poder migrarlas rapidamente a otras plataformas.

Citar
3. ¿Que tan entendible es el código ASM generado?
3. ¿Cúanto Código Assambler genera?

Un buen compilador es bueno cuando genera código lo mas compacto y eficiente posible aunque no sea humanamente leible, si queres eso baja los niveles de optimización y podras tener código menos eficiente pero mas leible.

Es buena la idea que propones, no creo en los benchmarks provistos por una empresa, para mi son poco serios y marketineros.

Saludos !

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Compiladores de lenguaje C para PIC
« Respuesta #12 en: 02 de Febrero de 2010, 20:31:50 »
Esa pagina que mencionas no hace comparaciones reales solo dice cual es bueno y cual no, además me gustaría hacer una comparación con algun programa

¿Le diste un vistazo a la sección de benchmarks?

Tiene comparaciones de programas idénticos pero compilados con distintos compiladores:

+ Program to Read an I2C Temp Sensor and Display Result on LCD

+ Floating Point

Example 1:
float f = 5.0, g = 600.0, h;
h = f*g;

+ Formatted Print

Example 2:
int i = 25;
printf("Hello World i = %U", i);

+ Function to Calculate CRC on a 50 Byte RAM Array

Creo que eso es lo que buscabas, una comparación de líneas de código en C y su equivalente en ensamblador en RAM y ROM.

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Compiladores de lenguaje C para PIC
« Respuesta #13 en: 03 de Febrero de 2010, 02:36:45 »
Yo si estuve checando recientemente esos benchmark, sigo sin fiarme del todo por el sitio que los hospeda, pero si son interesantes. Valdría la pena intentar realizar algunas de las comparaciones que están allí publicadas y darnos cuenta qué tan "cargadas" pudieran o no estar.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/


 

anything