Autor Tema: Cargar la EEPROM de un PIC en PROTEUS  (Leído 3322 veces)

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

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Cargar la EEPROM de un PIC en PROTEUS
« en: 21 de Julio de 2004, 10:42:00 »
Hola,

he estado simulando con el PIC16F84A unos programas para LCD con Proteus. Hice uno en el que se cargan los caracteres desde la EEPROM del PIC.

Cuando cargo un archivo .hex compilado por MPLAB en Proteus no hay problema. Si edito el archivo .hex en ICPROG o WINPIC y le cargo los datos de la EEPROM, Proteus ya no lo lee y me marca el siguiente error:

-----
SIMULATION LOG
==============
Design:   D:santiagoPICsprogramasprimer_lcdprimer_lcd_proteus.DSN
Doc. no.: <NONE>
Revision: <NONE>
Author:   <NONE>
Created:  18/07/04
Modified: 18/07/04

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

Simulating partition 1 [038BE3C4]...
Animation started sucessfully...
PROSPICE Release 6.1 SP2 (C) Labcenter Electronics 1993-2002.
SPICE Kernel Version 3f5. (C) Berkeley University ERL.

Reading netlist...
Net VDD taken as alias for VCC
Net VSS taken as alias for GND
Reading SPICE models...
Building circuit...
Instantiating SPICE models...
[U1] PIC16 model release 6.01.00 simulating PIC1684 device.
[U1] Loaded 64 bytes of persistent EEPROM data.
[U1] Loading HEX file "..segundo_lcdsegundo_lcd_icprog.hex".
FATAL: [U1] Program or EEPROM data has invalid address [2000] for this device

Real Time Simulation failed to start

Real Time Simulation FAILED.

----------------------

Cualquier .hex que no tenga datos en la EEPROM corre bien, pero si le cargo uno con datos manda ese mensaje.

¿Cómo le hago para poder cargar un hex que incluya datos de programa y eeprom del PIC16F84A en Proteus?

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
RE: Cargar la EEPROM de un PIC en PROTEUS
« Respuesta #1 en: 29 de Julio de 2004, 06:06:00 »
Bueno, ya encontré la forma de incluir los datos de la EEPROM en el archivo .hex sin que Proteus proteste.

Para esto hay que usar la directiva "de" en MPLAB de la siguiente forma:

org 2100   ;declaro datos EEPROM
      de "Santiago"
      de "prueba  "
      de "lcd"

Así MPLAB al generar el código HEX escribe en la dirección 2100 (correspondiente a 00 de la eeprom) la información que uno le dé, obviamente en ASCII.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Cargar la EEPROM de un PIC en PROTEUS
« Respuesta #2 en: 29 de Julio de 2004, 11:29:00 »
Con C de CCS sería así: #rom 0x2100={"Santiago"}

Desconectado Golden_Eagle

  • PIC16
  • ***
  • Mensajes: 135
RE: Cargar la EEPROM de un PIC en PROTEUS
« Respuesta #3 en: 31 de Julio de 2004, 19:19:00 »
si mi .hex contiene un bootloader, y simulo la descarga de un codigo nuevo en el pic.
el proteus actualizaria el .hex?


 

anything