TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: gaston en 04 de Febrero de 2008, 21:58:00

Título: el mejor C ?
Publicado por: gaston en 04 de Febrero de 2008, 21:58:00
Estimados, hace un tiempo no muy largo que cambie de programar los pic de assembler a C, sobre todo definitivamente me llevo a eso cuando tuve que dividir algo asi como 5325,234 / 192,74  en C es simplemente eso y assembler ya se imaginan...

He probado tanto CCS version 4 y MikroC version 7.03

a decir verdad, CCS me "suena" mas a C, y al mismo tiempo me resulta comodo las librerias incluidas en MikroC.

por ahí he leido que CCS icluye muchos errores, en fin,
generalmente utilizo el pic 16F877 y he usado tambien 18F4620.

Como se de la experiencia de la gente del foro, apelo a Uds. a que me ayuden a buscar la herramienta que mejor se ajuste a los micros.

tampoco se si se encuenrtan disponibles librerias que uno pueda descargar en forma publica sobre algunas cosas en particular como por ejemplo el uso de RTCs con estos lenguajes

gracias y un abrazo a todos,

todas las opiniones son validas, todas suman.
Título: Re: el mejor C ?
Publicado por: MGLSOFT en 04 de Febrero de 2008, 22:36:56
En muchas partes del foro se ha discutido esto, pero voy a referirme a una discusion que trata exactamente este tema, pero en otro foro.
Se trata del foro de Sonsivri, alli alguien planteo exactamente el mismo tema, y los resultados del debate son bien interesantes.

Sintetizandolo, porque fue un debate de unos 100 POST, casi todo el mundo concluyo en que MikroC no tiene la falta de estabilidad ni tantos errores de version a version, como tiene el CCS.
Igualmente la mayoria afirmo utilizar el CCS, porque es muy util disponer de la cantidad de librerias que trae y la cantidad adicional que hay en el foro de usuarios de CCS.

Basicamente, creo que es una decision personal, elegir uno u otro, creo que lo mejor es utilizar el compilador de C que a uno mejor le caiga, ambos tienen versiones demo que puedes bajar y probarlos, una vez hagas la eleccion ya puedes adquirirlo.

Espero haber ayudado... :mrgreen: :mrgreen:

Yo utilizo CCS, igual que muchos en este foro, antes empece con assembler y luego PicBasic Pro...
Título: Re: el mejor C ?
Publicado por: gaston en 04 de Febrero de 2008, 23:46:57
Muchas gracias MGLSOFT por tu aporte, es muy valioso, sobre todo no solo por resumir la conclusion del foro que citas, sino tambien porque sumas tu propia experiencia, un poco tambien me gustaria conocer si tienen comparaciones con respecto a la performance de CCS vs MikroC, me refiero a cuan compacto es el codigo final que generan, las herramientas conexas, etc

muchas gracias
Título: Re: el mejor C ?
Publicado por: pocher en 05 de Febrero de 2008, 04:46:46
Un punto importante también es la cantidad de usuarios que lo utilizan. Usuarios que en un momento dado te pueden ayudar a resolver problemas ... en eso CCS gana por goleada.

Un saludo
Título: Re: el mejor C ?
Publicado por: Nocturno en 05 de Febrero de 2008, 04:58:35
Yo también opino lo mismo.

Sin embargo me gustaría aportar un matiz.

Si en vez de hacer esto:
Código: [Seleccionar]
output_high(PIN_B4);
hacemos esto otro:
Código: [Seleccionar]
#byte       PORTB=      0xF81
#bit         LED=     PORTB.4
...
LED=1

Habremos hecho lo mismo, y hemos utilizado CCS. Sin embargo, nuestro código será mucho más fácil de migrar a cualquier otro compilador.
Valga el ejemplo para cualquier instrucción de alto nivel de CCS: setup_oscillator, enable_interrupts, set_pwm1_duty...
Título: Re: el mejor C ?
Publicado por: gaston en 05 de Febrero de 2008, 10:35:24
gracias por los aportes, creo que lo qeu nocturno dice, es importante, por ahi uno ve ciertas rutinas hechas para un determinado compilador que por ahi no usamos y nos puede llevar mucho tiempo adaptarlas al nuestro,

que hay de otros compiladores? alguno utiliza alguno libre?, que ventajas y desventajas ven en ellos?
Título: Re: el mejor C ?
Publicado por: dhmejia en 05 de Febrero de 2008, 11:44:49
Yo uso CCS y Hi-Tech, personalmente me gusta más el Hi-Tech pero la facilidad de CCS y el tener viejos programas escritos para este compilador hace que no lo abandone del todo.

El Hi-Tech es un poco más complicado porque casi todo se debe hacer a pedal, diferente al CCS que con una línea de código se configuran muchos parámetros.  La ventaja del Hi-Tech es que es C estandar, tiene compiladores para otras marcas de micros y el código compilado es más compacto (por lo menos en las pruebas que he hecho migrando código CCS a Hi-Tech y comparando).  Además el trabajar con Hi-Tech facilita un poco el aprendizaje de C18 y C30 de microchip, aunque las últimas versiones del CCS son compatibles con casi todos los PIC.

Saludos,

Diego.
Título: Re: el mejor C ?
Publicado por: psykhon en 05 de Febrero de 2008, 13:35:14
Yo uso CCS y Hi-Tech, personalmente me gusta más el Hi-Tech pero la facilidad de CCS y el tener viejos programas escritos para este compilador hace que no lo abandone del todo.

El Hi-Tech es un poco más complicado porque casi todo se debe hacer a pedal, diferente al CCS que con una línea de código se configuran muchos parámetros.  La ventaja del Hi-Tech es que es C estandar, tiene compiladores para otras marcas de micros y el código compilado es más compacto (por lo menos en las pruebas que he hecho migrando código CCS a Hi-Tech y comparando).  Además el trabajar con Hi-Tech facilita un poco el aprendizaje de C18 y C30 de microchip, aunque las últimas versiones del CCS son compatibles con casi todos los PIC.

Saludos,

Diego.


Entonces el mas "ANSI" es hitech?
Título: Re: el mejor C ?
Publicado por: dhmejia en 05 de Febrero de 2008, 15:32:52
Entonces el mas "ANSI" es hitech?

Entre CCS y Hi-Tech si es mas ANSI Hi-Tech, el MikroC que mencionan al inicio del hilo no lo he probado, aunque con la sugerencia de Nocturno se puede escribir código en CCS mas ANSI:
Si en vez de hacer esto:
Código: [Seleccionar]
output_high(PIN_B4);
hacemos esto otro:
Código: [Seleccionar]
#byte       PORTB=      0xF81
#bit         LED=     PORTB.4
...
LED=1

Habremos hecho lo mismo, y hemos utilizado CCS. Sin embargo, nuestro código será mucho más fácil de migrar a cualquier otro compilador.
Valga el ejemplo para cualquier instrucción de alto nivel de CCS: setup_oscillator, enable_interrupts, set_pwm1_duty...

La dificultad de migrar código CCS realmente aparece cuando tenemos en el programa cosas como:
Código: C
  1. #use rs232(baud=19200,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
que si bien facilitan mucho el trabajo en CCS (realmente lo facilitan bastante) complican un poco las cosas cuando queremos migrar el código a otros compiladores pues toca escribir las rutinas (para este caso de puerto serial) o buscarlas para el compilador que estamos usando.

Lo anterior es otra de las cosas que me gusta de Hi-tech, yo vengo del ensamblador y me gusta ver como mi programa hace las cosas por lo que a veces cambio la facilidad del CCS y creo mis propias funciones o busco las que me dejen ver el código.  No quiero decir con esto que todos los que empezaron con ensamblador opinen los mismo, solo es el caso personal.


Saludos,

Diego
Título: Re: el mejor C ?
Publicado por: gaston en 05 de Febrero de 2008, 16:20:04
creo que por los comentarios, si comparamos a CCS con los demas, y solo viendo la cantidad de gente que lo usa, aparentemente ganaria.

no obstante, todos se quejan bastante de el,
esto no es algo contradictorio?, digo, muchos lo usan, pero al mismo tiempo de el se quejan,
seria como que es el menos malo y no el mejor?

o es que aun no termino de madurar lo suficiente
Título: Re: el mejor C ?
Publicado por: Cryn en 05 de Febrero de 2008, 18:14:08
creo que por las facilidades que te da se lo alaba

