TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Marttyn en 25 de Febrero de 2013, 18:12:20

Título: Hasta los HUE*** de CCS!
Publicado por: Marttyn en 25 de Febrero de 2013, 18:12:20
 :5] :5] :5]
Los ultimos proyectos en los que me he metido, en todos he acabado saturado del CCS y sus BUGs.
Me paso horas revisando el hardware, el software y no encuentro nada... hasta que me voy a mirar el ASM generado, y doy con el problema!
Lo peor es que a medida que salen nuevas versiones arreglan ciertos bugs, pero generan otros sobre cosas que no daban problemas... Por lo que es practicamente imposible saber por donde te va a caer el siguiente bug.
Hay alternativas buenas al CCS?
He visto que microchip ha sacado su propio complilador...
Alguien sabe que tal es? es complicado pasarse? Precios?
Salu2
Título: Re: Hasta los HUE*** de CCS!
Publicado por: Nocturno en 25 de Febrero de 2013, 18:35:25
Hoy mismo me he vuelto loco con un error de programación de los fuses de un 18F6723 y al final resultó ser un error del compilador, que curiosamente en versiones anteriores lo hacía bien.

He hecho mis pinitos en C18 y en C30; es duro el cambio si vienes de la comodidad de CCS, pero todos los que lo han probado y se han acostumbrado, ya no quieren oír ni hablar de CCS.

Las versiones para estudiantes son gratuitas.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: planeta9999 en 25 de Febrero de 2013, 18:47:25



Yo utilizo C32 de Microchip para los PIC32, y ningún problema, salvo el tema del Debug que es algo puñetero.




Título: Re: Hasta los HUE*** de CCS!
Publicado por: sander en 25 de Febrero de 2013, 19:39:19
:5] :5] :5]
Los ultimos proyectos en los que me he metido, en todos he acabado saturado del CCS y sus BUGs.
Me paso horas revisando el hardware, el software y no encuentro nada... hasta que me voy a mirar el ASM generado, y doy con el problema!
Lo peor es que a medida que salen nuevas versiones arreglan ciertos bugs, pero generan otros sobre cosas que no daban problemas... Por lo que es practicamente imposible saber por donde te va a caer el siguiente bug.
Hay alternativas buenas al CCS?
He visto que microchip ha sacado su propio complilador...
Alguien sabe que tal es? es complicado pasarse? Precios?
Salu2

Bienvenido al club, a mi me paso algo similar hace varios años, desde ese entonces no use CCS para ninguno de los proyectos del trabajo, esos los hacia en ensamblador, ahora estoy usando el XC8 y el C18, el XC8 permite programar desde los PIC10F hasta los PIC18F,  para los micros de 16 bits esta el XC16 y para los de 32 bits el XC32, asi que tiene opciones para dejar el CCS, todos estos compiladores tienen versiones gratuitas que solo difieren de la version PRO en que generan un 30% mas de codigo en ensamblador . Eso si ninguno es tan facil de usar como el CCS.

Saludos
Título: Re: Hasta los HUE*** de CCS!
Publicado por: RALF2 en 25 de Febrero de 2013, 19:50:36
Leo sus comentarios y me dan escalofrios  :2]
Yo recien tuve problemas con el SPI por software en modo esclavo  :( no hubo manera de que recibiera datos y me colgo el ccs y luego me lo desconfiguro  :5]
Es increible esto de los bugs   :shock: yo vengo de usar el PROTON Compiler que es en basic y hasta donde se es mas estable que el ccs (tiene dos bugs menos o quisas mas...  :D)  :oops:
No me he querido cambiar de nuevo a basic porque el C me ha gustado mucho, nunca he probado el C18 de la microchip pero apenas tenga chance le metere mano  :mrgreen:

Sino tendre que volver a mi viejo y renovado Proton  :D

Saludos
Título: Re: Hasta los HUE*** de CCS!
Publicado por: gera en 25 de Febrero de 2013, 20:12:51
Coincido! Yo constantemente tengo q ir y venir con las versiones, ya que siempre hay algun bug... Sin embargo cada vez que me mando con los compiladores de microchip, extraño las facilidades de CCS jeje.
Que puedo decir... sarna con gusto no pica xD
Título: Re: Hasta los HUE*** de CCS!
Publicado por: jukinch en 25 de Febrero de 2013, 20:15:28
Es la vieja historia del huevo y la gallina. ¿Quien nació primero?. (aunque nunca se lo vio a Adan con dos gallinas colgando!) por eso uso c18 y ahora comenzando a estudiar xc8.
     Saludos a todos.
            Jukinch
Título: Re: Hasta los HUE*** de CCS!
Publicado por: RICHI777 en 25 de Febrero de 2013, 20:56:29
Hola, yo opino desde afuera. Se deberia separar el compilador de las librerias de soporte. CCS es muy fuerte en este ultimo punto y creo que es una de las razones por la que es muy utilizado. La contra es que no es  muy estandart ( ANSI C ) entonces uno se vicia con cosas que despues si pasa a otro compilador no las tiene. En mi caso utilizo compiladores desde hace muchos años, no implica que sepa mucho pero si que soy bastante viejo, muchos o casi todos solo vienen con la libreria de RTL ( real time library ) que es la incluye el codigo para por ejemplo funciones como strlen, atoi, etc. Todo lo que tenia que ver con hardware tenias que hacerlo vos a pulmon.

