Autor Tema: Problema con el debug de Proteus  (Leído 4841 veces)

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

Desconectado atani123

  • PIC10
  • *
  • Mensajes: 31
Problema con el debug de Proteus
« en: 21 de Junio de 2006, 09:51:56 »
Lo hago todo bien, compilo el codigo con MPLAB cargo en el Proteus el fichero.cod para el micro, le doy a start debugger y me sale.

Se lo que me esta diciendo el error, pero no se como solucionarlo. Alguien sabe como solucionar este problema. (Por cierto a la hora de simularlo funciona bien, solo es el debugar)

Gracias

SIMULATION LOG
==============
Design:   G:\Varios\ASM\IODigital\Proteus\IODigital.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author:   <NONE>
Created:  20/06/06
Modified: 21/06/06

Compiling source files...
Build completed OK.
Compiling netlist...
Linking netlist...
Partition analysis...

Simulating partition 1 [CFB961FC]...
Animation started sucessfully...
PROSPICE Release 6.7 SP0 (C) Labcenter Electronics 1993-2005.
SPICE Kernel Version 3f5. (C) Berkeley University ERL.

Reading netlist...
Reading SPICE models...
Loading library 'ANALOGD.SML'
Loading library 'APEX.SML'
Loading library 'BURRBROWN.SML'
Loading library 'ELANTEC.SML'
Loading library 'FAIRCHLD.SML'
Loading library 'INTERSIL.SML'
Loading library 'LINTEC.SML'
Loading library 'NATOA.SML'
Loading library 'SUPERTEX.SML'
Loading library 'TECCOR.SML'
Loading library 'TEX101.SML'
Loading library 'TEX301.SML'
Loading library 'TEX3_1.SML'
Loading library 'TEX401.SML'
Loading library 'TEX5_1.SML'
Loading library 'VALVES.SML'
Loading library 'ZETEX.SML'
Building circuit...
Instantiating SPICE models...
[U1] PIC16 model release 6.7 SP0 simulating PIC1684 device.
[U1] Loaded 64 bytes of persistent EEPROM data.
[U1] Loading COD file '..\IODigital.COD'
FATAL: [U1] Program or EEPROM data has invalid address [2000] for this device

Real Time Simulation failed to start

Real Time Simulation FAILED.


Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Problema con el debug de Proteus
« Respuesta #1 en: 22 de Junio de 2006, 07:49:49 »
Con la información que das no se puede sacar muchas conclusiones, pero parece que estas intentando escribir en una posición de memoria que no es válida. Esto ocurre cuando el pic que estas utilizando en la simulación no coincide con el  utilizado en la compilación. Es una suposición ya que no se que elemento es el U1 que hace referencia el error.

Un saludo.

Citar
FATAL: [U1] Program or EEPROM data has invalid address [2000] for this device

* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado atani123

  • PIC10
  • *
  • Mensajes: 31
Re: Problema con el debug de Proteus
« Respuesta #2 en: 22 de Junio de 2006, 11:57:27 »
No es nada del otro mundo. Esta compilado para 16f84a y en el proteus el u1 tambien es un 16f84a. He podido ver que lo unico que se escribe por encima de la posicion 0x2000  es en la 0x2007 y precisamente es la configuracion del pic  __CONFIG _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC.
La pone automaticamente el MPLAB o yo no se cambiarla.

A ver si alguien me puede echar algo de luz.
O si es posible alguien puede pasarme un ejemplo ASM (16f84a) con su correspondiente DSN que funcione en debug para poder echarle un ojo.


Gracias

Desconectado fjalex

  • PIC18
  • ****
  • Mensajes: 405
    • Proteus - Hubor
Re: Problema con el debug de Proteus
« Respuesta #3 en: 22 de Junio de 2006, 16:46:33 »
Estimado atani123:

Voy a dar unos palos de ciego.

Yo no he usado nunca el 16f84a, pero sí he usado el 18f250 con mplab-c18 y tuve problemas parecidos. Cuando miraba el fichero de mapeado (*.map) que devuelve el compilador, me fijé que escribía en posiciones de memoria que no correspondían con las que se señalaban para mi micro en la información de proteus y daba errores al simular.

Yendo a las opciones de construcción del proyecto (build options) y modificando los parámetros referentes a modelo de memoria, modelo de datos y modelo de pila al final conseguí que funcionara. Pero estos datos se refieren al mplab-c18 y no sé si tu estás usando c o programas en ensamblador.

En Proteus, si pinchas con el ratón en el micro y abres la ventana de edición del componente, verás que existe una propiedad avanzada que se llama 'dump model configuration'. Márcala con un yes. Con ello al comenzar la simulación en la ventana 'simulation log' te escribirá un resumen de los valores que utiliza para simular el micro. Ahí podrás ver el tamaño de memoria de código y de datos y comprobar si la dirección que te dá error entra dentro de ese márgen o está fuera de él.

En fin, que entre el mapeado y el volcado de modelo de configuración, tendrás que encontrar el problema.

De todas formas si enlazas el proyecto de pic y el diseño de proteus, podríamos intentar echarle un vistazo.

No sé si te aclaro algo o te lío más.  :? En fin, recibe un saludo.


 

anything