pero por algunos errores que tiene BUGS, se lo reprocha
Título: Re: el mejor C ?
Publicado por: Nocturno en 05 de Febrero de 2008, 18:17:52
A mí particularmente me encanta, porque te permite avanzar muy rápido en el diseño de tus programas. Particularmente no he echado de menos la compatibilidad con otros compiladores porque jamás he necesitado recurrir a otro, así que de momento sigo utilizando las instrucciones de alto nivel que proporciona.
Eso sí, hablo bien de las versiones inferiores a la 4.xxx; mis experiencias con estas versiones nuevas han sido negativas.
Título: Re: el mejor C ?
Publicado por: RICHI777 en 05 de Febrero de 2008, 18:26:09
Hola a todos, mi opinion personal, si pensas nunca cambiar de micro casate con el CCS, como dicen aca, la migración de assembler al C lo hace viable y en forma sencilla. Las desventajas es que no utiliza las extensiones de arquitectura como recomienda el standart, con lo cual la migración otra plataforma lo hace un trabajo tedioso. Yo personalmente elijo los compiladores que mas se acercan al standart porque no siempe en mi trabajo me permiten elegir la arquitectura, de esa manera funciones que tengo archi testeadas son facilmentes migradas a otras plataformas, entiendase otros micros.
Salu2!
Título: Re: el mejor C ?
Publicado por: RedPic en 05 de Febrero de 2008, 18:55:59
Yo sin embargo estoy ahora sufriendo de CCSítis1 al pasarme al C30 de Microchip. Y es que estaba muy "malacostumbrado" a las funciones de alto nivel del CCS y como no hice el paso previo por el ASM, mis ensambladores han sido siempre los del Z80 y los de Motorola, ahora me veo que tengo que configurar cada cosita de los 24/30/dsPIC registrillo a registrillo, detallíto tras detallíto, bit tras bit. Y se me hace inacabable y cuasi ininteligible.

Pero eso es lo que tiene acostumbrarse a lo fácil.  :mrgreen:

1CCSítis: Inflamación de las meninges debida a una exposición exagerada a la influencia del CCS C.
Título: Re: el mejor C ?
Publicado por: MiCrOtRoNiC en 05 de Febrero de 2008, 20:51:58
Yo sin embargo estoy ahora sufriendo de CCSítis1 al pasarme al C30 de Microchip. Y este estaba muy "malacostumbrado" a las funciones de alto nivel del CCS y como no hice el paso previo por el ASM, mis ensambladores han sido siempre los del Z80 y los de Motorola, ahora me veo que tengo que configurar cada cosita de los 24/30/dsPIC registrillo a registrillo, detatíllo tras detallíto, bit a bit. Y se me hace inacabable y cuasi ininteligible.

Pero eso es lo que tiene acostumbrarse a lo fácil.  :mrgreen:

1CCSítis: Inflamación de las meninges debida a una exposición exagerada a la influencia del CCS C.
:D :D :D :D :D :D :D :D :D

he visto a unos amigos trabajando en la version CCS_PCWHD_4.057 se ve muy bueno los programas se hacen muchos mas cortos trabajandolos con estos compiladores en c tocara ponerme a estudiar bastante :shock:
Título: Re: el mejor C ?
Publicado por: gaston en 05 de Febrero de 2008, 21:14:00
gracias por los aportes,

Richi777 nos cuentas con que compilador trabajas en los casos que usas Pics?
Título: Re: el mejor C ?
Publicado por: psykhon en 06 de Febrero de 2008, 08:25:32
yo recien empiezo con c para pics (keil/gnu para arm es excelecte) la verdad que estoy mas que desconfiado de ccs, en cierta prueba genero mas codigo que el mismo programa para mikrobasic , me enferma su interfaz extraña, la falta de "intellisense", la verdad que me jode mucho el supuesto "code explorer" donde no solo mapea mis funciones sino todas las de las librerias incluidas  :shock: y el listado de archivos de proyecto va para atras. A favor como uds dicen su facilidad de uso y poca restriccion ansi (compila cualquier cosa).  Estoy bajando el demo de hitech y luego les cuento cuanto pesa el mismo programa compilado


Título: Re: el mejor C ?
Publicado por: PalitroqueZ en 06 de Febrero de 2008, 14:44:20
Lo importante es que con C cualquier compilador que utilices, te simplificará las horas de trabajo programando como cuando lo hacias en asm.

Título: Re: el mejor C ?
Publicado por: RICHI777 en 06 de Febrero de 2008, 16:56:50
gracias por los aportes,

Richi777 nos cuentas con que compilador trabajas en los casos que usas Pics?
Gaston, jejeje no me toco usar micros Microchip, pero por lo que estuve viendo en el caso de usuarlo usaria el compilador de Microchip
Salu2!
Título: Re: el mejor C ?
Publicado por: psykhon en 06 de Febrero de 2008, 18:47:11
Lo importante es que con C cualquier compilador que utilices, te simplificará las horas de trabajo programando como cuando lo hacias en asm.




es un excelente punto aunque yo diria que lo mejor es la portabilidad.



Título: Re: el mejor C ?
Publicado por: MiCrOtRoNiC en 06 de Febrero de 2008, 18:52:49
yo recien empiezo con c para pics (keil/gnu para arm es excelecte) la verdad que estoy mas que desconfiado de ccs, en cierta prueba genero mas codigo que el mismo programa para mikrobasic , me enferma su interfaz extraña, la falta de "intellisense", la verdad que me jode mucho el supuesto "code explorer" donde no solo mapea mis funciones sino todas las de las librerias incluidas  :shock: y el listado de archivos de proyecto va para atras. A favor como uds dicen su facilidad de uso y poca restriccion ansi (compila cualquier cosa).  Estoy bajando el demo de hitech y luego les cuento cuanto pesa el mismo programa compilado

a mi la interfaz de la version 4.057 del ccs me parece amigable. ademas de la librerias y muchas cosas q trae que te simplifican la vida.... pero sabran en gustos y colores" :mrgreen:
Título: Re: el mejor C ?
Publicado por: gaston en 06 de Febrero de 2008, 21:06:19
Por lo que veo, casi nadie nombra a compiladores C de microchip como C18 - no se si hay otro

por que es?
Título: Re: el mejor C ?
Publicado por: Cryn en 06 de Febrero de 2008, 21:25:52
La verdad que no lo he probado, y seguramente es muy bueno, porque habalndo de DSPIC, uno de los primeros compildaores seguramente fue el C30 tb así que deben tener sus muy buenas impresiones, lamentablemente no muhcos lo usan, pero seguro qeu es muy bueno, por comnetarios qeu he visto, ademas que en la materia que llevamos en la Uni, ahora estaban llevando un poco de c18, yo no lo vi :( pero si siempre he tenido muchas ganas de aprenderlo :mrgreen:
Título: Re: el mejor C ?
Publicado por: jfh900 en 06 de Febrero de 2008, 21:33:56
Los compiladores de Microchip son muy buenos pero se utilizan poco en favor del CCS por dos razones:

1º) El CCS es más sencillo de maneja que los de Microchip, en una sola instrucción configuras el puerto RS232, Interrupciones, etc.

2º) Dispone de una amplia librería de funciones para manejar periféricos como los LCD's, I2C, etc.

Inconvenientes del CCS: Es un tanto inestable (muchos bugs) y no se acerca ni por asomo al ANSI C, también se comenta que genera código más grande que el de Microchip.

Un saludo
Título: Re: el mejor C ?
Publicado por: Nocturno en 07 de Febrero de 2008, 08:25:22
también se comenta que genera código más grande que el de Microchip.

Con esto último no estoy de acuerdo, Jesús. Te recomiendo que compiles un printf con C18/C30 y hagas la prueba con CCS. La diferencia de tamaño suele ser de 10 a 1.
Título: Re: el mejor C ?
Publicado por: MGLSOFT en 07 de Febrero de 2008, 08:28:44
también se comenta que genera código más grande que el de Microchip.

Con esto último no estoy de acuerdo, Jesús. Te recomiendo que compiles un printf con C18/C30 y hagas la prueba con CCS. La diferencia de tamaño suele ser de 10 a 1.

El 10 a 1 es en el orden que das de los compiladores?? :shock:
Título: Re: el mejor C ?
Publicado por: Nocturno en 07 de Febrero de 2008, 08:30:55
Quiero decir que si un printf en CCS ocupa un 1% de la flash, en C30 ocupa el 10% o más.
Título: Re: el mejor C ?
Publicado por: MGLSOFT en 07 de Febrero de 2008, 08:36:20
Yo siempre compare contra el asm y PBP, te felicito por hacer este benchmarking para nosotros!! :lol:

