Autor Tema: Error de Proteus: "Cannot find source code at address 0x00000000"  (Leído 2706 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado bee

  • PIC10
  • *
  • Mensajes: 6
Error de Proteus: "Cannot find source code at address 0x00000000"
« en: 11 de Febrero de 2014, 02:07:36 »
      Buenas, estoy comenzando con MPLAB IDE y Proteus, cuando compilo un proyecto sencillo como Encender un Led, Proteus me da el siguiente error:
 
    "Proteus Cannot find source code at address 0x00000000"
    "This may be because the CPU has no source window, or because it is executing library or       
    runtime code for which no debug
    data is present"
 
He examinado el .hex y no comienza en 0x00000000, comienza en 0x0200, aqui esta una parte de el:

:020000040000fa
:080000000002040000000000f2
:020000040000fa
:100400000f8020000e7f22000e01880000000000f7
:100410000c000700602a20000100200011000700e6
:10042000000020000000e000020032000000020096
:100430000000000094020200000000000040da000a
:100440000000fe004440a900000020000000e00081
:100450000300320000002000a00188004440a800f2
:100460000000060091018800800078000000eb0089....
 
Y aqui una parte de la informacion compilacion:
 
Program Memory  [Origin = 0x200, Length = 0xa9fa]
section                    address   length (PC units)   length (bytes) (dec)
-------                    -------   -----------------   --------------------
.text                        0x200                0x94            0xde  (222)
.text                        0x294                0x12            0x1b  (27)
.dinit                       0x2a6                 0x2             0x3  (3)
                     Total program memory used (bytes):           0xfc  (252) <1%
Data Memory  [Origin = 0x800, Length = 0x2000]
section                    address      alignment gaps    total length  (dec)
-------                    -------      --------------    -------------------
                     Total data memory used (bytes):              0  (0)
Dynamic Memory Usage
region                     address                      maximum length  (dec)
------                     -------                      ---------------------
heap                             0                                   0  (0)
stack                        0x800                              0x2000  (8192)
                     Maximum dynamic memory (bytes):         0x2000  (8192)
 
 
¿Alguien tiene una idea para resolver este problema?
¿Hay alguna opcion de MPLAB IDE para compilar el hex a partir de 0x00000000?

De antemano gracias por sus repuestas.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Error de Proteus: "Cannot find source code at address 0x00000000"
« Respuesta #1 en: 12 de Febrero de 2014, 14:29:48 »
revisa que archivo estas cargando en el micro del proteus, si estas cargando uno diferente a .hex necesitas indicarle al proteus el archivo con el código fuente (.asm, .c etc)
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Juan-Pablo

  • PIC10
  • *
  • Mensajes: 15
Re: Error de Proteus: "Cannot find source code at address 0x00000000"
« Respuesta #2 en: 16 de Febrero de 2014, 00:17:57 »
Examine un programa que  funciona en proteus y tambien inicia desde 0x0200... que PIC y que compilador estas usando?

Desconectado bee

  • PIC10
  • *
  • Mensajes: 6
Re: Error de Proteus: "Cannot find source code at address 0x00000000"
« Respuesta #3 en: 18 de Febrero de 2014, 05:37:36 »
Examine un programa que  funciona en proteus y tambien inicia desde 0x0200... que PIC y que compilador estas usando?

Hola Juan Pablo, el PIC24FJ64GA002 y MPLABC30 C Compiler. Se me  ocurre que con una instruccion ORG o ORIGIN Puedo hace que el programa comience en 0x000 y no en 0x200. De todos modos aqui esta el codigo que estoy usando:

#include <p24FJ64GA002.h>

// ************************************************************************
// Configuration Bits
// ************************************************************************/
_CONFIG1 (JTAGEN_OFF & BKBUG_ON & ICS_PGx1 & FWDTEN_OFF)
// JTAG disabled
// Background debug on
// Communication Channel: PGC1/EMUC1 and PGD1/EMUD1
// Watchdog Timer disabled
_CONFIG2 (FNOSC_FRC)
// Select FRC Oscillator
// =============================================================
// int main (void)
// =============================================================
int main (void)
{
OSCTUN = 0; // Tune FRC oscillator, if FRC is used
RCONbits.SWDTEN = 0; // Disable Watch Dog Timer
// Make AN0 (RA0) as digital others as analog
AD1PCFG = 0b00000000000001;
TRISAbits.TRISA0 = 0; // Set RA0 as an output for LED
LATAbits.LATA0 = 1; // Turn on the LED
while(1); // Stay here for now
return (0);
}