Saludos !

PD.
Yo vivo en Argentina, pero me encanto leer terminos como "puñetero" y "hacer pinitos" jajajaja el segundo seria como hacer experiencia ?
Título: Re: Hasta los HUE*** de CCS!
Publicado por: PalitroqueZ en 25 de Febrero de 2013, 21:32:20
la verdad es una lastima pasar por tantas complicaciones con un excelente compilador, deberían dejar de sacar tantas versiones para detener la proliferación de bichos...

Título: Re: Hasta los HUE*** de CCS!
Publicado por: AngelGris en 25 de Febrero de 2013, 22:14:20
  Yo empecé viendo programas en CCS y al muy poquito tiempo cambie por HiTech -ahora devenido en xc8- y también hice algunas cosas con SDCC.

  Entre xc8 y HiTech he notado una diferencia interesante. Cuando quería acceder al bit 0 del puerto B tenía que escribir algo así

Código: C
  1. RB = 0;

  y con XC8

Código: C
  1. PORTBbits.RB0 = 0;

  que según he visto, es la sintaxis de C18. Por lo tanto el cambio -de ser necesario- entre XC8 y C18 no sería tan abrupto en cuanto a la sintaxis.

  Esta forma de escribir tiene su pro y es que nos permite ver a que registro corresponde el bit que queremos acceder sin tener que tener a mano el datasheet. Lo malo es que ocupa demasiado espacio en la línea del programa.  :?
Título: Re: Hasta los HUE*** de CCS!
Publicado por: BrunoF en 25 de Febrero de 2013, 23:35:05
No conozco a nadie que con CCS no tenga una relación amor-odio.

Personalmente este año migro a los compiladores C de Microchip definitivamente. Lamentablemente cuando uno quiere hacer algo en serio, no se pueden agregar conscientemente más errores a un diseño.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: Leon Pic en 26 de Febrero de 2013, 00:17:46
El lenguaje JALv2 es gratuito y muy bueno. También se puede integrar al MPLAB para depurar errores.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: AKENAFAB en 26 de Febrero de 2013, 02:41:28
Me paso lo mismo.

Ahora estoy migrando a XC8 y XC16

Es cierto esa relacion amor-odio con CCS xD jajaj  :D :D
Título: Re: Hasta los HUE*** de CCS!
Publicado por: jfmateos2 en 26 de Febrero de 2013, 03:06:04
De acuerdo con Leon en que JAL es una buena alternativa para la mayoría de los proyectos... pero si se necesitan las librerías de Ethernet no es una opción porque creo que aún están incompletas...

En este caso no hay más remedio que pasar a C18, pero la curva de aprendizaje respecto a CCS es un muro vertical... y encima no se puede distribuir el código de la librería libremente.

Me parece increible que no haya una alternativa de código abierto para los PICs como sí la hay para Arduino.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: todopic en 26 de Febrero de 2013, 09:46:33
Me parece increible que no haya una alternativa de código abierto para los PICs como sí la hay para Arduino.

El XC8 , XC16 y XC32 son abiertos, libres (o pagos), y hay mucha info...

Por suerte, me estoy pasando al C, y realmente MPLAB X tiene muchas ventajas con respecto al Mplab 8...
Cuando comencé en MplabX beta... me choque una pared, no tenia idea por donde comenzar... y regrese al 8
Hace un mes, estoy realizando un curso, y me encuentro con un entorno gráfico cambiado... un lenguaje diferente, micros que jamás habia empleado.... y creo que estoy zafando  :mrgreen:
Microchip ha comprado a Hitech... y ahora surgen los XC8-16-32...  y CCS es un aliado estrategico...

Me cuesta mucho el cambio... me olvido de los puntos y comas...  me jode el tiempo que tarda al tener que compilar algún proyecto (en asm era casi instantáneo! ja ja), pero en definitiva, un proyecto en C es más simple...

Me agrada el nuevo formato de la programación de los fuses, que además ya son generados por el mplab...  :mrgreen:

Saludos!
Norberto
Título: Re: Hasta los HUE*** de CCS!
Publicado por: reiniertl en 26 de Febrero de 2013, 11:31:33
Yo me cambié hace ya mucho tiempo para el C18, C30 y C32. Aunque me desayuno que ya Microchip tiene un compilador para los PICs de gama baja PIC10,12 y 16. Yo dejaría CCS sin dudarlo. Es cierto que al prinicpio te duele un poco el cambio porque siempre recorrer la curva de aprendizaje es complicado, una vez vencido el proceso te sentirás liberado. Sólo en las horas de debuggeo de cosas que están bien pero que las jode el compilador ganarás un tiempo y ausencias de dolores de cabeza por los que vale la pena el cambio.

La última que me hizo el muy cabrón CCS con una aplicación para PIC12 fue una asignación de variables que no hacía porque no le daba la gana. Al final tuve que hacer un par de trucos intermedios para que la cosa funcionara aunque el programa parezca un poco disparatado. Le puse un comentario bastante ofensivo al código para recordarme o informarle a cualquiera que lea el código que no es que yo sea un mal programador, sino que CCS is a shit!