Ademas el printf() de CCS permite enviar texto y variables formateados al LCD en una sola linea de codigo, eso es espectacular!! :mrgreen:
Título: Re: el mejor C ?
Publicado por: Nocturno en 07 de Febrero de 2008, 08:42:55
El printf es espectacular en sí mismo, pero no es exclusivo de CCS; pertenece al ANSI C y por tanto funciona en todos los compiladores.
Título: Re: el mejor C ?
Publicado por: MGLSOFT en 07 de Febrero de 2008, 08:44:42
Verdad lo primero, a lo segundo: en todos incorpora poder enviar datos al lcd formateados??
los formateos de printf() son iguales para todos los compiladores??
Título: Re: el mejor C ?
Publicado por: gaston en 07 de Febrero de 2008, 08:45:00
con respecto a compiladores open source, vi uno algo asi como LCC no recuerdo bien, que ni siquiera tenia un IDE, es decir deberias escribir tud codigo donde sea, el block de notas por ejemplos, salvarlo y luego llamar al parser para que lo compile, la verdad me sono espantoso al menos como interface jajajaja

conocen algun open source o shareware que realmente valga la pena sea nombrado?
Título: Re: el mejor C ?
Publicado por: Nocturno en 07 de Febrero de 2008, 08:50:11
En realidad lo que hace el ANSI C es formatear lo que hay dentro del printf redirigiendo la salida hacia alguna parte. Según tengo entendido esos formatos son comunes a todos los compiladores.

CCS permite fácilmente definir ese "alguna parte" con una función que lo envíe al LCD, o al puerto serie, o donde tú quieras. Eso no estoy seguro que sea estándar o una característica de CCS.
Título: Re: el mejor C ?
Publicado por: jfh900 en 07 de Febrero de 2008, 09:42:21
también se comenta que genera código más grande que el de Microchip.

Con esto último no estoy de acuerdo, Jesús. Te recomiendo que compiles un printf con C18/C30 y hagas la prueba con CCS. La diferencia de tamaño suele ser de 10 a 1.

Seguramente tengas razón Manolo, yo hablo de oídas y desde luego el código que genera según los comentarios es un poco extenso. Tal vez sea en comparación con el Hi-Tech. Por cierto yo uso CCS.

Un saludo
Título: Re: el mejor C ?
Publicado por: Nocturno en 07 de Febrero de 2008, 09:52:43
Yo el de Hitech no lo conozco, ni tampoco el MiKroC, pero el C30 de Microchip sí que puedo asegurar que es una auténtica porquería.
Título: Re: el mejor C ?
Publicado por: RICHI777 en 07 de Febrero de 2008, 11:09:00
Hola muchachos !, voy a dar mi humilde opinion sobre algunos temas aqui tratados:

Salu2 !
Título: Re: el mejor C ?
Publicado por: PalitroqueZ en 07 de Febrero de 2008, 13:01:06
fijense que se puede hacer una analogía de lo que sucede entre los pic-compiladores y los SO existentes

me explico, en los inicios linux/win se caracterizaron por robustez/fragilidad y dificultad/facilidad, parece ser que lo que se impone es la facilidad de uso a pesar de las inestabilidades que sobrelleva el software intuitivo.

¿que se puede decir?

Que una cosa complicada, no remonta mucha popularidad, y que un software intuitivo tiene mas posibilidades de ser usado.

entonces me pregunto,

¿existira la posibilidad de hacer algo robusto, potente y que tenga una curva de aprendizaje rapida?



Título: Re: el mejor C ?
Publicado por: RICHI777 en 07 de Febrero de 2008, 13:58:21
fijense que se puede hacer una analogía de lo que sucede entre los pic-compiladores y los SO existentes

me explico, en los inicios linux/win se caracterizaron por robustez/fragilidad y dificultad/facilidad, parece ser que lo que se impone es la facilidad de uso a pesar de las inestabilidades que sobrelleva el software intuitivo.

¿que se puede decir?

Que una cosa complicada, no remonta mucha popularidad, y que un software intuitivo tiene mas posibilidades de ser usado.

entonces me pregunto,

¿existira la posibilidad de hacer algo robusto, potente y que tenga una curva de aprendizaje rapida?

Muy buena la analogia !!!, yo en mi caso decido la robustez del compilador por sobre todas las cosas, es decir que genere el código optimo y lo mas liviano posible, lo demas, IDE, etc, bue...a sentarse y aprender....
Salu2!


Título: Re: el mejor C ?
Publicado por: gaston en 07 de Febrero de 2008, 14:58:51
Me parece que descubrimos los verdadedoros dueños de CCS jajajaja
Título: Re: el mejor C ?
Publicado por: MGLSOFT en 07 de Febrero de 2008, 15:06:14
Pero no me digas la adrenalina que lleva usar Windows + CCS para trabajar.
Eso es vida!!!   Como me siento bien joven !!! :D :D :D

Como cualquier hilo que se empiece sobre el tema, nunca tendra fin... :mrgreen: :mrgreen:
Título: Re: el mejor C ?
Publicado por: RICHI777 en 07 de Febrero de 2008, 15:07:10
Me parece que descubrimos los verdadedoros dueños de CCS jajajaja
Gaston si queres mi opinion mas dura, nunca usuaria CSS, es lo menos ANSI que vi en mi vida...asi que dudo que sea el dueño  :D
Título: Re: el mejor C ?
Publicado por: MGLSOFT en 07 de Febrero de 2008, 15:09:56
Y quien dijo que Bill Gates usa Windows ??? !!!  :D :D :D
Título: Re: el mejor C ?
Publicado por: RICHI777 en 07 de Febrero de 2008, 15:18:48
Como un pequeño aporte, con respecto a las librerias que trae incluidas el CSS para el manejo de UART, IIC, etc, en el compilador que estoy usando actualemente ( CodeWarrior para micros FreeScale serir HCS08 ), tiene un programita adicional que se llama ProcessExpert, que permite visualmente setear todos los registros en forma visual, ejemplo podes programar la interfaz UART con su Baud Rate especificando el valor, y este te genera codigo "C" que toca todos los registros. El codigo generado no esta oculto sino que lo podes modificar a tu antojo, es muy piola cuando empezas de 0 y tenes monton de registros.
En mi caso no es lo que generalmente hago, pero este programita me dio muy buenos resultados.
Salu2 !
Título: Re: el mejor C ?
Publicado por: psykhon en 07 de Febrero de 2008, 16:24:05
Como un pequeño aporte, con respecto a las librerias que trae incluidas el CSS para el manejo de UART, IIC, etc, en el compilador que estoy usando actualemente ( CodeWarrior para micros FreeScale serir HCS08 ), tiene un programita adicional que se llama ProcessExpert, que permite visualmente setear todos los registros en forma visual, ejemplo podes programar la interfaz UART con su Baud Rate especificando el valor, y este te genera codigo "C" que toca todos los registros. El codigo generado no esta oculto sino que lo podes modificar a tu antojo, es muy piola cuando empezas de 0 y tenes monton de registros.
En mi caso no es lo que generalmente hago, pero este programita me dio muy buenos resultados.
Salu2 !
Keil tambien lo hace y es excelente contar con eso. Sobre las librerias, ccs entrega las fuentes por lo que llevarlas a otra plataforma no deberia ser mucho trabajo
Título: Re: el mejor C ?
Publicado por: RICHI777 en 07 de Febrero de 2008, 16:31:08
Como un pequeño aporte, con respecto a las librerias que trae incluidas el CSS para el manejo de UART, IIC, etc, en el compilador que estoy usando actualemente ( CodeWarrior para micros FreeScale serir HCS08 ), tiene un programita adicional que se llama ProcessExpert, que permite visualmente setear todos los registros en forma visual, ejemplo podes programar la interfaz UART con su Baud Rate especificando el valor, y este te genera codigo "C" que toca todos los registros. El codigo generado no esta oculto sino que lo podes modificar a tu antojo, es muy piola cuando empezas de 0 y tenes monton de registros.
En mi caso no es lo que generalmente hago, pero este programita me dio muy buenos resultados.
Salu2 !
Keil tambien lo hace y es excelente contar con eso. Sobre las librerias, ccs entrega las fuentes por lo que llevarlas a otra plataforma no deberia ser mucho trabajo
Trabaje con Keil usando 8051 ( Dallas ) y realmente me parecio un excelente compilador, creo que ellos fueron los inventores del modo bankeado en esta plataforma, una forma elegante de romper los 64 K de los micros de 8 bits.
Salu2!
Título: Re: el mejor C ?
Publicado por: MiCrOtRoNiC en 07 de Febrero de 2008, 19:20:21
Pero no me digas la adrenalina que lleva usar Windows + CCS para trabajar.
Eso es vida!!!   Como me siento bien joven !!! :D :D :D

