TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: ffro en 12 de Diciembre de 2012, 13:51:47
-
Hola a tod@s!!
Alguien conoce algún modo de programar breakpoints en los dspic sin necesidad de utilizar una herramienta externa tipo icd2,o por el estilo..??No me refiero a establecer breakpoints en simulación con el MPLAB, sino durante la ejecución de un programa en el propio dspic.He visto que algunos pic permiten establecer modos de funcionamiento en los que la cpu interrumpe cada vez que se ejecuta una instrucción, o tienen registros especiales para ello, lo cual permite jugar con algunas opciones . Pero en los dspic no encuentro nada similar.
Muchas gracias!!
Un saludo
-
Hola a tod@s!!
Alguien conoce algún modo de programar breakpoints en los dspic sin necesidad de utilizar una herramienta externa tipo icd2,o por el estilo..??No me refiero a establecer breakpoints en simulación con el MPLAB, sino durante la ejecución de un programa en el propio dspic.He visto que algunos pic permiten establecer modos de funcionamiento en los que la cpu interrumpe cada vez que se ejecuta una instrucción, o tienen registros especiales para ello, lo cual permite jugar con algunas opciones . Pero en los dspic no encuentro nada similar.
Muchas gracias!!
Un saludo
para que quieres hacer esto?? lo que puedes hacer es enviar algo por el puerto serial cuando pase por ese punto del programa que quieres.
también puedes colocar algo así como:
//El pic queda en este punto no ejecuta ninguna función adicional. Solo interrupciones.
while(_variable == 1);
//Continua el programa.
Y cuando recibas un valor por el uart especifico colocas el valor de: _variable = 0;
-
Muchas gracias por tu respuesta!
La idea era no tener que modificar mi código cada vez que quiero establecer un breakpoint, por eso buscaba algo del tipo registros de debug o similares que permitiesen comparar el contador de programa con un registro en el que almaceno la dirección de ruptura y generasen automáticamente una interrupción. Por lo que he visto es lo que hacen los icd más o menos, pero parece que no es posible sin ese hardware adicional, así que la opción que me comentas será la que utilice.
Gracias.
Saludos!