Un saludo
Reinier
PD: Si te duele perder el RTOS de CCS entonces tienes la opción de FreeRTOS que es una maravilla.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: Marttyn en 26 de Febrero de 2013, 15:53:55
 :oops: :oops: :oops:
Vuelvo humillado por mi error, pero sigo con las mismas ganas de cambiar de compilador...
Esto se explica de la siguiente manera: el problema que me enfurecio y me hizo abrir este hilo fue que no me activaba las pull ups, que estan en el registro WPU (0x95) de mi PIC 12F. El ASM asignaba el valor de pull ups al registro CCP1CON (0x15).
Al mirar el codigo ASM generado, como en mplab tiene la opcion de "Symbolic Disassembly" en vez de mostrar el numero de registro, te muestra el nombre del registro directamente, para que sea mas facil de entender. Como creo que ya os estais imaginando, CCP1CON y WPU son registros "paralelos" en diferentes bancos. Es decir que el registro 0x95 realmente es el registro 0x15 del segundo banco. Y el compilador no mostraba ninguna instruccion de cambio de banco porque ya se encontraba en el varias instrucciones mas atras.
Esta vez le doy la razon, pero no quita que otras veces haya pasado muchas horas hasta que descubro que es un error del compilador. Mi intencion es pasarme a XC8. Habitualmente no suelo usar librerias, excepto para memorias EEPROM I2C o pantallas LCD. Es un problema muy grande encontrar o portar librerias desde CCS?
Me alegra saber que no estoy solo en mi decepcion con CCS.
Salu2
Título: Re: Hasta los HUE*** de CCS!
Publicado por: AngelGris en 26 de Febrero de 2013, 16:07:07
  Para la familia 18F, el compilador XC8 ya tiene librerías para manejo de LCD, ADC interno del pic, SPI e I2C del pic por hardware.

  Para la familia 16F, Norberto (todopic) subió hace poco una librería. Ya había subido hace un tiempo una librería hecha para HiTech y hace una semana la utilicé en XC8 sin problemas.

  Creo que el mayor trabajo radica en hacer librerías para manejo de UART, SPI y/o I2C por software. Manejar cualquiera de dichos periféricos por hardware es muy sencillo.

  No comento acerca de USB, CAN o ethernet ya que hasta el momento no he trabajado con ellos.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: MLO__ en 26 de Febrero de 2013, 16:52:13
Hola

A mi el CCS aun no me ha dado problemas <menos mal> ... generalmente lo uso con PICs de gama baja como los 12F o los 16F, para los 18F lo uso cuando hay cosas con el USB ... la verdad que el CCS ayuda mucho a sacar las cosas rapido ... siempre da como "miedillo" al probar en fisico las cosas por lo que he leido ... asi que de a pocos me he metido a conocer otros compiladores, pero en realidad no manejo ninguno!!  :lol: :lol:

Saludos
Título: Re: Hasta los HUE*** de CCS!
Publicado por: PalitroqueZ en 26 de Febrero de 2013, 17:52:42
yo no conocía el mplab x y sus compiladores xc8, lo acabo de instalar y después de 30 minutos, me he dado cuenta que microchip ha hecho un buen trabajo en espantar a los hobbistas que se dedican a programar pics  :cry:

Título: Re: Hasta los HUE*** de CCS!
Publicado por: Marttyn en 26 de Febrero de 2013, 18:02:35
Muy mal trabajo entonces!
Yo no voy a hacer rico a Microchip, pero me considero hobbista y ya he adquirido mucho mas de 1000 unidades de sus productos.
Creo que les conviene tenernos contentos porque nunca se sabe cuando puedes tener un proyecto.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: AngelGris en 26 de Febrero de 2013, 18:12:09
yo no conocía el mplab x y sus compiladores xc8, lo acabo de instalar y después de 30 minutos, me he dado cuenta que microchip ha hecho un buen trabajo en espantar a los hobbistas que se dedican a programar pics  :cry:



  ¿Por qué lo dices Pali?

  Yo soy sólo un hobbista, y MPLABX -que puede espantar a primera vista- me gustó mucho ya que funciona muy bien el autocompletado incluso con uniones o estructuras definidas por el usuario.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: todopic en 26 de Febrero de 2013, 18:31:42
yo no conocía el mplab x y sus compiladores xc8, lo acabo de instalar y después de 30 minutos, me he dado cuenta que microchip ha hecho un buen trabajo en espantar a los hobbistas que se dedican a programar pics  :cry:

No Pali... yo creía lo mismo....  pero tiene pasos bien sencillos... luego abro un post de como comenzar ok?
Título: Re: Hasta los HUE*** de CCS!
Publicado por: PalitroqueZ en 26 de Febrero de 2013, 19:07:24
yo no conocía el mplab x y sus compiladores xc8, lo acabo de instalar y después de 30 minutos, me he dado cuenta que microchip ha hecho un buen trabajo en espantar a los hobbistas que se dedican a programar pics  :cry:

No Pali... yo creía lo mismo....  pero tiene pasos bien sencillos... luego abro un post de como comenzar ok?