Como cualquier hilo que se empiece sobre el tema, nunca tendra fin... :mrgreen: :mrgreen:
:D :D :D mas de uno en el foro sufrimos de CCSitis como dijo RedPic.hasta orita estoy empezando a documentarme sobre el y me ha parecido mejor y mas facil de utilizar q el mikroc y otros...y muy buen analisis del paisano PalitroqueZ
Título: Re: el mejor C ?
Publicado por: gaston en 08 de Febrero de 2008, 08:35:51
No RICHI777, me referia que el verdadero dueño de CSS seguro que es Microsoft jajajajaja
Título: Re: el mejor C ?
Publicado por: gaston en 08 de Febrero de 2008, 12:26:44
alguien vio los sistemas de Green Hills?

http://www.ghs.com/

se los recomiendo, son las herramientas que usan Boeing, Airbus, y todo lo que sea crítico.

conozco gente que las usa para desarrollar software para equipos biomedicos, lo que yo vi, desarrollaban con esta herramienta y micros de Atmel

no se si tienen algo para Pics,

es realmente espectacular
Título: Re: el mejor C ?
Publicado por: RedPic en 08 de Febrero de 2008, 12:27:26

Y quien dijo que Bill Gates usa Windows ??? !!!  :D :D :D


Estoy harto de oír hablar de Guillermo Puertas y de sus Ventanas.  :mrgreen: :mrgreen: :mrgreen:
Título: Re: el mejor C ?
Publicado por: PalitroqueZ en 08 de Febrero de 2008, 13:13:45
Haciendo retrospectiva,

si hubiese empezado en mis inicios con el C de microchip ó el hitech de manera forzada, aprender la manera en que se maneja el ansi  en esos compiladores en profundidad, otro gallo cantaría (me sentiria dichoso, ya que es un conocimiento adquirido). Ahora bien si después me fuese topado con el ccs. viene la pregunta: ¿me hubiese cambiado?, no lo sabría  :? :?

Título: Re: el mejor C ?
Publicado por: psykhon en 08 de Febrero de 2008, 17:17:11
Haciendo retrospectiva,

si hubiese empezado en mis inicios con el C de microchip ó el hitech de manera forzada, aprender la manera en que se maneja el ansi  en esos compiladores en profundidad, otro gallo cantaría (me sentiria dichoso, ya que es un conocimiento adquirido). Ahora bien si después me fuese topado con el ccs. viene la pregunta: ¿me hubiese cambiado?, no lo sabría  :? :?


muy inteligente la observacion. Yo creo que ninguno acostumbrado a ansi permitiria las "licencias" que se toma ccs
Título: Re: el mejor C ?
Publicado por: Syphroot en 09 de Febrero de 2008, 16:27:59
Para los que buscan algo verdaderamente libre y al parecer "robusto" tenemos el SDCC - Small Device C Compiler.... sinceramente no lo he probado por falta de tiempo, pero tiene buena pinta gracias a su soporte a algunos chips de diferentes fabricantes... lease la descripcion en ingles:

Citar
SDCC is a retargettable, optimizing ANSI - C compiler that targets the Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. SDCC is Free Open Source Software, distributed under GNU General Public License (GPL).

Tambien esta para las siguientes plataformas:

Citar
Linux - x86, Microsoft Windows - x86 and Mac OS x - ppc are the primary, so called "officially supported" platforms.

Para que no haya quejas en cuanto al S.O. jejeje.... he leido algo de documentacion y efectivamente es un C ANSI... solo que para especificar, lease parametros, configuraciones, etc de un dispositivo a otro si requiere algo de estudio... 8) ...

La página oficial del proyecto (no se si sigue desarrollandose, pero claro, como es OpenSource ahi te brindan el codigo fuente por si quieres mejorerle o aportarle algo...)

http://sdcc.sourceforge.net (http://sdcc.sourceforge.net/)

Si alguien ya lo utilizó... pues... que esperas!! comenta!!...

Saludos!

Título: Re: el mejor C ?
Publicado por: psykhon en 09 de Febrero de 2008, 20:48:22
muy prometedor, los asembleros del foro deberian pensar en contribuir
Título: Re: el mejor C ?
Publicado por: PalitroqueZ en 11 de Febrero de 2008, 15:07:10
Para los que buscan algo verdaderamente libre y al parecer "robusto" tenemos el SDCC - Small Device C Compiler.... sinceramente no lo he probado por falta de tiempo, pero tiene buena pinta gracias a su soporte a algunos chips de diferentes fabricantes... lease la descripcion en ingles:

Citar
SDCC is a retargettable, optimizing ANSI - C compiler that targets the Intel 8051, Maxim 80DS390, Zilog Z80 and the Motorola 68HC08 based MCUs. Work is in progress on supporting the Microchip PIC16 and PIC18 series. SDCC is Free Open Source Software, distributed under GNU General Public License (GPL).

Tambien esta para las siguientes plataformas:

Citar
Linux - x86, Microsoft Windows - x86 and Mac OS x - ppc are the primary, so called "officially supported" platforms.

Para que no haya quejas en cuanto al S.O. jejeje.... he leido algo de documentacion y efectivamente es un C ANSI... solo que para especificar, lease parametros, configuraciones, etc de un dispositivo a otro si requiere algo de estudio... 8) ...

La página oficial del proyecto (no se si sigue desarrollandose, pero claro, como es OpenSource ahi te brindan el codigo fuente por si quieres mejorerle o aportarle algo...)

http://sdcc.sourceforge.net (http://sdcc.sourceforge.net/)

Si alguien ya lo utilizó... pues... que esperas!! comenta!!...

Saludos!



lo intenté usar una vez, pero que va, dificil al principio, era lo que decía en uno de mis post al principio. (hey no tiene nada que ver con si es libre o no)

Título: Re: el mejor C ?
Publicado por: gaston en 13 de Febrero de 2008, 19:57:17
gracias a todos por las opiniones, creo que podemos decir que uno de los mas usados es el CCS, aunque no el mas ansy ni el mas seguro,
pero si uno de los mas sencillos y comodos para trabajar

un abrazo
Título: Re: el mejor C ?
Publicado por: RICHI777 en 13 de Febrero de 2008, 20:04:27
Y alguien sabe si existe una adaptacion del GCC ?, por lo que se es bastante "retargeteable"
Salu2!
Título: Re: el mejor C ?
Publicado por: psykhon en 15 de Febrero de 2008, 10:36:23
Y alguien sabe si existe una adaptacion del GCC ?, por lo que se es bastante "retargeteable"
Salu2!
nop, gcc soporta arquitecturas derivadas de 8080 solamente

http://gcc.gnu.org/install/specific.html (http://gcc.gnu.org/install/specific.html)
Título: Re: el mejor C ?
Publicado por: psykhon en 20 de Febrero de 2008, 16:25:23
Yo también opino lo mismo.

Sin embargo me gustaría aportar un matiz.

Si en vez de hacer esto:
Código: [Seleccionar]
output_high(PIN_B4);
hacemos esto otro:
Código: [Seleccionar]
#byte       PORTB=      0xF81
#bit         LED=     PORTB.4
...
LED=1

Habremos hecho lo mismo, y hemos utilizado CCS. Sin embargo, nuestro código será mucho más fácil de migrar a cualquier otro compilador.
Valga el ejemplo para cualquier instrucción de alto nivel de CCS: setup_oscillator, enable_interrupts, set_pwm1_duty...

no logro hacer que esto funcione muy bien para referir a un bit de un char dentro de struct:
Código: [Seleccionar]

struct x{
char xx
}

#bit         W= x.xx.4

no anda, tampoco esto:

Código: [Seleccionar]
struct x{
char xx
}
#byte      Y = x.xx
#bit         YY= Y.4
los nombres de las variables son asi de pobres porque solo estoy probando
Título: Re: el mejor C ?
Publicado por: maunix en 20 de Febrero de 2008, 20:48:22
nop, gcc soporta arquitecturas derivadas de 8080 solamente

http://gcc.gnu.org/install/specific.html (http://gcc.gnu.org/install/specific.html)

