TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: j_fernandez en 09 de Mayo de 2005, 09:33:00

Título: Error al compilar "OUT OF ROM"
Publicado por: j_fernandez en 09 de Mayo de 2005, 09:33:00
Hola de nuevo, estoy haciendo un proyecto con el pic 16F873 de repente ahora al compilar me dice "OUT OF ROM, A SEGMENT OR THE PROGRAM IS TOO LARGE @PRINTF_F_26"

Segun entiendo dice que el programa es demasiado largo, por lo que en la directiva del pic pongo que uso el 16F876 que tiene el doble de memoria y me sigue diciendo lo mismo.

¿Alguien sabe el pq del asunto?

Gracias y un saludo
Título: RE: Error al compilar "OUT OF ROM"
Publicado por: Modulay en 09 de Mayo de 2005, 10:35:00
Puede ser por varios motivos.
Si usas algún "ORG" en tu programa,puede que ese sea la raíz del problema.
También podriá ser por ubicación de tablas en la memoria de programa.
Postea el código a ver que tienes por ahí
Título: RE: Error al compilar "OUT OF ROM"
Publicado por: j_fernandez en 10 de Mayo de 2005, 01:20:00
Hola Modulay, gracias por contestarme.

Como decia en otro tema que venia al caso no se si puede ser que al usar i2c no utilice #ORG 0x1f00,1fff{} que segun un tema del foro es indispensable, el lo llama "bootloader". No se ni que es pero al decirme tu lo del ORG ... Podria ser esto?


Gracias de nuevo y un saludo
Título: RE: Error al compilar "OUT OF ROM"
Publicado por: Modulay en 10 de Mayo de 2005, 15:49:00
I2c es un protocolo de comunicación,mientras que un bootloader es un programa residente que se le pone al pic para programarlo por puerto serie y cuyo uso requiere la inclusión de sentencias ORG en el código.Nada tiene que ver una cosa con la otra.Yo tuve una vez un problema como el tuyo de "out of rom",y creo recordar que era debido al uso de sentencias ORG.
Pastea tu código que lo podamos ver si no va a ser difícil sacar el fallo.
Título: RE: Error al compilar "OUT OF ROM"
Publicado por: j_fernandez en 12 de Mayo de 2005, 02:55:00
Gracias por tu explicacion, ha sido muy aclarativa, la verdad es que habia visto lo de bootloader y no sabia a que se referia.

Por el momento parece que he resuelto el problema que te comentaba del error, al ver escrito "OUT OF ROM, A SEGMENT OR THE PROGRAM IS TOO LARGE @PRINTF_F_26", me dio por sacar del codigo los printf y me funcionó, fui añadiendo uno por uno a ver cual era el que me lo jodia y descubrí que era uno que le pedia mostrar un float que procedia de un int multiplicado por 0.0156.

Gracias por la ayuda y perdona las molestias.

Un saludo