TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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
-
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.
-
Yo utilizo C32 de Microchip para los PIC32, y ningún problema, salvo el tema del Debug que es algo puñetero.
-
: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
-
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
-
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
-
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
-
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 ?
-
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...
-
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í
y con XC8
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. :?
-
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.
-
El lenguaje JALv2 es gratuito y muy bueno. También se puede integrar al MPLAB para depurar errores.
-
Me paso lo mismo.
Ahora estoy migrando a XC8 y XC16
Es cierto esa relacion amor-odio con CCS xD jajaj :D :D
-
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.
-
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
-
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.
-
: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
-
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.
-
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
-
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:
-
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.
-
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.
-
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?
-
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:
-
Me anoto tambien para ver si me convences Norberto de cambiarme al XC8 :D
-
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.
-
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.
-
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!
-
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.
-
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)
-
Noto el cambio, pero parece que no es tan grave... te comento lo que yo entiendo.... el compilador está reemplazando tu instrucción
por
lo cual está perfecto, ya que hace el cambio de banco -en este punto no entiendo porque repite la instrucción-. Y luego reemplaza
por
lo cual también estaría bien, porque pone a 1 el bit 1 del puerto.
¿Queda configurado como salida el puerto?
-
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
-
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
-
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 !
-
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??
-
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!
-
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.
-
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
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
-
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...
-
Hola,
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 !
-
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 ??
-
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
-
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 !
-
Hola,
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.
-
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
-
¿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.
-
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)
-
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.
-
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.
-
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.