Disciento, hay varios micros en su listado que no son derivados el 8080.
Ej. PowerPC, Blackfin , toda línea de motorola, etc. :)
Título: Re: el mejor C ?
Publicado por: manex_1987 en 20 de Febrero de 2008, 21:15:38
psykhon, por lo que se yo, las estructuras son simples tipos de variable. Por lo tanto no puedes definir una estructura, y usarla tal cual. Seria como hacer "int; int=20;". Tienes que crear una instancia de esa estructura: "struct x MiEstructura;" y luego, podras usarlo asi: "MiEstructura.xx=25;" Las variables internas de la estructura se mantienen, lo unico que tienes que crear instancias de esa estructura.

Respecto a mi opinion en cuanto a C, decir que he tenido CCSitis, y luego probé C18, Hitech PICC y C30.

Al principio cuesta desprenderse de la CCSitis pero llevaba la carga de los innumerables dias que me hicieron perder bugs tontos de ccs, por lo que tuve fuerzas mas que suficientes. Hitech PICC destaca por su interfaz y librerias; yo diria que es un hibrido entre CCS y C18/30.

C30, con su interfaz MPLAB, cuesta mucho al principio cogerlo, pues no es todo "en bandeja" como CCS. Pero una vez comprendes como va, y sabes configurarlo, esta muy bien, es muy versatil y dinamico. Lo de hacer "a pelo" todas las configuraciones, uno a la larga lo agradece. El tiempo os dará la razon. La libreria mas versatil es aquella que en mas bajo nivel está y mas comprensible es. Trabajar "bit por bit" las cosas y con menos "funciones prefabricadas" da mas dinamismo a la programacion.

No se, yo estoy encantadisimo con C30. Frente a Hitech PICC, decir que C30 tiene una comunidad de usuarios mas grande y activa (forum.microchip.com) que hitech... a mi el foro me parecio bastante muerto. Y de CCS no me gustaria hablar porque a lo mejor cerrais mi post por blasfemias. Muy comodo y muy bonito... muy principiante a mi parecer. Basta que hagas un programa un poco enrevesado para que ccs saque un bug de su baraja. Lo digo por experiencia. Y no sabes si el bug es del compilador, o de la libreria que esta mal hecha, o que.

Un saludo
Título: Re: el mejor C ?
Publicado por: psykhon en 20 de Febrero de 2008, 22:38:28
nop, gcc soporta arquitecturas derivadas de 8080 solamente

http://gcc.gnu.org/install/specific.html (http://gcc.gnu.org/install/specific.html)

Disciento, hay varios micros en su listado que no son derivados el 8080.
Ej. PowerPC, Blackfin , toda línea de motorola, etc. :)

revisa esto, derivado de 8080 comunmente significa no solo de descendencia directa sino tambiem "inspirado" en 8080 como por ej PowerPC, Blackfin , toda línea de motorola, etc. :)  :) , refiere a arq vonn neuman (mapeo lineal de memoria de datos y prog), varios registros de trabajo , metodos de direccionamiento complejos como base + indice o indirecto y algunas otras yerbas popularizadas por 8080

Citar
psykhon, por lo que se yo, las estructuras son simples tipos de variable. Por lo tanto no puedes definir una estructura, y usarla tal cual. Seria como hacer "int; int=20;". Tienes que crear una instancia de esa estructura: "struct x MiEstructura;" y luego, podras usarlo asi: "MiEstructura.xx=25;" Las variables internas de la estructura se mantienen, lo unico que tienes que crear instancias de esa estructura.
En el ej puse la declaracion de la misma y no la instanciacion, es cierto, pero no es ese el punto que quiero hacer notar.
Título: Re: el mejor C ?
Publicado por: psykhon en 21 de Febrero de 2008, 10:08:10
bueno, estuve leyendo un poco en los foros de gcc y un man sobre porting que hay en el sitio y encontre algunas cosas interesantes:
+gcc si se puede implementar sobre arq harvard
-muyyyy dificil que funcione con un solo registro de trabajo
-muuuyyyyy dificil que ande sobre el direccionamiento de stack limitado de los 14bit

esto nos lleva a pensar que a partir de 24f podria andar bien y sorpresa!!! actualmente hay lio con mchip porque el c30 esta basado en gcc y no respeta la licencia gpl de este  :D
hay quien asegura que durante los primeros tiempos en la descripcion de producto en la pagina de mchip decia basado en GCC

al margen de esto hubo un grupo que arranco la migracion para pic18 pero el hilo parece muerto
Título: Re: el mejor C ?
Publicado por: psykhon en 21 de Febrero de 2008, 10:11:31
sopresa sorpresa  8) 8)
 MPLAB C30 v2.04 GCC Source (http://ww1.microchip.com/downloads/en/DeviceDoc/mplabc30v2_04.tgz)
Título: Re: el mejor C ?
Publicado por: maunix en 21 de Febrero de 2008, 12:46:04
Psykhon, puedes editar tu post donde me respondes? realmente no entiendo donde me quieres responder
Título: Re: el mejor C ?
Publicado por: maunix en 21 de Febrero de 2008, 12:56:19
sopresa sorpresa  8) 8)
 MPLAB C30 v2.04 GCC Source (http://ww1.microchip.com/downloads/en/DeviceDoc/mplabc30v2_04.tgz)

Así es y el C32 también está basado en gcc.

Igual te lo cobran u$s 1000 así que no se como sera el tema de la violación del GPL de gcc.
Título: Re: el mejor C ?
Publicado por: jfh900 en 21 de Febrero de 2008, 13:00:16
Maunix dentro de la propia citación tienes la respuesta:

nop, gcc soporta arquitecturas derivadas de 8080 solamente

http://gcc.gnu.org/install/specific.html (http://gcc.gnu.org/install/specific.html)

Disciento, hay varios micros en su listado que no son derivados el 8080.
Ej. PowerPC, Blackfin , toda línea de motorola, etc. :)

revisa esto, derivado de 8080 comunmente significa no solo de descendencia directa sino tambiem "inspirado" en 8080 como por ej PowerPC, Blackfin , toda línea de motorola, etc. :)  :) , refiere a arq vonn neuman (mapeo lineal de memoria de datos y prog), varios registros de trabajo , metodos de direccionamiento complejos como base + indice o indirecto y algunas otras yerbas popularizadas por 8080

Citar
psykhon, por lo que se yo, las estructuras son simples tipos de variable. Por lo tanto no puedes definir una estructura, y usarla tal cual. Seria como hacer "int; int=20;". Tienes que crear una instancia de esa estructura: "struct x MiEstructura;" y luego, podras usarlo asi: "MiEstructura.xx=25;" Las variables internas de la estructura se mantienen, lo unico que tienes que crear instancias de esa estructura.
En el ej puse la declaracion de la misma y no la instanciacion, es cierto, pero no es ese el punto que quiero hacer notar.
Título: Re: el mejor C ?
Publicado por: maunix en 21 de Febrero de 2008, 13:24:28
revisa esto, derivado de 8080 comunmente significa no solo de descendencia directa sino tambiem "inspirado" en 8080 como por ej PowerPC, Blackfin , toda línea de motorola, etc. :)  :) , refiere a arq vonn neuman (mapeo lineal de memoria de datos y prog), varios registros de trabajo , metodos de direccionamiento complejos como base + indice o indirecto y algunas otras yerbas popularizadas por 8080
Ah, es que me había mareado la cita.

La verdad es la primera vez que leo lo de inspirado en 8080 signifique todo eso  :).
Título: Re: el mejor C ?
Publicado por: psykhon en 21 de Febrero de 2008, 20:11:36
revisa esto, derivado de 8080 comunmente significa no solo de descendencia directa sino tambiem "inspirado" en 8080 como por ej PowerPC, Blackfin , toda línea de motorola, etc. :)  :) , refiere a arq vonn neuman (mapeo lineal de memoria de datos y prog), varios registros de trabajo , metodos de direccionamiento complejos como base + indice o indirecto y algunas otras yerbas popularizadas por 8080
Ah, es que me había mareado la cita.

La verdad es la primera vez que leo lo de inspirado en 8080 signifique todo eso  :).
no hay problema,el termino  se usa mucho en los foros en ingles, despues te busco un art sobre la historia de los micros y vas a ver de donde sacan esa referencia. Si bien coincido en que no es lo mas correcto o literal llamarlos derivados de 8080 (por ej 6800 si lo es pero risc para nada), asi aparece en monton de foros y de gente que sabe parva sobre arquitectura de micros. Un super libro sobre la evolucion de up aunque muy "intel" es "los microprocesadores intel" de Barry Brey (una biblia que ya va por la octava edicion en esp. )

