TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: aceace 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
-
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
-
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...
-
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.
-
Hola
Tienes toda la razon en eso, olvidate de mi ultimo parrafo, podria estar relacionado con alguna instruccion DATA ?
-
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).