Autor Tema: Hasta los HUE*** de CCS!  (Leído 8930 veces)

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

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Hasta los HUE*** de CCS!
« Respuesta #30 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?
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Hasta los HUE*** de CCS!
« Respuesta #31 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
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Hasta los HUE*** de CCS!
« Respuesta #32 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
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Hasta los HUE*** de CCS!
« Respuesta #33 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 !

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Hasta los HUE*** de CCS!
« Respuesta #34 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??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Hasta los HUE*** de CCS!
« Respuesta #35 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!

« Última modificación: 27 de Febrero de 2013, 13:24:25 por BrunoF »
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re: Hasta los HUE*** de CCS!
« Respuesta #36 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.
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado sander

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 624
Re: Hasta los HUE*** de CCS!
« Respuesta #37 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

La electrónica es el arte de manipular señales eléctricas que transportan información
Jan Davidse

Visita mi blog
Visita mi canal de youtube

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Hasta los HUE*** de CCS!
« Respuesta #38 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...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Hasta los HUE*** de CCS!
« Respuesta #39 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 !

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: Hasta los HUE*** de CCS!
« Respuesta #40 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 ??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado jukinch

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 608
Re: Hasta los HUE*** de CCS!
« Respuesta #41 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
"Divide las dificultades que examinas en tantas partes como sea posible para su mejor solución." -René Descartes

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Hasta los HUE*** de CCS!
« Respuesta #42 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 !

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Hasta los HUE*** de CCS!
« Respuesta #43 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.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado thegame

  • PIC18
  • ****
  • Mensajes: 439
    • Mcu Tronics
Re: Hasta los HUE*** de CCS!
« Respuesta #44 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
Nunca se deja de aprender