y yo estaré entre los primeros lectores a ver de que se trata  :tongue:
Título: Re: Hasta los HUE*** de CCS!
Publicado por: RALF2 en 26 de Febrero de 2013, 20:58:52
Me anoto tambien para ver si me convences Norberto de cambiarme al XC8   :D
Título: Re: Hasta los HUE*** de CCS!
Publicado por: electroipod en 26 de Febrero de 2013, 21:11:24
Yo te recomiendo el xc8 o sino el hitech, para mi es mejor comenzar a programar con estos compiladores ya aue son he hechos por la misma microchip y la microchip sabe perfectamente como estan construidos sus pics, compiladores de terceros siempre te van a generar mas codigo basura asi esque yo ya me pase a mplabx y xc8 y no pienso cambiarlo por otro.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: AngelGris en 26 de Febrero de 2013, 21:24:06
Yo te recomiendo el xc8 o sino el hitech, para mi es mejor comenzar a programar con estos compiladores ya aue son he hechos por la misma microchip y la microchip sabe perfectamente como estan construidos sus pics, compiladores de terceros siempre te van a generar mas codigo basura asi esque yo ya me pase a mplabx y xc8 y no pienso cambiarlo por otro.

  Ojo!!! que HiTech no era hecho por MicroChip sino por HTSOFT, hasta que MicroChip la compró... Pero originalmente era un compilador de "terceros" y funcionaba muy bien.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: Suky en 26 de Febrero de 2013, 22:22:01
Yo te recomiendo el xc8 o sino el hitech, para mi es mejor comenzar a programar con estos compiladores ya aue son he hechos por la misma microchip y la microchip sabe perfectamente como estan construidos sus pics, compiladores de terceros siempre te van a generar mas codigo basura asi esque yo ya me pase a mplabx y xc8 y no pienso cambiarlo por otro.

  Ojo!!! que HiTech no era hecho por MicroChip sino por HTSOFT, hasta que MicroChip la compró... Pero originalmente era un compilador de "terceros" y funcionaba muy bien.

Además CCS siempre genero menos codigo que cualquier otro compilador, en ese sentido es muy bueno... Y veo que hasta no genera código aunque se necesite:

La última que me hizo el muy cabrón CCS con una aplicación para PIC12 fue una asignación de variables que no hacía porque no le daba la gana. Al final tuve que hacer un par de trucos intermedios para que la cosa funcionara aunque el programa parezca un poco disparatado. Le puse un comentario bastante ofensivo al código para recordarme o informarle a cualquiera que lea el código que no es que yo sea un mal programador, sino que CCS is a shit!

 :D

El problema siempre fue los bugs que presenta, además de su poca portabilidad.