siguiendo el tema de gcc para pic18 parece que lo que mas trabajo les da (o dio si abandonaron :( ) es la paginacion de la memoria. Descaradisimos los mchip en sacudir 1000 verdes por algo que sacaron de un proyecto open source. El futuro dira si sobrevive la familia 16bits o no (comparandoprecios , en cualquier marca 32bits vale lo mismo o menos por chip)
Título: Re: el mejor C ?
Publicado por: maunix en 21 de Febrero de 2008, 20:41:24
no hay problema,el termino  se usa mucho en los foros en ingles, despues te busco un art sobre la historia de los micros y vas a ver de donde sacan esa referencia. Si bien coincido en que no es lo mas correcto o literal llamarlos derivados de 8080 (por ej 6800 si lo es pero risc para nada), asi aparece en monton de foros y de gente que sabe parva sobre arquitectura de micros. Un super libro sobre la evolucion de up aunque muy "intel" es "los microprocesadores intel" de Barry Brey (una biblia que ya va por la octava edicion en esp. )
Listo, me quedó más claro porqué les llaman derivados del 8080 aunque sean genialmente diferentes jijiji.

siguiendo el tema de gcc para pic18 parece que lo que mas trabajo les da (o dio si abandonaron :( ) es la paginacion de la memoria.
La verdad habría que ver porqué, la memoria en los 18F tanto ram como de programa son consecutivas pero supongo que a lo que se referirán será algo más relacionado con tener arquitectura harvard que con lo demás...

Descaradisimos los mchip en sacudir 1000 verdes por algo que sacaron de un proyecto open source.
Si, pero es discutible.  El RedHat linux también sale u$s 300 para empresas y aún más y sin embargo también salió de un proyecto open source.  Habría que leer bien los aspectos legales de la GPL a la cual adhiere gcc (ya va por la versión 3) y habrá que analizar qué requisitos debe cumplir microchip para poder 'vender' el compilador aunque sea una versión modificada.

Si uno hace programas para El entorno KDE (que usa librerías QT de Trolltech) no debe pagar royalties siempre y cuando el programa que uno haga también sea open source (por más que uno cobre por su trabajo lo cual está permitidísimo por supuesto).  Ahora si uno no quiere entregar el código fuente del programa que uno hace entonces hay que pagarle a Trolltech unos 3000 euros por PC.

La verdad uno lee esas cuestiones y se marea, hay que saber de software pero sobre todo bastante de leyes.  Sin ir más lejos, precisamente los ataques y recontra ataques entre el mundo open-source y viceversa se basan precisamente en tener abogados hábiles de cada lado más que técnicos formidables.



El futuro dira si sobrevive la familia 16bits o no (comparando cualquier marca 32bits vale lo mismo o menos por chip)

Creo que son core-business diferentes.  En el caso de Microchip los dspic apuntan a cuestiones que un micro de 32bits arm no puede resolver tan rápido.  Incluso he visto gente en otros foros que ha posteado que para mover bloques de memoria o calculos matemáticos un dspic no tiene nada que envidiarle al más lindo de los ARM9 (que valen bastante más).  No siempre (depende de la aplicación) por tener más bits de core va a andar más rápido para todas las tareas.

Por citar un ejemplo burdo, de nada sirve tener un micro de 32 bits para leer lo que nos tira un integrado de LAN si el ancho del bus del mismo se de 8 bits.

Lo que está claro creo yo es que los micros de 32 bits tienen vida para largo rato y infinidad de aplicaciones y que los de 16bits tendrán un nicho mas específico y acotado.

 :) :)

Pero como una y otra vez... nos fuimos del tema  :D :D :D :D
Título: Re: el mejor C ?
Publicado por: psykhon en 22 de Febrero de 2008, 11:36:47
Citar
Incluso he visto gente en otros foros que ha posteado que para mover bloques de memoria o calculos matemáticos un dspic no tiene nada que envidiarle al más lindo de los ARM9 (que valen bastante más). 
En serio leiste esto? pasame el post asi les digo que comparen un dspic con "el mas lindo de los arm9" :
http://www.linuxdevices.com/news/NS6595510999.html (http://www.linuxdevices.com/news/NS6595510999.html)
no me estaba refiriendo a arm cuando decia que hay micros de 32 bits mas baratos (atmel,freecale) pero el que escribio eso merece...(inserte su imaginacion aqui)

y como correspone comparaciones mas justas para los dspic fijate que un arm7 de 3 dollar capaz de decodificar mp3 sin copro a media maquina (30mhz)
https://datatype.helixcommunity.org/Mp3dec.html (https://datatype.helixcommunity.org/Mp3dec.html)

sobre el ejemplo de la red, mire por donde se mire 60 mips son mas que 40

sobre lo de la gpl mas tarde voy a buscar el libro de licencias que tengo valla a saber donde, si no me equivoco la regla es "lo que gpl toca en gpl se convierte"


Si nos deviamos un monton pero me parece importante no dejar inconclusos los intercambios de ideas ya que (espero) hay mas gente leyendo o que leera esto y es justo que no terminen creyendo que un z80 puede hacer algo mejor que un pentium   :z)


Título: Re: el mejor C ?
Publicado por: maunix en 22 de Febrero de 2008, 12:10:51
Citar
Incluso he visto gente en otros foros que ha posteado que para mover bloques de memoria o calculos matemáticos un dspic no tiene nada que envidiarle al más lindo de los ARM9 (que valen bastante más). 
En serio leiste esto? pasame el post asi les digo que comparen un dspic con "el mas lindo de los arm9" :
http://www.linuxdevices.com/news/NS6595510999.html (http://www.linuxdevices.com/news/NS6595510999.html)
no me estaba refiriendo a arm cuando decia que hay micros de 32 bits mas baratos (atmel,freecale) pero el que escribio eso merece...(inserte su imaginacion aqui)
Lo acabo de buscar y no encontré, pero ya lo encontraré (espero).  Es alguien de la lista de correo PICLIST que hizo tales pruebas, no yo. pero recuerdo haberlo leído porque también me sorpendió.  El contexto en que lo dijo era en una comparación entre micros donde se hablaba que comprarar micros así por así es muy complicado y depende la tarea para que uno lo quiera/necesite.


y como correspone comparaciones mas justas para los dspic fijate que un arm7 de 3 dollar capaz de decodificar mp3 sin copro a media maquina (30mhz)
https://datatype.helixcommunity.org/Mp3dec.html (https://datatype.helixcommunity.org/Mp3dec.html)

Pero eso depende del soft, vos decis que eso es solo porque es ARM y que dicho código no se podría implementar con el dspic?  Los dspic traen librerías de VoIP por ejemplo que resuelven problemas complejos como la eliminación del eco. 
También hay que ver ese precio de 3 dólares por qué cantidad es.  Los dspic por 10k también los podes conseguir a 4u$s o menos.

Fijate, te paso este link y mirá la columna de 10K.  Y ojo que es uno de los mejorcitos dspic, habría que comparar con uno equivalente al que mencionas de arm.

http://www.microchipdirect.com/productsearch.aspx?Keywords=dsPIC33FJ128GP206



sobre el ejemplo de la red, mire por donde se mire 60 mips son mas que 40
Sin entrar en polémicas e irnos por las ramas, los mips es una cosa y el tiempo de ejecución de una tarea es otra muy diferente.  Que tenga muchos mips no significa que su arquitectura pueda resolver en el mismo tiempo la misma tarea. 

El ejemplo más básico que se me ocurre es que comparemos un Pentium IV con un DSP.  El Pentium IV ejecuta más mips pero si le das a resolver una multiplicación de coma flotante tardará mucho más que un DSP diseñado a tal fin.

sobre lo de la gpl mas tarde voy a buscar el libro de licencias que tengo valla a saber donde, si no me equivoco la regla es "lo que gpl toca en gpl se convierte"
Salvo pago de regalías.  Un ejemplo muy cercano que conozco porque lo vivo casi a diario en mi laburo es que MySQL por ejemplo te permite distribuir su motor de base de datos para aplicaciones profesionales previo pago de licencia.  Si tu sistema es cerrado tenés que pagar, si tu sistema es open source, no.
Por eso habría que ver la letra chica de cada caso.

