Autor Tema: me sale out of rom en el compliador del programa  (Leído 1602 veces)

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

Desconectado hunt3rdojo

  • PIC10
  • *
  • Mensajes: 2
me sale out of rom en el compliador del programa
« en: 24 de Julio de 2006, 15:34:17 »
Holas tengo un problema con la compilacion, al compilar mi programa me sale un error q dice OUT OF ROM, tengo el presentimiento q me pase de la linea de comandos, pero es raro porque segun el pic q utilizo (PIC16F876A), su linea de comandos es de 8192, y apenas he llegado a las 2049 cosa que es mayor a la de una pagina (2048 lineas), alguien porfavor q me ayude en solucionar este problema, porque necesito insertar mas codigo... (=

................
hunt3rdojo

Desconectado Manofwar

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 156
Re: me sale out of rom en el compliador del programa
« Respuesta #1 en: 24 de Julio de 2006, 16:11:19 »
Si no me equivoco, no es necesario que te pases de líneas de programa, con que pongas un sólo byte más alla de la última dirección de programa posible tendrás ese error.

Por ejemplo, una tabla con 50 bytes y que esté ubicada a partir de la posición 8150.
Saludos desde Almería, España

Desconectado QIQE

  • PIC18
  • ****
  • Mensajes: 335
Re: me sale out of rom en el compliador del programa
« Respuesta #2 en: 24 de Julio de 2006, 17:31:25 »
Seguramente te has quedado sin espacio en en el primer bloque de la flash estos micro estan divididos en dos partes, fijate si antes de que te saliese el error estabas proximo al 50%, si es asi puedes probar a usar la instrucción #separe, cuando defines la funcion, y luego tambien cuando uses esa funcion en la ayuda habla de ello, sin embargo un ejemplo serie...

#separate
void RTC_GRABAR(void); // Cuando defines la funcion


#separate
void ENVIA_EEPROM()   //Cuando escribes lo que hace esa funcion
   {

   int dato=0,terminado=0,AUX;
   direccion1=0;
   while (menu==9)
      {
      lcd_gotoxy(1,1);
      Printf(lcd_putc,"  Transfiriendo ");
     }}


La forma de utiliza la funcion es igual
Muchas gracias por vuestro tiempo.

Saludos desde valencia!!!

Desconectado hunt3rdojo

  • PIC10
  • *
  • Mensajes: 2
Re: me sale out of rom en el compliador del programa
« Respuesta #3 en: 24 de Julio de 2006, 17:39:54 »
Sip pero segun veo estan divididos en 4 paginas, una de ellas he llegado al maximo, puedes explicarme mejor como es eso de #separate? no logro entenderlo bien, en mi funcion principal es el problema pq segun el compilador me he pasado ahi en el numero de lineas de comandos.

..............
hunt3rdojo

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: me sale out of rom en el compliador del programa
« Respuesta #4 en: 31 de Julio de 2006, 13:50:30 »
Hola, a mi se me presento ese problema un dia, y precisamente ya no tenia mas espacio en la memoria del PIC. pero prueba esto, cuando uno esta usando pics tipo 16f, hay que agregar una directiva al compilador para indicarle que debe usar todas las paginas de la memoria del PIC. Esto es porque como solo tiene direccionamiento de 14 bits, el compilador puede emular para que sea de 16. es una de las cosas que mas me impresiono del compilador, ya que te quita todo ese problema de paginacion y demas.

#include       <16f876A.h>
#device        *=16 //Use 16 bit pointers (for 14 bit parts)