Autor Tema: Porciones de codigo no accesibles al debugger  (Leído 6062 veces)

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

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Porciones de codigo no accesibles al debugger
« 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í:



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
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Porciones de codigo no accesibles al debugger
« Respuesta #1 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!

Desconectado droky

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 628
    • Diseños radikales libres
Re: Porciones de codigo no accesibles al debugger
« Respuesta #2 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
Yo... he visto cosas que vosotros no creeríais... atacar naves en llamas más allá de Orión, he visto rayos C brillar en la oscuridad cerca de la puerta Tannhäuser.
Todos esos momentos se perderán en el tiempo como lágrimas en la lluvia.
Es hora de morir.

Si me buscas en twitter, me tienes por @radikaldesig

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Porciones de codigo no accesibles al debugger
« Respuesta #3 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
El papel lo aguanta todo

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Porciones de codigo no accesibles al debugger
« Respuesta #4 en: 25 de Septiembre de 2009, 13:36:28 »
A mi me ha pasado con los 16F y 18F.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5470
    • Electrónica Didacta
Re: Porciones de codigo no accesibles al debugger
« Respuesta #5 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 -

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

Desconectado Tavo

  • PIC10
  • *
  • Mensajes: 22
Re: Porciones de codigo no accesibles al debugger
« Respuesta #6 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.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re: Porciones de codigo no accesibles al debugger
« Respuesta #7 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.
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado Tavo

  • PIC10
  • *
  • Mensajes: 22
Re: Porciones de codigo no accesibles al debugger
« Respuesta #8 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.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2976
Re: Porciones de codigo no accesibles al debugger
« Respuesta #9 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:
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5470
    • Electrónica Didacta
Re: Porciones de codigo no accesibles al debugger
« Respuesta #10 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.
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Tavo

  • PIC10
  • *
  • Mensajes: 22
Re: Porciones de codigo no accesibles al debugger
« Respuesta #11 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.


 

anything