Si nos deviamos un monton pero me parece importante no dejar inconclusos los intercambios de ideas ya que (espero) hay mas gente leyendo o que leera esto y es justo que no terminen creyendo que un z80 puede hacer algo mejor que un pentium   :z)
See, obviamente.  Además es lindo hablar con gente que usa otras cosas porque permite abrir la cabeza.
Título: Re: el mejor C ?
Publicado por: psykhon en 22 de Febrero de 2008, 14:51:33
Citar
También hay que ver ese precio de 3 dólares por qué cantidad es.  Los dspic por 10k también los podes conseguir a 4u$s o menos.
por menos de tres dollar tenes arm cortex3 de luminary micro al por menor en digikey http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=726-1001-ND (http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=726-1001-ND)

Citar
Pero eso depende del soft, vos decis que eso es solo porque es ARM y que dicho código no se podría implementar con el dspic?
no se si se puede  o no, a la fecha no se hizo y no por falta de intento (dec. mp3). y mientras que dspic puede tener librerias para voip, en el mercado hay AHORA telefonos voip, centrales voip y demas yerbas implementados en arm. De nuevo intentar compararlos en como intentar escribir en el aire con un lapiz

Citar
Sin entrar en polémicas e irnos por las ramas, los mips es una cosa y el tiempo de ejecución de una tarea es otra muy diferente.  Que tenga muchos mips no significa que su arquitectura pueda resolver en el mismo tiempo la misma tarea.

El ejemplo más básico que se me ocurre es que comparemos un Pentium IV con un DSP.  El Pentium IV ejecuta más mips pero si le das a resolver una multiplicación de coma flotante tardará mucho más que un DSP diseñado a tal fin.

La ventaja aca es que Arm es solo un nucleo y posee infinidad de perifericos entre ellos dsp serios capaces de codificar video a 1080p por lo que es medio dificil justificar comparaciones y por otro lado, que cosa no podes emular con un micro varias veces mas potente?



Citar
See, obviamente.  Además es lindo hablar con gente que usa otras cosas porque permite abrir la cabeza.

abrirla a veces lleva muchisimo esfuerzo, me lei unas treinta veces el datasheet de intro a pic24f, el de un modelo  que trajeron en cika y no encuentro ahora numero y las intro de manolo mas lo que encontre en la web y no encuentro nada que me diga "esto es mejor que atmega"

Título: Re: el mejor C ?
Publicado por: psykhon en 22 de Febrero de 2008, 15:09:45
Citar
Incluso he visto gente en otros foros que ha posteado que para mover bloques de memoria o calculos matemáticos un dspic no tiene nada que envidiarle al más lindo de los ARM9 (que valen bastante más).

acabo de revolver todo el piclist buscando comparativas entre arm y dspic y no encontre para nada lo que decis haber visto ahi, tampoco embeddedrelated o google tran nada significativo,la busqueda fue: dspic arm9    y: dspic arm7
Perdon que siga tan aferrado pero lo irrealista de la comparacion me tiene intrigado y no quiero desestimarlo por mas raro que se oiga.
Revisando a fondo esto puede llegar a ser que algunos calculos de coma flotante los haga mejor que un arm7 pero arm9 que tiene copro y +200mips??? hay que verlo
Título: Re: el mejor C ?
Publicado por: maunix en 22 de Febrero de 2008, 20:36:32
Perdon que siga tan aferrado pero lo irrealista de la comparacion me tiene intrigado y no quiero desestimarlo por mas raro que se oiga.
Yo tengo todos los mails de piclist y aún así tampoco encontré nada.  El tema es que no es algo que yo haya dicho, solamente que leí y recuerdo.

Revisando a fondo esto puede llegar a ser que algunos calculos de coma flotante los haga mejor que un arm7 pero arm9 que tiene copro y +200mips??? hay que verlo

Bueno, pero ARM9 a 200Mips cuanto cuesta? cómo lo soldas? esas cosas hay que ver también.  Por eso comparar conlleva sus riesgos. 

Como te dije antes, los ARM me parecen super interesantes pero los dspic se siguen vendiendo por toneladas, es decir que nicho de mercado hay.

La ventaja aca es que Arm es solo un nucleo y posee infinidad de perifericos entre ellos dsp serios capaces de codificar video a 1080p por lo que es medio dificil justificar comparaciones y por otro lado, que cosa no podes emular con un micro varias veces mas potente?

Es cierto que con un micro varias veces más potente podes emular a otro micro , pero en una comparativa como la que pusiste 40Mips vs 60Mips la cosa ya no es tan simple ni lineal y hay que ver cada caso, a eso iba mi aclaración.

Y cuando vamos al mundo real, de los negocios, si usas un ARM9 hay que ver qué precio tiene, lo cual no es menor cuando alguien hace algo masivo.



Título: Re: el mejor C ?
Publicado por: psykhon en 22 de Febrero de 2008, 21:43:38
Perdon que siga tan aferrado pero lo irrealista de la comparacion me tiene intrigado y no quiero desestimarlo por mas raro que se oiga.
Yo tengo todos los mails de piclist y aún así tampoco encontré nada.  El tema es que no es algo que yo haya dicho, solamente que leí y recuerdo.
no lo dudo, pero con tantos datos en este rubro la memoria nos juega malas pasadas a todos


Revisando a fondo esto puede llegar a ser que algunos calculos de coma flotante los haga mejor que un arm7 pero arm9 que tiene copro y +200mips??? hay que verlo


Bueno, pero ARM9 a 200Mips cuanto cuesta? cómo lo soldas? esas cosas hay que ver también.  Por eso comparar conlleva sus riesgos. 

Como te dije antes, los ARM me parecen super interesantes pero los dspic se siguen vendiendo por toneladas, es decir que nicho de mercado hay.

El tema era si dspic era mas potente en ciertas cosas el "el mas lindo arm9"  pero aun asi que fuente comprobable tenes de que se vendan dspic por toneladas ?
si de soldar se trata hay arm9 en encapsulado lqfp "soldables  a mano" (ST tiene un par) (http://www.st.com/mcu/inchtml-pages-str9.html). Comparar lleva datos tangibles, no riesgos


La ventaja aca es que Arm es solo un nucleo y posee infinidad de perifericos entre ellos dsp serios capaces de codificar video a 1080p por lo que es medio dificil justificar comparaciones y por otro lado, que cosa no podes emular con un micro varias veces mas potente?


Es cierto que con un micro varias veces más potente podes emular a otro micro , pero en una comparativa como la que pusiste 40Mips vs 60Mips la cosa ya no es tan simple ni lineal y hay que ver cada caso, a eso iba mi aclaración.

Y cuando vamos al mundo real, de los negocios, si usas un ARM9 hay que ver qué precio tiene, lo cual no es menor cuando alguien hace algo masivo.


Si hablamos de mundo real, de los negocios, fijate que micro tiene tu celular, tu camara digital o tu dvd , probablemente arm o mips; hasta mi notebook, una ibm, tiene un avr dentro. No hay ningun producto masivo en el mercado que declare usar "mchip inside"  :) que tal eso para el mundo de los negocios.

Como me gusta opinar despues de haber leido lo suficiente y saber que cuento con respaldos reales para mis opiniones aca van dos notas interesantes de la mas grande editorial de componentes electronicos Electronics Design,Strategy,News (EDN)
sobre el dominio de ARM :
http://www.edn-europe.com/fromedneuropearmtargetsautomotiveandindustrialdominance+article+1383+Europe.html#ref (http://www.edn-europe.com/fromedneuropearmtargetsautomotiveandindustrialdominance+article+1383+Europe.html#ref)
sobre el futuro incierto de los micros a 16 bits:
http://www.edn.com/article/CA6413784.html(http://) (http://www.edn.com/article/CA6413784.html)







Título: Re: el mejor C ?
Publicado por: maunix en 22 de Febrero de 2008, 22:31:10
El tema era si dspic era mas potente en ciertas cosas el "el mas lindo arm9"  pero aun asi que fuente comprobable tenes de que se vendan dspic por toneladas ?
si de soldar se trata hay arm9 en encapsulado lqfp "soldables  a mano" (ST tiene un par) (http://www.st.com/mcu/inchtml-pages-str9.html). Comparar lleva datos tangibles, no riesgos

Si, lo he visto hace tiempo, pero los más más potentes de ARM9 no vi que vengan en un encapsulado montable.  También  he visto hace tiempo la página de un brasilero con una memoria flash, ethernet y una camarita que usa un arm9 y que es también soldable pero no era el más potente de los ARM.  Tal vez no fui claro je.

Si hablamos de mundo real, de los negocios, fijate que micro tiene tu celular, tu camara digital o tu dvd , probablemente arm o mips; hasta mi notebook, una ibm, tiene un avr dentro. No hay ningun producto masivo en el mercado que declare usar "mchip inside"  :) que tal eso para el mundo de los negocios.

