Autor Tema: definir variables accesibles desde cualquier banco  (Leído 3690 veces)

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

Desconectado sota_de_bastos

  • PIC10
  • *
  • Mensajes: 23
definir variables accesibles desde cualquier banco
« en: 11 de Octubre de 2007, 05:56:11 »
hola,

¿cómo se pueden definir variables (es decir reservar memoria para una variable: "variable equ 0x20") en una region de la memoria que pueda ser accesible desde cualquier banco?

en el codigo relocalizable se utiliza la instruccion "unbanked_shared" pero en codigo absoluto habrá que utilizar direcciones de memoria concretas, si es que se puede claro.

un saludo.  :-/

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: definir variables accesibles desde cualquier banco
« Respuesta #1 en: 11 de Octubre de 2007, 09:15:43 »
en el codigo relocalizable se utiliza la instruccion "unbanked_shared" pero en codigo absoluto habrá que utilizar direcciones de memoria concretas, si es que se puede claro.


¿Para qué pic?
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: definir variables accesibles desde cualquier banco
« Respuesta #2 en: 11 de Octubre de 2007, 13:58:03 »
Que tal sota_de_bastos,

Antes que nada bienvenido al foro y aprovechando te invito a que pases al leer las reglas del foro, pero si ya lo hiciste felicidades.

Con respecto a  tu pregunta, es necesario como te indica nuestro companiero forero maunix, que nos digas que micro estas usando para asi poder darte la mejor respuesta.

Te puedo adelantar por ejemplo que los microcontroladores de la serie 16, es decir los PIC16FXXX, tienen un campo de 16 bytes para declarar variables comunes y estas pueds ser accesadas desde cualqueir banco. Este campo de 16 bytes cominza en la direccion 70h de la RAM
asi que no importa desde donde la acceses, asi si tu declaras una variable que se llame VAR y la asignas a la direccion 70h o superior, esta la podras accesar desde cualqueir banco.

Saludos y espero haber ayudado.

Elreypic.

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: definir variables accesibles desde cualquier banco
« Respuesta #3 en: 12 de Octubre de 2007, 07:52:57 »
Te puedo adelantar por ejemplo que los microcontroladores de la serie 16, es decir los PIC16FXXX, tienen un campo de 16 bytes para declarar variables comunes y estas pueds ser accesadas desde cualqueir banco. Este campo de 16 bytes cominza en la direccion 70h de la RAM

En realidad solo algunnos de la gama de los 16F tienen esa posibilidad y no cualquiera, por eso le pregunté para qué pic.  8)

Saludos
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado sota_de_bastos

  • PIC10
  • *
  • Mensajes: 23
Re: definir variables accesibles desde cualquier banco
« Respuesta #4 en: 16 de Octubre de 2007, 03:37:00 »
pues el pic es el 16f873a, y no tiene registros compartidos. Ya lo he preguntado en un foro de microchip y todavía estoy tratando de averiguar qué le pasa al programa que no me compila en codigo relocatable. Voy a ver si me paso a este foro que en español me defiendo mejor que en inglés

un saludo.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: definir variables accesibles desde cualquier banco
« Respuesta #5 en: 16 de Octubre de 2007, 12:09:50 »
Que tal sota_de_bastos,

Pues no se entonces que es lo que estas buscando, pero ese microcontrolador, el PIC16F873A, por supuesto qeu tiene registros compartidos y estos comienzan en la direccion 70h de la RAM hasta la direccion 7Fh que son 16 registros que pueen sera accesados desde cualquier pagina. Es decir si tu acesas al registro 70h, es lo mismo que accesaras al registro F0h, al 170h o al 1F0. Esto es lo que se llama registros compartidos, asi que no se entonces que es lo que buscas?

En la pagina 19 del datasheet esta claramente el mapa de memoria donde se muestra esto.

Saludos.

Elreypic.

Desconectado sota_de_bastos

  • PIC10
  • *
  • Mensajes: 23
Re: definir variables accesibles desde cualquier banco
« Respuesta #6 en: 16 de Octubre de 2007, 13:41:09 »
pues esto es lo que tengo yo en el la hoja de datos del micro, y no me aparecen los registros compartidos en ningún sitio (hay dos mapas de memoria el correspondiente al pic16f873a es la de abajo)

saludos!

Desconectado LABmouse

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: definir variables accesibles desde cualquier banco
« Respuesta #7 en: 16 de Octubre de 2007, 14:15:34 »
Y no te puedes pasar a PIC18F?? En esos ya no tienen ese problema de los Bancos ni de Paginas.

SALUDOS!!

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: definir variables accesibles desde cualquier banco
« Respuesta #8 en: 17 de Octubre de 2007, 02:52:34 »
Hola sota_de_bastos, si bien el 16F873A tiene los bancos 0 y 1 accesibles desde los bancos 2 y 3 respectivamente, no tiene posiciones de RAM accesibles desde todos los bancos como el 16F876 o el 16F877

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado sota_de_bastos

  • PIC10
  • *
  • Mensajes: 23
Re: definir variables accesibles desde cualquier banco
« Respuesta #9 en: 17 de Octubre de 2007, 14:33:06 »
ok, gracias, me conformaré con eso (ya que no me puedo cambiar de pic) Tengo otro problemilla con este pic y con el linker script
pero lo voy a poner en otro post ya que es otra cosa

saludos.