Autor Tema: Memoria de programa insuficiente en mi 16f876 ,comor???  (Leído 3223 veces)

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

aceace

  • Visitante
Memoria de programa insuficiente en mi 16f876 ,comor???
« en: 23 de Abril de 2004, 17:52:00 »
Tengo un serio problemilla, al programar no me llega al 25% utilizado de la rom interna de programa y me dice que un segmento o el programa es demasiado largo, he mirao en los archivos q genera al compilar y no pasa al siguiente bloque de memoria interna de programa, porq parece q la cadena de codigo es muy extensa y le hace imposible el cambio de banco.
Q se supone q tengo q hacer??? habra alguna instruccion especifica para ello?

PD:uso de compilador de pcwh (mu weno por cierto)
gracias

Desconectado Juanse_

  • PIC10
  • *
  • Mensajes: 39
RE: Memoria de programa insuficiente en mi 16f876 ,comor???
« Respuesta #1 en: 08 de Agosto de 2004, 14:56:00 »
Vas a tener que dividir tus funciones y ponerlas en los distintos bancos. Mmm, creo que "org" es la instrucciôn que necesitâs, no sê cuâl serâ el equivalente en el lenguaje que estâs usando.

Vas a tener que cuidadosamente elegir las funciones que agrupas en cada banco porque saltar de uno a otro, si bien no es complicado, es tedioso.

Se supone que tu compilador deberîa estar manejando la paginaciôn, probâ acortar las funciones y fijate si el compilador las distribuye correctamente.

Suerte

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
RE: Memoria de programa insuficiente en mi 16f876 ,comor???
« Respuesta #2 en: 08 de Agosto de 2004, 15:48:00 »
Hola

Creo que es un problema que brindan los PIC de 12 y 14 bits, y es que el codigo tipo DATA, y las cadenas, no pueden sobrepasar la pagina de la memoria.

La mejor alternativa es... usar PICs de 16 bits... en estos olvidate de la instruccion ORG y toda la movida alrededor...

Desconectado Juanse_

  • PIC10
  • *
  • Mensajes: 39
RE: Memoria de programa insuficiente en mi 16f876 ,comor???
« Respuesta #3 en: 11 de Agosto de 2004, 17:03:00 »
Escrito originalmente por manex_1987
Hola

Creo que es un problema que brindan los PIC de 12 y 14 bits, y es que el codigo tipo DATA, y las cadenas, no pueden sobrepasar la pagina de la memoria.

La mejor alternativa es... usar PICs de 16 bits... en estos olvidate de la instruccion ORG y toda la movida alrededor...


Con todo respeto, no creo que esa sea la mejor soluciôn.
Es como decir que, por no tener bien ordenados los muebles, la casa te queda chica y por lo tanto vas a tener que comprar otra mas grande.

Perdôn por tan burda analogîa.

Desconectado manex_1987

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1127
RE: Memoria de programa insuficiente en mi 16f876 ,comor???
« Respuesta #4 en: 12 de Agosto de 2004, 05:43:00 »
Hola

Tienes toda la razon en eso, olvidate de mi ultimo parrafo, podria estar relacionado con alguna instruccion DATA ?

Desconectado Juanse_

  • PIC10
  • *
  • Mensajes: 39
RE: Memoria de programa insuficiente en mi 16f876 ,comor???
« Respuesta #5 en: 12 de Agosto de 2004, 17:17:00 »
No tengo idea con que puede estar relacionado, per es fâcil darse cuenta viendo como crece el PC, o si durante el debug tu programa salta a cualquier parte en vez de seguir la ejecuciôn en forma lôgica, entonces definitivamente es un problema de paginaciôn.

Se que mucha gente siente que debugguear es la parte fea de todo proyecto microcontrolado pero es tanto y mas importante que la codificaciôn en si. Gastâ un rato debuggeando el côdigo (asumo asm) y vas a ver que a la larga terminâs ahorrando tiempo.


--------
(Eso va principalmente para vos titân).