Asi es y nadie discute que los ARM y MIPS son los que mas venden, de hecho en otro hilo hace tiempo hablamos del mismo tema.  Yo no me refiero a eso.

Al respecto de vender por toneladas es una expresión refiriéndome a que los venden de a miles y en el foro de microchip he leído en varias oportunidades que varios decía que no tenia sentido usar un PIC18 si un dspic sale mas o menos igual y tiene muchisima más potencia.  En este punto, comentaban de comprar de a miles por mes. 

Como me gusta opinar despues de haber leido lo suficiente y saber que cuento con respaldos reales para mis opiniones aca van dos notas interesantes de la mas grande editorial de componentes electronicos Electronics Design,Strategy,News (EDN)
sobre el dominio de ARM :
http://www.edn-europe.com/fromedneuropearmtargetsautomotiveandindustrialdominance+article+1383+Europe.html#ref (http://www.edn-europe.com/fromedneuropearmtargetsautomotiveandindustrialdominance+article+1383+Europe.html#ref)
sobre el futuro incierto de los micros a 16 bits:
http://www.edn.com/article/CA6413784.html(http://) (http://www.edn.com/article/CA6413784.html)

Me parece bien pero no es mi punto.  Yo no voy a que el ARM vende menos que microchip ni nada por el estilo o que el dspic vende más que todos los ARM juntos o que es mejor, simplemente que la elección de un micro es una tarea compleja que lleva muchas etapas y elementos de decisión.

El costo, la perfomance, la facilidad de obtención, la facilidad de armado, conocimiento de la herramienta, de las herramientas, del entorno de programación, el costo de hora hombre que tiene un ingeniero/técnico en el lugar donde se está desempeñando, solo por citar algunas.  Entonces siempre hay 'nichos' para los cuales un micro será elegido por una empresa para ser usado por más que haya otros mucho mejores, más baratos o lo que sea.  En ese punto pesa mucho más todo eso que el costo final del micro solo.  Espero con esto haber aclarado mi punto y que por más que conozcas un micro que sea mejor en todo que otro, eso no significa que se lo vaya a cambiar de un día para el otro.  Bosch por ejemplo no cambia sus micros a diario, suelen repetir su hardware porque no les es tan fácil cambiar algo que hace años están probando y saben que funciona bien.  Si algo falla se puede matar una persona y es allí donde no cambiarán tan fácil de micro por más que haya otros mejores, más baratos , etc.  A eso apunta mi idea.

Leí el artículo y comenta también que habían vaticinado la muerte de los micros de 8 bits los cuales aún siguen dando vueltas.  Los de 16bits según entendí la tienen más complicada porque la brecha entre 32bits y 8 bits se achica y por ende la de los 16bits tendería a desaparecer.

Pero como se han equivocado antes con los micros de 8 bits, quien sabe, tal vez suceda que los que terminen desapareciendo sean los de 8 y no los de 16  :D :D :D (es broma).

Un abrazo desde córdoba


Título: Re: el mejor C ?
Publicado por: psykhon en 22 de Febrero de 2008, 23:13:24
ahi si que si, no se les ve el fin a los 8 bits, y uno de los puntos que mencione indirectamente es que hay micros 8 bits que nada envidian a 16 bits en capacidad o perifericos

en cuanto a "supremacia de los micros" aca encontre la lista de licenciatarios de arm y mips que me parece mas que impresionante y vale la pena compartir

http://www.arm.com/community/company_list.php?PageTitle=Semiconductor%20Vendors&ProductTypes=1,2&CompanySort=ProductTypeName&display=1 (http://www.arm.com/community/company_list.php?PageTitle=Semiconductor%20Vendors&ProductTypes=1,2&CompanySort=ProductTypeName&display=1)
http://www.mips.com/customers/licensees/ (http://www.mips.com/customers/licensees/)

Volviendo a C, Alguien me puede decir porque cara... pesa tanto la librera stdlib en ccs? probe con un programa completo hasta un simple printf sobre un 16f88 y las estadisticas me dicen que stdlib.h esta ocupando mas de 2k de flash
Título: Re: el mejor C ?
Publicado por: AlexFBP en 20 de Julio de 2012, 06:49:10
sopresa sorpresa  8) 8)
 MPLAB C30 v2.04 GCC Source (http://ww1.microchip.com/downloads/en/DeviceDoc/mplabc30v2_04.tgz)

Así es y el C32 también está basado en gcc.

Igual te lo cobran u$s 1000 así que no se como sera el tema de la violación del GPL de gcc.
Ojo, el que microchip cobre por usar un compilador bajo licencia GPL no es ilegal. La licencia GPL y otras de SOFT LIBRE quieren decir que eres libre de usar el soft que conseguiste para cualquier proposito, puedes modificarlo (si lo haces, debes publicar tu cambio y pasarlo) y mirar como funciona. De hecho es por eso que microchip tiene en sus servidores montado el fuente del programa que vende, y que esta comentado en un post de este foro anteriormente. Si no lo hiciera, sus cambios sobre el codigo fuente serian ilegales porque violan la misma licencia GPL que cubre a GCC.

Haz de cuenta la analogia de Richard Stallman cuando explica que es el soft libre: haz de cuenta que es una receta, puedes hacerla, modificarla, agregarle ingredientes y obtienes un resultado, usualmente buscas que sea el mejor resultado. ¿Pero cuanto te valen los ingredientes, cuanto te vale el gas, el tiempo de conseguir los ingredientes?

El mayor error es creer que Libre es Gratis, basados en que la traduccion al ingles de ambas palabras (Libre y Gratis) en Ingles traduce Free. Busca programas Shareware. Son gratis, pero. ¿son libres?. La ventaja de que microchip haya utilizado un producto GPL para hacer su subproducto, da la habilidad LEGAL de que podamos copiar CON TODO DERECHO DE LEY el programa, y no estariamos haciendo pirateo. Esa es otra razon (consecuente) por la que microchip sube sus codigos fuente al haberse basado en un programa GPL. Y, de cierta forma le conviene, porque la gente que siente que el programa le sirve, realmente lo paga.

Jjajaj... volviendo al tema... Pues... que puedo decir, empece a programar pics directamente desde ensamblador... Me fue bien, pero para cosas de mas agilidad requiero C. De todas las publicaciones al momento, He visto que (para microcontroladores Microchip) Por un lado, tenemos CCS. Muchas utilidades de alto nivel, muchas cosas faciles de manejar, facil acceso a puertos, funciones, etc... Pero no he logrado sacar (no se si es que soy muy amotro o me falta por aprender :D xD ) un programa que me configure un PIC16F876A para que en una de sus entradas ADC configurada a 8 bits (no he podido configurar los 8 bits) me cambie el duty cycle un PWM generado por hardware (CCP1 y Timer2).
Creo que por el momento prefiero assembler, no me mola usar CCS para desarrollar programas de up en c, y menos si, segun lo que visto, no es portable. En el trabajo, importa mas la portabilidad que la facilidad (a menos que no busques y lo hagas por hobby - bueno, en este caso, lo hago por hobby xD), hace poco me entero que C y C++ los regulaba ANSI, asi que, si hay algo que pueda trabajar con algo estandar, cosa que si quiero cambiar de prototipo al programar (digamos, pasarme a motorola, atmel, avr... etc) sea mucho mas facil que ponerme a seguir los pasos de algo que, puede que sea muy facil para desarrollo unipersonal, pero no para trabajo colectivo. Creo que me pondre a usar la version Lite de Hi-tech C y les comento :D (ahaahah si, soy el unico suicida que responde a un tema muerto hace algo mas de 3 años... En fin). Por la experiencia que me llevé del ensamblador, sé que puedo y me beneficia usar menos recursos, y si un compilador acorde a ANSI (o como sea) me puede generar un codigo que sea portable, que consuma muchos menos recursos y sea efectivo en la menor cantidad de tiempo... mucho mejor. Si logro pasar con Hitech... me quedo ahi xD.

En un foro en ingles en que se habia planteado que compilador C escoger entre CCS y PICC(Hitech)
http://www.edaboard.com/thread33347.html
pude concluir que el IDE que mejor permite la modificacion y acceso a los parametros de hardware (consecuencia de seguir estandar ANSI) es precisamente Hitech, por lo menos te permite acceder a gran parte de funciones. Si, te demoras un poco mas, pero pues, el beneficio a largo plazo es mejor, y bueno, el conocimiento no se pierde.

Como dijeron alguna vez en un post pasado...
Me parece que descubrimos los verdadedoros dueños de CCS jajajaja