Autor Tema: Problema C30 microchip  (Leído 1749 veces)

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

Desconectado superprp

  • PIC16
  • ***
  • Mensajes: 137
Problema C30 microchip
« en: 25 de Noviembre de 2008, 14:37:08 »
Buenas,

No se si alguien ha programdo DSPs con el C30 en concreto estoy con el 30F4013, aunque en este caso es por el compilador. Os comento mi problema:

Si programo todo en un archivo .c único va perfecto, pero si meto el código en varios archivos .c y varios .h éste no me da fallos al compilar (porque está todo correcto) PERO sin embargo no me genera el código en asm, solo el del principal. ¿a que se debe ésto? no se si alguien se habrá encontrado con éste problema pero no me deja hacer programación modular, ya que me genera un código en el disassembly listing que no tiene nada que ver con el código introducido en C. Además he probado con todo tipo de optimizaciones que te permite el C30. El compilador es comprado.

Desconectado Giovanny

  • PIC12
  • **
  • Mensajes: 97
    • Supercomponentes
Re: Problema C30 microchip
« Respuesta #1 en: 26 de Noviembre de 2008, 01:50:47 »
pregunta. para que quieres el .asm si lo estas haciendo en  C, ?

el compilador no genera ni .asm. ni .hex, por cada archivo que hace parte del proyecto.
solamente 1 .hex que llevara el nombre del archivo principal en el que se encuentra el main.

por otro lado y ya que nos cuentas que usas el dsPic 30F4013 comparto mi experiencia
con este micro..  es una lastima que tenga tantas fallas. varias erratas con muuchos erros
especialmente en el i2c , comparadores, pll, pwm, etc. algunas interrupciones..enrte otras
en definitiva  no lo recomiendo para nuevos diseños.
por ejemplo una falla que me hizo dar vueltas y vueltas.

salida_luz_1 = 1;
salida_luz_2 = 1;

no me funcionaba asi no mas, lueog de lidiar con muchas pruebas me funciono haciendo lo siguiente

salida_luz_1 = 1;
Nop();
salida_luz_2 =1;
Nop();

tramenda falla de los tiempos en el manejos del hardware.  con cualquier otro dspic a los que he portado este codigo
(sin  nops )me han funcionado de maravilla, pero no el 4013.

ya es hora que microchip saque el dspic30F4013A  con correcciones del caso.

nos cuentas los avances.
Saludos
        Saludos desde Colombia! Que hermoso país....

Desconectado superprp

  • PIC16
  • ***
  • Mensajes: 137
Re: Problema C30 microchip
« Respuesta #2 en: 26 de Noviembre de 2008, 06:46:21 »
Vale, ahí estamos de acuerdo. Tu introduces el código en C, y el cuando compila te compila por separado todos los .c que tengas en el proyecto, y en el linkado los une todos generandote un único .hex. Lo que sucede es que el internamente para compilar lo que hace es transformar las instrucciones de C en instrucciones asm. De hay los niveles de optimización de código que posee. En view -> disassembly listing puedes ver dicha transformación. En el caso en el que uso un único archivo lo realiza correctamente, cuando uso mas de un archivo éste no me genera el código correctamente.

Desconectado Giovanny

  • PIC12
  • **
  • Mensajes: 97
    • Supercomponentes
Re: Problema C30 microchip
« Respuesta #3 en: 27 de Noviembre de 2008, 04:09:22 »
ya lo probé con u proyecto de un solo .c y otro con muchos .c y .h incluidos,  de igual forma en ambos me genera el dissasembly list...


me puedes explicar como queda el codigo generado correctamente, y como incorrectamente?
como sabes  cual esta bien ?
        Saludos desde Colombia! Que hermoso país....


 

anything