Autor Tema: Consulta sobre debuging  (Leído 7082 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jorge1949

  • PIC10
  • *
  • Mensajes: 14
Consulta sobre debuging
« en: 05 de Febrero de 2023, 16:26:17 »
Estimados amigos:
Estoy trabajando con algunos PICs y vengo haciendo malabares para ver la evolución de algunas variables de mis programas, la verdad es que me da bastante trabajo, y estoy seguro de que hay otros métodos que me lo permitan, en el caso de los Arduino tenemos el monitor serial que nos da la facilidad casi automáticamente, me gustaría tener alguna herramienta con el CCS C Compiler, si hay algún amigo que me oriente en este tema se lo voy a agradecer infinitamente.

Saludos
Jorge

Desconectado tsu_electronica

  • PIC18
  • ****
  • Mensajes: 274
Re:Consulta sobre debuging
« Respuesta #1 en: 05 de Febrero de 2023, 19:52:25 »
que pics son los que estas trabajando? por ejemplo el pic16f18877 en la tarjeta curiosity, puedes ver como dices con Arduino sin desconectar y nada solo abres el monitor serie y listo en ccs pues entiendo que se hace el programa y hay que quemarlo (cargarlo como en Arduino) con algún programador y luego pasarlo al circuito para conectarlo al puerto y ver, creo que es a lo que te refieres pero compártenos que estas haciendo y a que te refieres bien y dar alguna respuesta mas especifica.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Consulta sobre debuging
« Respuesta #2 en: 05 de Febrero de 2023, 22:27:01 »
que pics son los que estas trabajando? por ejemplo el pic16f18877 en la tarjeta curiosity, puedes ver como dices con Arduino sin desconectar y nada solo abres el monitor serie y listo en ccs pues entiendo que se hace el programa y hay que quemarlo (cargarlo como en Arduino) con algún programador y luego pasarlo al circuito para conectarlo al puerto y ver, creo que es a lo que te refieres pero compártenos que estas haciendo y a que te refieres bien y dar alguna respuesta mas especifica.

Me parece que quiere hacer algo similar con MPLAB, con el compilador XC y un programador/depurador como el PICKit3/4, es decir depurar el código con el hardware.

Pienso que CCS debe tener un dispositivo como mencioné, caso contrario, debería usar el código COF generado para usarlo en un simulador como el Proteus, obviamente la depuración es mucho mejor que la simulación.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Consulta sobre debuging
« Respuesta #3 en: 05 de Febrero de 2023, 22:32:30 »
Estimados amigos:
Estoy trabajando con algunos PICs y vengo haciendo malabares para ver la evolución de algunas variables de mis programas, la verdad es que me da bastante trabajo, y estoy seguro de que hay otros métodos que me lo permitan, en el caso de los Arduino tenemos el monitor serial que nos da la facilidad casi automáticamente, me gustaría tener alguna herramienta con el CCS C Compiler, si hay algún amigo que me oriente en este tema se lo voy a agradecer infinitamente.

Saludos
Jorge


Esto creo que estás preguntando:



Más info: http://www.ccsinfo.com/product_info.php?products_id=icd-u40
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado jorge1949

  • PIC10
  • *
  • Mensajes: 14
Re:Consulta sobre debuging
« Respuesta #4 en: 06 de Febrero de 2023, 23:02:28 »
Estimados amigos les agradezco sus comentarios, yo vengo trabajando con PICs como el PIC 16F873, el PIC 16F628A y otros los programas que hago los compilo con el CCS C Compiler y los quemo con el PICIT3, hasta ahora toto bien, pero en algunos casos necesito conocer la evolución de los valores de una variable durante la ejecución del programa, este mide el tiempo que tarda un evento externo conectado a uno o dos pines de entrada, y deseo poder conocer ese dato para fines de calibración, la manera como lo he venido haciendo es poniendo algunos pines como salida de leds y actúo sobre los leds, de esta manera veo el valor que tengo, el problema es que no es nada cómodo y consumo muchos pines solo para eso, si hay otro método podría usar un Pic más pequeño.
Imagino que podría enviar la información a través de I2C a un display como el 1602 u otro por el estilo, pero me falta el conocimiento.

Gracias por la ayuda
Jorge

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Consulta sobre debuging
« Respuesta #5 en: 06 de Febrero de 2023, 23:23:59 »
Estimados amigos les agradezco sus comentarios, yo vengo trabajando con PICs como el PIC 16F873, el PIC 16F628A y otros los programas que hago los compilo con el CCS C Compiler y los quemo con el PICIT3, hasta ahora toto bien, pero en algunos casos necesito conocer la evolución de los valores de una variable durante la ejecución del programa, este mide el tiempo que tarda un evento externo conectado a uno o dos pines de entrada, y deseo poder conocer ese dato para fines de calibración, la manera como lo he venido haciendo es poniendo algunos pines como salida de leds y actúo sobre los leds, de esta manera veo el valor que tengo, el problema es que no es nada cómodo y consumo muchos pines solo para eso, si hay otro método podría usar un Pic más pequeño.
Imagino que podría enviar la información a través de I2C a un display como el 1602 u otro por el estilo, pero me falta el conocimiento.

Gracias por la ayuda
Jorge

Hombre, lo que estás preguntando es como simular o depurar tu proyecto.

Si deseas simular, puedes usar Proteus para cargar el archivo en el microcontrolador virtual y ver como cambian tus tus variables, registros, etc, mira este video, si no comprendes:


Si deseas directamente depurar con tu hardware y CCS, necesitas el programador/depurador que te mencioné:


O cambiarte a MPLAB X y con el PICkit3, y también puedes depurar:

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado uZYNQ

  • PIC16
  • ***
  • Mensajes: 123
Re:Consulta sobre debuging
« Respuesta #6 en: 07 de Febrero de 2023, 09:15:46 »
 Saludos,
 
 Otra forma de ver tu ejecución es utilizar el puerto UART (serial) de tu PIC y conectarlo a la computadora. En este caso vas a requerir de adaptador TTL-USB que son muy baratos.(Imagen) Tengo entendido que en CCS es muy fácil la configuración del UART. Luego solo tienes que utilizar la función printf o similar para enviar la información que requieras observar. Y en el PC requieres de un programa de Terminal como TeraTERM, Termite, Hercules, Putty, etc para que lleguen los mensajes y puedas ver tus variables o mensajes.

 

* FT232RL.jpg
(53.19 kB, 400x400 - visto 368 veces)




Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:Consulta sobre debuging
« Respuesta #7 en: 07 de Febrero de 2023, 11:14:35 »
Saludos,
 
 Otra forma de ver tu ejecución es utilizar el puerto UART (serial) de tu PIC y conectarlo a la computadora. En este caso vas a requerir de adaptador TTL-USB que son muy baratos.(Imagen) Tengo entendido que en CCS es muy fácil la configuración del UART. Luego solo tienes que utilizar la función printf o similar para enviar la información que requieras observar. Y en el PC requieres de un programa de Terminal como TeraTERM, Termite, Hercules, Putty, etc para que lleguen los mensajes y puedas ver tus variables o mensajes.

  - Tienes que ingresar para ver archivos adjuntos -

Es una idea regular usar un UART para enviar información del contenido de los registros, variables, etc. Puede ser tan útil como dice el OP, de activar un led para conocer si el contador de programa "pasó" o ejecutó una parte de código. Puede funcionar en muchos casos.

Pero se debe tener en cuenta que es un proceso que se está asumiendo que va a funcionar bien, cosa que no necesariamente puede ser verdad, pueda en el código haga un error, tenga un bug, que bloquee o envíe información errónea.

Generalmente, la gran mayoría, programa el código de manera sincrónica (código de transmisión del UART) esto implica que introduces una latencia al sistema y dicho retardo puede ocultar información o enviar información errónea.

Procesos cuyas variables cambian de manera rápida, no pueden ser analizadas, ya que dependen de la transmisión serial, la cuál es un proceso lento con respecto a la velocidad del CPU y la sincronicidad antes mencionada.

La simulación es una mejor idea, no es perfecta, puede tener muchos errores o ciertas cosas no se comportan como la realidad, pero es mucho mejor que usar un UART para informar del estado del sistema.

La depuración de hardware es lo más parecido a "mirar" en tiempo real el contenido de registro y variables del sistema.

Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re:Consulta sobre debuging
« Respuesta #8 en: 07 de Febrero de 2023, 14:23:10 »
Saludos,
 
 Otra forma de ver tu ejecución es utilizar el puerto UART (serial) de tu PIC y conectarlo a la computadora. En este caso vas a requerir de adaptador TTL-USB que son muy baratos.(Imagen) Tengo entendido que en CCS es muy fácil la configuración del UART. Luego solo tienes que utilizar la función printf o similar para enviar la información que requieras observar. Y en el PC requieres de un programa de Terminal como TeraTERM, Termite, Hercules, Putty, etc para que lleguen los mensajes y puedas ver tus variables o mensajes.

  - Tienes que ingresar para ver archivos adjuntos -




Es una buena solucion y solo necesitas un "pin" del pic con un hiperterminal en tu pc .
yo lo uso muchisimo y precisamente el FT232 > usb  que es un torpedo a 721600 bps  con un  pic33EV ***** como  bootloader es una caña .
en tu caso a 9600bps podrias ver "no en tiempo real naturalmente" segun velocidad pero hacer stop's cuanto te inrerese y enviarlo al hiperterminal para ver su valor , sin leds ,  lcd ni na .




Desconectado jorge1949

  • PIC10
  • *
  • Mensajes: 14
Re:Consulta sobre debuging
« Respuesta #9 en: 07 de Febrero de 2023, 17:56:13 »
Gracias SISPIC:
Voy a adquirir la unidad de las que me recomiendas, parece una buena solución, si tuvieras un ejemplo de un código tentativo te lo agradecería.

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re:Consulta sobre debuging
« Respuesta #10 en: 08 de Febrero de 2023, 13:12:39 »
Código: C
  1. #use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
  2.  
  3. //y luego con
  4. etc .
  5. //puedes enviar valores de variables al hiperterminal del pc , formateadas o no .

mas info :
http://www.todopic.com.ar/foros/index.php?topic=27261.0