TODOPIC

Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: droky en 21 de Septiembre de 2009, 16:36:28

Título: Porciones de codigo no accesibles al debugger
Publicado por: droky en 21 de Septiembre de 2009, 16:36:28
Hola,
Últimamente estoy por desistir y pasar del Proteus de una vez para siempre.
Entre los bugs de las nuevas versiones y que no me deja acceder al código en plan Debug...
A ver si a alguno os ha pasado.
Un circuito, su firmware para el PIC ( me ha pasado con varios modelos diferentes), alta ocupación de ROM en el PIC.
El circuito en "el mundo real" funciona, pero en el ISIS lo hace a medias... justo hasta que llega a las porciones de codigo "no accesibles".
Lo curioso es que si añado alguna función más o quito y recompilo, algunas de las posiciones no accesibles, se vuelven accesibles y otras que lo eran ya no lo son.
Cuando pauso la simulación para ver la ventana de variables o poner un breakpoint en el código, éste no es accesible. Desaparecen los números que indican las posiciones de memoria . Así:

(http://www.radikaldesig.com/imgs/foros/isis.jpg)

Y no puedo seguir el programa pues al llegar ahí entra en un bucle sin retorno.
¿A alguno os ha pasado?
¿Será por usar casi el 90% de ROM?
El ordenador es potente, de hace un mes y 4Gb de RAM, así que lo descarto.

Y otra cosa que me pasa con el ISIS es que las variables tipo boolean/short no son accesibles a la ventana de inspección.... :x

¿Alguna sugerencia?
Gracias,
Salu2
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: AKENAFAB en 21 de Septiembre de 2009, 19:41:37

Me pasa tambien y me ha detenido bastante tiempo,asì que lo pruebo fisicamente y funciona perfecto.

Ya no me fio tanto del proteus , a veces deja mucho que desear y otras se comporta rebien.

Programas en varios pic16F , sale de la simulacion un error en DLL algo asi relacionada al pic.


Saludos!
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: droky en 25 de Septiembre de 2009, 02:35:07
Hola,
Me respondo a mi mismo.
He probado varias veriones de ISIS, hasta una 7.6 portable y me pasa lo mismo en todas, así que he encontrado una medio solución.
En este caso la simulación era con un PIC 12F683, así que lo he sustituido en el circuito por un 16F88 con más ROM, más RAM y haciendo unas modificaciones en el código, al compilarlo y cargarlo en ISIS las rutinas que eran inaccesibles en el 12F, se han vuelto accesibles.
Finalmente he podido debuggear mi programa, encontrar el error que buscaba y una vez solucionado, volver a portar el código al 12F funcionando a la primera.
Un engorro, pero una solución a medias.

Salu2
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: MLO__ en 25 de Septiembre de 2009, 12:25:55
Hola.

A mi también me ha sucedido, pero con las familias 10, 12 y 16, nunca con la 18. Lo que he visto es que el código que corresponde a las interrupciones siempre está, por lo que se usar algún  Timer para verificar el estado de las variables.

Saludos
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: AKENAFAB en 25 de Septiembre de 2009, 13:36:28
A mi me ha pasado con los 16F y 18F.
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: PalitroqueZ en 25 de Septiembre de 2009, 16:33:19
igual me ha ocurrido y no recuerdo cuál es el problema, la solución que aplico, es borrar todos los archivos, menos el .c y el .dns, volver a enlazar y compilar.

pd: no es recomendable usar nombres con espacio en los directorios, usar _ o -

Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: Tavo en 12 de Mayo de 2015, 13:29:10
igual me ha ocurrido y no recuerdo cuál es el problema, la solución que aplico, es borrar todos los archivos, menos el .c y el .dns, volver a enlazar y compilar.

pd: no es recomendable usar nombres con espacio en los directorios, usar _ o -



Hola PalitroqueZ
Tengo el mismo problema y no lo pude solucionar borrando todos los archivos como decís.
Tengo un circuito con 3 PICs 16F876A y lo que noté que el problema lo tengo en un solo PIC que tiene alrededor de 600 líneas de código (incluído comentarios). Será es el problema ?
Gracias.
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: juaperser1 en 12 de Mayo de 2015, 15:07:41
Citar
Hola PalitroqueZ
Tengo el mismo problema y no lo pude solucionar borrando todos los archivos como decís.
Tengo un circuito con 3 PICs 16F876A y lo que noté que el problema lo tengo en un solo PIC que tiene alrededor de 600 líneas de código (incluído comentarios). Será es el problema ?
Gracias

Hola Tavo, estas usando MPLAB X con XC8 verdad? si es asi entra en la configuración del proyecto del que estes trabajando (propiedades) y ve a XC8-gcc,  (no recuerdo si era exactamente asi, en XC32 es XC32-gcc)

en la pestaña desplegable de arriba de la ventana, aparece:
-general
-optimizacion
-preprocesing

entra en optimizacion y marca el nivel 0.

ahora ya podras debuguear en todas las lineas, el motivo es, que al activar la optimizacion 1 o mas (la version gratuita llega hasta la 1) optimiza el codigo borrando lineas repetitivas, por lo tanto en los bucles y algunas condiciones no podras acceder en debug.

un saludo y espero que te sirva.
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: Tavo en 12 de Mayo de 2015, 15:18:20
Citar
Hola PalitroqueZ
Tengo el mismo problema y no lo pude solucionar borrando todos los archivos como decís.
Tengo un circuito con 3 PICs 16F876A y lo que noté que el problema lo tengo en un solo PIC que tiene alrededor de 600 líneas de código (incluído comentarios). Será es el problema ?
Gracias

Hola Tavo, estas usando MPLAB X con XC8 verdad? si es asi entra en la configuración del proyecto del que estes trabajando (propiedades) y ve a XC8-gcc,  (no recuerdo si era exactamente asi, en XC32 es XC32-gcc)

en la pestaña desplegable de arriba de la ventana, aparece:
-general
-optimizacion
-preprocesing

entra en optimizacion y marca el nivel 0.

ahora ya podras debuguear en todas las lineas, el motivo es, que al activar la optimizacion 1 o mas (la version gratuita llega hasta la 1) optimiza el codigo borrando lineas repetitivas, por lo tanto en los bucles y algunas condiciones no podras acceder en debug.

un saludo y espero que te sirva.

Hola juaperser1.
No, estoy usando CSS con ISIS 7.7 SP2 (Build 9089).
Gracias igual.
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: juaperser1 en 12 de Mayo de 2015, 15:29:04
Citar
Hola juaperser1.
No, estoy usando CSS con ISIS 7.7 SP2 (Build 9089).
Gracias igual

Perdona, no me he dado cuenta del subforo  :oops: :oops:
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: PalitroqueZ en 14 de Mayo de 2015, 20:27:16
igual me ha ocurrido y no recuerdo cuál es el problema, la solución que aplico, es borrar todos los archivos, menos el .c y el .dns, volver a enlazar y compilar.

pd: no es recomendable usar nombres con espacio en los directorios, usar _ o -



Hola PalitroqueZ
Tengo el mismo problema y no lo pude solucionar borrando todos los archivos como decís.
Tengo un circuito con 3 PICs 16F876A y lo que noté que el problema lo tengo en un solo PIC que tiene alrededor de 600 líneas de código (incluído comentarios). Será es el problema ?
Gracias.

Tavo intenta compilar el .c desde el proteus.
Título: Re: Porciones de codigo no accesibles al debugger
Publicado por: Tavo en 28 de Mayo de 2015, 12:03:47

Tavo intenta compilar el .c desde el proteus.

Gracias PalitroqueZ
No encuentro la forma de compilar un archivo .c
Me deja compilar sólo archivos .asm
Qué me está faltando o que estoy haciendo mal ?
Gracias por la ayuda.