Problema de mapeo de memoria ram en Proteus PIC 16F1519

Bueno, acá va mi consulta, que es relativamente simple, estoy programando un PIC con CCS y simulo con Proteus, y tengo varios vectores de 8 y 16bits, el problema es que como no caben en un solo banco de 80 Bytes CCS utiliza más de un banco (esto lo se revisando el mapeo de registros en "Symbol Map" en CCS), los divide!, pero Proteus no! los coloca todos consecutivos en la memoria ram, ocupando parte de la Ram Común e incluzo zona de registros, algunos vectores que son pequeños, como los mapea al final del bloque de 80Bytes se pasan a la ram común, ¿algún truco de configuración en proteus? acabo de instalar Proteus 8.6 SP2 por las dudas (tenía la 8.1) pero sigue exactamente igual.... ...
 
Última edición:

D@rkbytes

Moderador
Eso es un aspecto que no se puede modificar en Proteus.
Desde sus primeras versiones siempre ha mostrado las variables en una sola lista.
Lo que puedes hacer para separar los bloques, es agregarlos al Watch Window.
Add To Watch Window.jpg

Ya con eso los puedes observar en Watch Window...
Watch Window.jpg
Y aunque de todos modos será una lista única, podrás separar las variables que requieras.
 
Eso es un aspecto que no se puede modificar en Proteus.
Desde sus primeras versiones siempre ha mostrado las variables en una sola lista.
Lo que puedes hacer para separar los bloques, es agregarlos al Watch Window.

Ya con eso los puedes observar en Watch Window...
Y aunque de todos modos será una lista única, podrás separar las variables que requieras.

Mil Gracias!!! si, anoche mientras dormía se me ocurrió que en realidad es un problema de cómo lo muestra Proteus, y no quiere decir que funcione mal la simulación, hace un instante lo comprobé, proteus muestra lo vectores con posiciones de memoria que son consecutivas (independientemente de si CCS lo organizo en varios bancos), el programa anda bién, y las variables se modifican en las posiciones de memorias correctas que asigno CCS, aunque proteus muestra en esas posiciones del vector otras direcciones de memoria, la verdad que en ese sentido me quedo más tranquilo.... aunque no he podido agregar las variables al Watch Window, en realidad cuando selecciono una variable y le pongo Add to Watch Window no pasa nada, no me abre el Watch Window.
 
Última edición por un moderador:

D@rkbytes

Moderador
Aclaro un poco más este aspecto de depuración.
En proteus únicamente se puede tener acceso al modo de depuración cuando se carga el archivo .cof y se presiona el botón de pausa "||"
Desde ese momento ya se habilitan otras opciones del menú (Debug)
Aunque la simulación no sea ejecutada, al presionar "Pause" se dan las opciones de depuración.
Eso da la posibilidad de establecer puntos de ruptura (Breakpoints) en el programa antes de ejecutarlo.
Eso es muy común en todos los debuggers, ya que siempre es primordial establecer un breakpoint sobre cierta condición, rutina, evento o llamada.
Ya después ejecutamos, para que el punto de ruptura establecido nos ponga de narices frente a lo que buscamos.
(Arte del Cracking obviamente y sin profundizar en ello.) ;)
 
Arriba