TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Diego E. en 29 de Julio de 2015, 11:24:17

Título: PIC16F1938
Publicado por: Diego E. en 29 de Julio de 2015, 11:24:17
Hola Amigos, les pido colaboración con lo siguiente:

Estoy realizando una aplicación con el PIC16F1938 que según el compilador alcanza 7690 líneas pero al tratar de programar el PIC utilizando el PICkit 2 Clone, me dice que el programa es más grande que la capacidad del PIC "Warning: Hex File loaded is larger than device", según el datasheet este PIC es de 16.384

Gracias.
Título: Re: PIC16F1938
Publicado por: KILLERJC en 29 de Julio de 2015, 11:37:30
Citar
alcanza 7690 líneas

De donde sacas eso ?, Nunca vi un compilador que te pueda decir la cantidad exacta de lineas de codigo que podes meter.

En ASM puede ser, pero es imposible determinarlo ya que hay instrucciones que ocupan 2 palabras de memoria.
Y en C menos aun.

Lo que me parece raro es que pueda ser compilado. Y no de ningun warning o algo por el estilo en el compilador, siendo que ese modelo, es el que tiene mas memoria de la familia ( 16384 words )

Sino es un problema del device file y que no soporta ese PIC o esta mal configurado. (En el que el hex le dice de escribir en alguna parte que no es posible)
Título: Re: PIC16F1938
Publicado por: juaperser1 en 29 de Julio de 2015, 12:30:18
Yo tampoco he visto nunca donde te salen las lineas que caben :?

De todas formas, por ejemplo, en un micro de estas características si metes operaciones con decimales en tu programa se va a tragar mucha memoria, mira a ver si estas haciendo algo que se coma la memoria, si estas trabajando con los compiladores nuevos, es muy normal que te quedes sin memoria.

Un saludo
Título: Re: PIC16F1938
Publicado por: Diego E. en 29 de Julio de 2015, 13:04:05
KILLERJC, juaperser1, gracias por responder, quizá confundí un poco, referente a las 7690 líneas me refiero a las líneas gastadas por el programa, este dato aparece en el archivo.lst

Pero ya encontré el problema; resulta que tenía esta directiva #rom int 0xf00000={0b00000000} y debía haber tenido esta #rom  0x2100={0b00000000}

Saludos.
Título: Re: PIC16F1938
Publicado por: KILLERJC en 30 de Julio de 2015, 03:21:31
xD por eso habia puesto

Citar
Sino es un problema del device file y que no soporta ese PIC o esta mal configurado. (En el que el hex le dice de escribir en alguna parte que no es posible)

Aunque le erre por que el problema no era el device file, sino lo que se encontraba entre la silla y el teclado  :D
Título: Re: PIC16F1938
Publicado por: Diego E. en 30 de Julio de 2015, 08:59:16
SI, así era, todo comenzó cuando pasé un programa del 18F2553 al 16F1938, omití cambiar en las directivas #Rom el origen de la eeprom para este PIC.

Saludos.