Saludos!
Título: Re: Hasta los HUE*** de CCS!
Publicado por: jfmateos2 en 27 de Febrero de 2013, 03:44:35
Antes de pasar a XC8 hay que tener en cuenta que las libreías de la application (USB, Ethernet, ...) aún no funcionan en este compilador... por eso yo me he quedado en C18.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: Marttyn en 27 de Febrero de 2013, 07:49:54
Llevo un rato INTENTANDO ENCENDER UN LED y no puedo!
Fijaros hasta donde tuve que llegar y aun asi el compilador se lo pasa por los hue***...
Comprobado que no queria funcionar con instrucciones normales lo hice con assembler.
Necesitaba 2 instrucciones, la primera pasa al Bank0, y la segunda enciende el pin deseado.
Pues el compilador cambia mi segunda instruccion... NO DEBERIA HACER EXACTAMENTE LO QUE YO LE DIGA???? PARA ESO ES ASSEMBLER!
(http://i299.photobucket.com/albums/mm317/Marttyn/Electronica/Sintiacutetulo.jpg)
Título: Re: Hasta los HUE*** de CCS!
Publicado por: AngelGris en 27 de Febrero de 2013, 09:03:16
  Noto el cambio, pero parece que no es tan grave... te comento lo que yo entiendo.... el compilador está reemplazando tu instrucción

Código: C
  1. bcf 0x3, 0x5

por

Código: C
  1. bcf STATUS, 0x5

 lo cual está perfecto, ya que hace el cambio de banco -en este punto no entiendo porque repite la instrucción-. Y luego reemplaza

Código: C
  1. bsf 0x5, 0x1

por

Código: C
  1. bsf GPIO, 0x1

lo cual también estaría bien, porque pone a 1 el bit 1 del puerto.

¿Queda configurado como salida el puerto?
Título: Re: Hasta los HUE*** de CCS!
Publicado por: Marttyn en 27 de Febrero de 2013, 09:52:58
Si, cambiar 0x3 por STATUS esta bien, es la opcion "Symbolic Dissasembly" de MPLAB.
Pero por que cambia la segunda instruccion por dos instrucciones?
Esta bien que la primera de las dos instrucciones es "inocua" ya que es igual a la anterior instruccion, pero YO NO LE HE DICHO QUE HAGA ESO!
Y si, funciona, pero ese no es el punto... Ya no te puedes fiar ni de la instruccion #ASM, por lo que estoy viendo tienes que usar "#ASM ASIS" para que el compilador no intente "optimizarte" tu codigo ASM...
Esa instruccion extra que pone es parte de su optimizacion, para que se active el pin del puerto que quiero primero tiene que ir al bank0, pero como sabe que esa instruccion va al bank0 y no al bank1? podria estar cambiando el registro TRISIO y entonces esa instruccion de mas que mete me generaria un problema :S
Título: Re: Hasta los HUE*** de CCS!
Publicado por: MGLSOFT en 27 de Febrero de 2013, 10:33:01
Me parece que se espera demasiado de CCS, o que las expectativas estan muy altas.

Es un compilador que esta desarrollado para simplificar la generacion de codigo.

Los de CCS (lean su historia) empiezan haciendo aplicaciones comerciales con micros de Microchip y usaban su compilador de assembler (unica herramienta gratuita en esa epoca), ya que los compiladores de Hitech y Microchip y otros mas, no bajaban de varios miles de dolares para una licencia de una estacion.

O sea, igual que cada uno de nosotros, comenzaron a hacer sus librerias en assembler para mejorar los tiempos de desarrollo y optimizar sus recursos de programacion.
Como aun asi, con librerias y todo, eran muy lentos en desarrollo, y con conocimientos importantes en programacion, decidieron hacer un compilador de C "a medida", para no estar fuera de la ley y poder optimizar aun mas sus tiempos y tambien el costo de la hora de desarrollo.

De ahi a encapsular sus rutinas y ver que podian comercializarlo, solo hubo un sencillo paso.

Por supuesto el precio de la epoca entre su compilador y los comerciales fue muy grande a su favor, razon por la cual mucha gente se inclino por ese compilador y no los otros.
En mi caso, como pobre sudaca que soy, no me quejo de mi eleccion, ya que me soluciona la mayoria de los problemas, y aun hoy veran que los precios de los compiladores "oficiales" no ha bajado tanto como para estar en la cima de las ventas y aunque pase el tiempo, no esperen que lo hagan tampoco.

Quien pague la licencia del compilador de CCS, debe saber que tiene Pros y Contras.
Ademas que piense bien al tomar su decision, si le conviene o no comprar este de CCS o los Oficiales de Microchip.

Para un desarrollador solitario como yo, no hay mejor opcion que esta.
No pienso pedirle Peras al Olmo, ni esperar que se convierta de la noche a la mañana en ANSI C, ni nada de eso.

Las opciones de optimizacion, como bien dijo Marttin, optimizan hasta el asm generado desde instrucciones especificas de asm.
Esta hecho bajo la norma APB ( A Prueba de Boludos).
Esto es porque su perfil de usuario es basico, y esta previsto ser usado por NO Ingenieros, de modo que quienes lo usen, puedan mantener un costo bajo de desarrollo.
De nuevo, insisto, fue desarrollado para optimizar sus recursos de programacion, que en el mercado Americano son muy caros, eso los transformo en muy competitivos.

Los de CCS no engañaron a nadie para que compren sus compiladores, y muchos de nosotros arrancamos con una version truchada millones de veces, de lo cual ellos no tienen siquiera responsabilidad, al contrario es un perjuicio economico directo.

Pedirle a CCS que sea ANSI es mas o menos como pedirle a Basic que sea estructurado, se entiende ?? :D :D :D
Título: Re: Hasta los HUE*** de CCS!
Publicado por: RICHI777 en 27 de Febrero de 2013, 11:36:52
Hola, lo principal no es que sea ANSI-C sino que lo que dice que hace que lo haga bien, independiente a que estandar o no estandart responda.

Saludos !
Título: Re: Hasta los HUE*** de CCS!
Publicado por: MGLSOFT en 27 de Febrero de 2013, 12:12:46
En el ultimo caso que cita Marttin, lo hace bien, aunque malgasta un ciclo de maquina, porque setea dos veces el bit de cambio de pagina, el resultado es el mismo.
Por supuesto, para hacer esto mismo en C de Microchip, tienes obligacion de hacerlo a mano, y puedes optimizar mucho mas seguramente.

Pero hay algo mas, si entran a Microchip Direct, la suma de licencias pagas tipo Workstation del compilador XC de 8, mas el de 16 y el de 32 bits (hablo de las licencias de solo una estacion), suman 3200 dolares, mientras que la version completa de CCS sale 600 dolares!!

De que tipo de comparacion hablamos??  Esto no es pedirle peras al olmo ??

Yo prefiero gastar menos y despues de desarrollar codigo, perderme 1/4 del tiempo ahorrado en desarrollo, buscando optimizar el codigo generado, que tener que hacer librerias que cubran todas las posibilidades de generacion de codigo, para cada uno de los compiladores de Microchip, adaptadas a mis necesidades.
Esa es mi postura, y respeto las demas, por supuesto.
Pero me parece injusto que quieran pedirle cosas a un compilador barato y funcional que detras debe tener no mas de tres desarrolladores de codigo, comparado a Microchip que tiene unos miles, sumados a los que ya tenia Hitech.

Es muy mala la comparacion, y en realidad es admirable lo que han hecho estos pocos, respecto a esos muchos que ponen los grandes.
Son pocos bugs los que tiene, para el staff de desarrollo con el que cuenta, no les parece??
Título: Re: Hasta los HUE*** de CCS!
Publicado por: BrunoF en 27 de Febrero de 2013, 13:18:37
El CCS, aún dentro de la directiva #ASM gestiona solo el cambio de bancos.

Por ende, en realidad con decirle sólo:

bsf 0x5, 0x1

te va generar seguramente

bcf STATUS, 5
bsf GPIO, 1

y en ese caso lograrías eliminár la línea repetida.

el tema es que el CCS cree que efectivamente hay un reverendo idiota delante del teclado, y como en ASM pierde el control de los bancos, saltos, instrucciones y sus efectos, etc, directamente delante de cada registro seguramente se asegure primero de que al menos estés en el banco correcto, aún cuando no lo necesites o tu te has asegurado de estar en el correcto, cambiandolo previamente.

Es así, en ASM hay que ver bien el código que genera, personalmente me volví loco con un bug en un 18F14K50 que habilitaba mal los OICA. En lugar de habilitar un bit del PORTA, habilitaba del PORTB(IOCB). Tuve que hacerlo en assembler a esa parte.

Saludos!

Título: Re: Hasta los HUE*** de CCS!
Publicado por: Marttyn en 27 de Febrero de 2013, 13:21:37
Me parece genial lo que dices MGLSOFT, y admirable como han salido adelante. Como tu dices, la optimizacion de codigo puede ser mejor o peor, y que sea ansi o no no me supone un gran dilema. Desde luego todos los que usamos el compilador "gratis" no tenemos por que quejarnos, pero los que lo han pagado esperan AL MENOS que haga lo que dice. Que cueste mas barato que otros? muy bien, pero no importa el precio que pagues, alto o bajo, si lo que compras no hace (o hace mal) lo que dice, y ahi es donde estan teniendo un grave problema.
Yo a medida que mi negocio crece invierto en estas cosas, y el compilador es una de las cosas pendientes que quiero adquirir original, pero el CCS no va a ser.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: sander en 27 de Febrero de 2013, 13:38:58
En el ultimo caso que cita Marttin, lo hace bien, aunque malgasta un ciclo de maquina, porque setea dos veces el bit de cambio de pagina, el resultado es el mismo.
Por supuesto, para hacer esto mismo en C de Microchip, tienes obligacion de hacerlo a mano, y puedes optimizar mucho mas seguramente.

Pero hay algo mas, si entran a Microchip Direct, la suma de licencias pagas tipo Workstation del compilador XC de 8, mas el de 16 y el de 32 bits (hablo de las licencias de solo una estacion), suman 3200 dolares, mientras que la version completa de CCS sale 600 dolares!!

De que tipo de comparacion hablamos??  Esto no es pedirle peras al olmo ??

Yo prefiero gastar menos y despues de desarrollar codigo, perderme 1/4 del tiempo ahorrado en desarrollo, buscando optimizar el codigo generado, que tener que hacer librerias que cubran todas las posibilidades de generacion de codigo, para cada uno de los compiladores de Microchip, adaptadas a mis necesidades.
Esa es mi postura, y respeto las demas, por supuesto.
Pero me parece injusto que quieran pedirle cosas a un compilador barato y funcional que detras debe tener no mas de tres desarrolladores de codigo, comparado a Microchip que tiene unos miles, sumados a los que ya tenia Hitech.

Es muy mala la comparacion, y en realidad es admirable lo que han hecho estos pocos, respecto a esos muchos que ponen los grandes.
Son pocos bugs los que tiene, para el staff de desarrollo con el que cuenta, no les parece??

Lo que no esta tomando en cuenta es que los compiladores de Microchip tambien tienen su licencia en modo FREE y coloco lo que esta en la pagina de microchip

Código: [Seleccionar]
MPLAB® XC Free Edition:

    Supports all the devices and commands of the Standard and PRO Editions
    No time or memory restrictions
    Limited code optimizations
    Unrestricted use—ideal for a low-cost academic or commercial solution
    Allows for all the code optimization and commands of the PRO Edition for 60 days – you decide when to turn it on.
    An option to activate the use of the PRO Edition features and optimizations is included. After 60 days, the compiler will revert back to the levels of the Free Edition

El unico "defecto" de la licencia en modo FREE es que genera mas codigo en ensamblador , aproximadamente un 40 % mas que la version PRO, pero como dice al final se puede usar el compilador en modo PRO durante 60 dias, entoces puede ir desarrollando su aplicacion en modo FREE y si le parece que se va a quedar corto de memoria activa el modo PRO para optimizar su codigo.

Lo que  le pido a cualquier compilador es que funcione de la forma que se espera que funcione, no que haga maravillas con el ensamblador ni que sea 100 % ANSIC, de todas formas no tengo el conocimiento para determinar si lo es o no.

Saludos

Título: Re: Hasta los HUE*** de CCS!
Publicado por: MGLSOFT en 27 de Febrero de 2013, 14:14:32
Convengamos en algo.
Si usas un compilador C, sea de quien sea, deberas saber mucho de assembler y de la arquitectura que estas usando.
En el de Microchip no vas a renegar generando codigo de mas, y hara lo que tu digas que haga, pero tendras que escribir hasta la ultima linea de codigo.

En el de CCS el compilador hara lo que le plazca con tu codigo, y si sabes de assembler y de la arquitectura, resolveras muy rapido los problemas generados y como tienes librerias desarrolladas que funcionan, habras ahorrado tiempo precioso, que hoy dia es dinero...

Si no sabes de assembler ni conoces la arquitectura, no deberias meterte en el C, porque sufriras bastante.  :mrgreen:

Eso si, de formas distintas con uno u otro compilador... :D :D

Las versiones gratuitas existen tambien para CCS, solo que en este caso es para unos pocos chips de la serie para la que es el compilador, de hecho cuando cargabas el MPLAB anterior tenias una version gratis del CCS, si la querias instalar.
Pero si quieres desarrollar no puedes jugar con los limites del compilador, debes contar con la version completa, eso debes tenerlo por seguro...
Título: Re: Hasta los HUE*** de CCS!
Publicado por: RICHI777 en 27 de Febrero de 2013, 14:34:10
Hola,

Citar
Si usas un compilador C, sea de quien sea, deberas saber mucho de assembler y de la arquitectura que estas usando.

No coincido para nada, justamente C nació como una herramienta para poder independizarse del assembler y ese es el verdadero espíritu del lenguaje, recodar que se diseño para poder migrar Unix a otros procesadores mas que el PDP-11 sin tener necesidad de reescribir todo de nuevo.
Obvio que es mejor conocer la arquitectura del micro anfitrión.

No conozco en detalle los términos de la licencia de los compiladores de MicroChip, pero por ejemplo en FreeScale podes bajarte el compilador gratis que genera la misma calidad de código que la versión comercial, pero esta limitado en tamaño, creo que para los micros más chicos te permite generar hasta 32 K de código. Si tu aplicación excede esto deberás pagar por la versión comercial que arranca en u$s 500.

Saludos !
Título: Re: Hasta los HUE*** de CCS!
Publicado por: MGLSOFT en 27 de Febrero de 2013, 15:04:56
Si, conocia esa limitacion de Freescale, estoy en contacto con gente que usa esa linea.
Muy buen optimizador no es ese compilador, ya que llegaron bien rapido a los 32K y tuvieron que comprarlo.

A proposito, mientras desarrollaban con el compilador gratuito tenian cada dos por tres una clavada de micro, mientras que cuando cargaron la licencia, desaparecio el problema !! Sera casualidad ?? :lol: :lol:
El codigo era el mismo, eso me lo aseguraron.

Cuando me refiero a saber de assembler del micro y su arquitectura, es porque aun en C, debes manejar directamente los registros del micro en cuestion, y eso mismo lo vie en el compilador de Freescale, por lo tanto nadie escapa a esa cuestion.

Lo que no se es si ese compilador , a ese precio maneja todos los micros de la linea, o esta escalado segun la arquitectura ??
Título: Re: Hasta los HUE*** de CCS!
Publicado por: jukinch en 27 de Febrero de 2013, 15:20:08
Que opinión les merece boostc?
http://www.sourceboost.com/Products/BoostC/BuyLicense.html
Las licencias son muy económicas.
Alguien hizo algún proyecto importante?
Saludos
Jukinch
Título: Re: Hasta los HUE*** de CCS!
Publicado por: RICHI777 en 27 de Febrero de 2013, 15:24:43
Citar
o que no se es si ese compilador , a ese precio maneja todos los micros de la linea, o esta escalado segun la arquitectura ??

Creo que hay tres versiones, y vas escalando en tamaño, algunas herramientas extras y la posibilidad de incluir el compilador C++.

Saludos !
Título: Re: Hasta los HUE*** de CCS!
Publicado por: PalitroqueZ en 28 de Febrero de 2013, 22:36:12
Hola,

Citar
Si usas un compilador C, sea de quien sea, deberas saber mucho de assembler y de la arquitectura que estas usando.

No coincido para nada, justamente C nació como una herramienta para poder independizarse del assembler y ese es el verdadero espíritu del lenguaje, recodar que se diseño para poder migrar Unix a otros procesadores mas que el PDP-11 sin tener necesidad de reescribir todo de nuevo.
Obvio que es mejor conocer la arquitectura del micro anfitrión.

....

yo pienso que para el caso de los microcontroladores pic de microchip, el lenguaje C nació para no escribir tanto en assembler, porque al fin y al cabo, no se dejará de activar o desactivar bits que de una u otra forma nos recordará el lenguaje de máquina.

la critica que yo le haría al ccs es que dejase de sacar tantas versiones para evitar tantos futuros errores, ese es el problema en este caso, independientemente si es o no es ansi, si es o no es abierto. El temor no es la cantidad de bug que tenga, sino, los nuevos bug que introduzcan. Deberían hacer como hacen con los silicon erratas, decir los bug que tienen la versión correspondiente y sacar la solución respectiva.

Título: Re: Hasta los HUE*** de CCS!
Publicado por: thegame en 03 de Marzo de 2013, 23:38:06
En mi caso yo comence con Hitech y C18 y nunca me dieron problemas,cuando me tope con CCS me di cuenta que efectivamente acorta los tiempos de desarrollo al ser mas sencillo en algunos o muchos aspectos pero el precio fue que me dio problemas en muchas cosas que con los compiladores de Microchip no.

ahora,la pregunta es,el foro se basa en su mayoria de usuarios que utilizan CCS,cuando se hace una pregunta referente a los compiladores de Microchip la informacion esta regada,y son menos los usuarios que manejan bien dichos compiladores,¿porque no abrir un subforo donde se concentren estas preguntas relacionadas con este compilador y asi facilitar un poco la tarea de aprendizaje?.

se que la informacion es muchisima y que es cuestion de buscar,pero el concentrar la info no tiene nada de malo y con los recientes cambios de Hitech y C18 a XC18 y demas,pues estaria de lujo.

para concluir mi comentario,he de decir que dentro de los pocos y sencillos proyectos que he realizado con CCS si debo decir que he cambiado unas 12 veces entre versiones,hasta dar con la que compila correctamente y si a eso le agregamos que se me van las patas muchas veces mas jaja  :D,me pasare de nuevo a los compiladores de la marca,se que sera duro despues de experimentar las bondades de CCS pero se requiere estabilidad y desafortunadamente, CCS no la da del todo.

Ojala los administradores chequen eso de unificar la informacion,seguro muchos se lo agradeceran,incluido yo,por lo pronto a retomar mis apuntes de la uni jojo

Saludos desde Morelia
Jcca

P.D. lo del MPLABX que comento el usuario todopic (crear un hilo para principiantes con el IDE) seria genial
Título: Re: Hasta los HUE*** de CCS!
Publicado por: Marttyn en 04 de Marzo de 2013, 06:39:32
¿porque no abrir un subforo donde se concentren estas preguntas relacionadas con este compilador y asi facilitar un poco la tarea de aprendizaje?.
Me parece grnial! si algun moderador ve conveniente crear un subforo dentro de C creo que la informacion estaria mejor organizada.

P.D. lo del MPLABX que comento el usuario todopic (crear un hilo para principiantes con el IDE) seria genial
Tambien me apunto al hilo para aprender sobre MPLABX, hace algun tiempo lo intente, pero me volvi a la version 8.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: lmtreser en 03 de Abril de 2013, 14:35:57
Tambien me apunto al hilo para aprender sobre MPLABX, hace algun tiempo lo intente, pero me volvi a la version 8.


Hola! La verdad nunca utilice CCS, siempre programe en BASIC que me resulto muy sencillo... peeerooo.. Me choque con la piedra que bajo GNU/Linux se hace difícil encontrar herramientas libres o gratuitas que cumplan bien su función. Por eso termine en MPLAB X con el compilador XC8, supongo que como son ellos mismos los que fabrican los chips no debería haber bugs, o si los hay que se resuelvan rápidamente.

Soy un usuario muy básico asi que a modo de organización empece a escribir un mini curso básico en el foro uControl. También lo publique en mi blog y si lo desean abro un hilo en el subforo correspondiente así podemos avanzar con esto del XC8. Saludos!

Curso "Programación de PICs en XC8" (http://www.automatismos-mdq.com.ar/blog/2013/04/curso-programacion-de-pics-en-c.html)
Título: Re: Hasta los HUE*** de CCS!
Publicado por: electroipod en 03 de Abril de 2013, 16:52:27
Tambien me apunto al hilo para aprender sobre MPLABX, hace algun tiempo lo intente, pero me volvi a la version 8.


Hola! La verdad nunca utilice CCS, siempre programe en BASIC que me resulto muy sencillo... peeerooo.. Me choque con la piedra que bajo GNU/Linux se hace difícil encontrar herramientas libres o gratuitas que cumplan bien su función. Por eso termine en MPLAB X con el compilador XC8, supongo que como son ellos mismos los que fabrican los chips no debería haber bugs, o si los hay que se resuelvan rápidamente.

Soy un usuario muy básico asi que a modo de organización empece a escribir un mini curso básico en el foro uControl. También lo publique en mi blog y si lo desean abro un hilo en el subforo correspondiente así podemos avanzar con esto del XC8. Saludos!

Curso "Programación de PICs en XC8" (http://www.automatismos-mdq.com.ar/blog/2013/04/curso-programacion-de-pics-en-c.html)
Oye man muy buen tuto para comenzar yo tambien estare subiendo tutoriales pero en videos de todo lo que he encontrado hasta ahora ojala que otras personas tambien puedan unirse a esta causa.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: MerLiNz en 03 de Abril de 2013, 17:49:04
Yo el CCS lo use para "introducirme" luego migre a mikroC y mucho mejor pero aun me faltaba asi que me fui a C18 y perfecto (actualmente xc8). Desde entonces siempre he usado mplab (ahora mplabx) y los compiladores de microchip, cierto que no tienen tantas librerias y son mas complejos pero eso es lo bueno de esto, yo soy de los que me gusta programar y no que me programen  :g) con el CCS el lo hacia todo y no sabia como lo hacia, con xc8, xc16, xc32... me siento que soy yo el que controlo el codigo.
Título: Re: Hasta los HUE*** de CCS!
Publicado por: electroipod en 03 de Abril de 2013, 17:52:18
Yo el CCS lo use para "introducirme" luego migre a mikroC y mucho mejor pero aun me faltaba asi que me fui a C18 y perfecto (actualmente xc8). Desde entonces siempre he usado mplab (ahora mplabx) y los compiladores de microchip, cierto que no tienen tantas librerias y son mas complejos pero eso es lo bueno de esto, yo soy de los que me gusta programar y no que me programen  :g) con el CCS el lo hacia todo y no sabia como lo hacia, con xc8, xc16, xc32... me siento que soy yo el que controlo el codigo.
Bien dicho man si uno quiere aprender a programar tiene que hacer su propio codigo y no estar esperanzado en que el o los compiladores lo hagan todo.